diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml new file mode 100644 index 0000000000..4b8d729834 --- /dev/null +++ b/.github/boring-cyborg.yml @@ -0,0 +1,99 @@ +##### Labeler ########################################################################################################## +# Enable "labeler" for your PR that would add labels to PRs based on the paths that are modified in the PR. +# * matches anything but / +# ** matches anything including / + +labelPRBasedOnFilePath: + # Add 'Type: Map' to any changes to .dmm files + "Type: Map": + - '**.dmm' + + # Add 'Type: Map' to any changes to image files + "Type: Icon": + - '**.dmi' + - '**.png' + - '**.jpg' + + # Add 'Type: Sound' to any change to sound files + "Type: Sound": + - '**.ogg' + - '**.mp3' + - '**.wav' + + # Add 'Type: Fluff' to any change to *custom_items* + "Type: Fluff": + - '**custom_items**' + - '**loadout_fluff**' + + # Contains changes to system folders + "Type: .git or .github": + - '.github/**' + - '.git/**' + +##### Greetings ######################################################################################################## +# Comment to be posted to welcome users when they open their first PR +firstPRWelcomeComment: > + Thanks for making your first PR! Please make sure you've read the contribution guidelines as well. + +# Comment to be posted to congratulate user on their first merged PR +firstPRMergeComment: > + Awesome work, congrats on your first merged pull request! + +# Comment to be posted to on first time issues +firstIssueWelcomeComment: > + Thanks for opening your first issue here! Be sure to follow the issue template! + +###### IssueLink Adder ################################################################################################# +# Insert Issue (Jira/Github etc) link in PR description based on the Issue ID in PR title. +#insertIssueLinkInPrDescription: +# # specify the placeholder for the issue link that should be present in the description +# descriptionIssuePlaceholderRegexp: "^Issue link: (.*)$" +# matchers: +# # you can have several matches - for different types of issues +# # only the first matching entry is replaced +# jiraIssueMatch: +# # specify the regexp of issue id that you can find in the title of the PR +# # the match groups can be used to build the issue id (${1}, ${2}, etc.). +# titleIssueIdRegexp: \[(AIRFLOW-[0-9]{4})\] +# # the issue link to be added. ${1}, ${2} ... are replaced with the match groups from the +# # title match (remember to use quotes) +# descriptionIssueLink: "[${1}](https://issues.apache.org/jira/browse/${1}/)" +# docOnlyIssueMatch: +# titleIssueIdRegexp: \[(AIRFLOW-X{4})\] +# descriptionIssueLink: "`Document only change, no JIRA issue`" + +###### Title Validator ################################################################################################# +# Verifies if commit/PR titles match the regexp specified +#verifyTitles: +# # Regular expression that should be matched by titles of commits or PR +# titleRegexp: ^\[AIRFLOW-[0-9]{4}\].*$|^\[AIRFLOW-XXXX\].*$ +# # If set to true, it will always check the PR title (as opposed to the individual commits). +# alwaysUsePrTitle: true +# # If set to true, it will only check the commit in case there is a single commit. +# # In case of multiple commits it will check PR title. +# # This reflects the standard behaviour of Github that for `Squash & Merge` GitHub +# # uses the PR title rather than commit messages for the squashed commit ¯\_(ツ)_/¯ +# # For single-commit PRs it takes the squashed commit message from the commit as expected. +# # +# # If set to false it will check all commit messages. This is useful when you do not squash commits at merge. +# validateEitherPrOrSingleCommitTitle: true +# # The title the GitHub status should appear from. +# statusTitle: "Title Validator" +# # A custom message to be displayed when the title passes validation. +# successMessage: "Validation successful!" +# # A custom message to be displayed when the title fails validation. +# # Allows insertion of ${type} (commit/PR), ${title} (the title validated) and ${regex} (the titleRegexp above). +# failureMessage: "Wrong ${type} title: ${title}" + +###### PR/Branch Up-To-Date Checker #################################################################################### +# Check if the branch is up to date with master when certain files are modified +#checkUpToDate: +# # The default branch is "master", change the branch if you want to check against a different target branch +# targetBranch: master +# files: +# # File paths that you want to check for +# # In this example, it checks if the branch is up to date when alembic migrations are modified in the PR. +# # It helps avoid multiple heads in alembic migrations in a collaborative development project. +# - airflow/migrations/* +# - airflow/migrations/**/* +# - airflow/alembic.ini \ No newline at end of file diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 0000000000..7622dac94d --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,17 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 365 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 30 +# Issues with these labels will never be considered stale +#exemptLabels: +# - pinned +# - security +# Label to use when marking an issue as stale +staleLabel: 'Status: No Response' +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 3bd1c71a17..75d81c0645 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,12 @@ #pretending we're C because otherwise ruby will initialize, even with "language: dm". language: c -sudo: false env: global: + - BASENAME="vorestation" # $BASENAME.dmb, $BASENAME.dme, etc. - BYOND_MAJOR="513" - - BYOND_MINOR="1502" + - BYOND_MINOR="1513" - MACRO_COUNT=4 - matrix: - - TEST_DEFINE="MAP_TEST" TEST_FILE="code/_map_tests.dm" RUN="0" - - TEST_DEFINE="AWAY_MISSION_TEST" TEST_FILE="code/_away_mission_tests.dm" RUN="0" - - TEST_DEFINE="UNIT_TEST" TEST_FILE="code/_unit_tests.dm" RUN="1" cache: directories: @@ -24,29 +20,36 @@ addons: - libstdc++6:i386 - libssl-dev:i386 -before_script: - - chmod +x ./install-byond.sh - - ./install-byond.sh +before_install: + - chmod -R +x ./tools/travis install: - - pip install --user PyYaml -q - - pip install --user beautifulsoup4 -q + - ./tools/travis/install_byond.sh + +before_script: + - shopt -s globstar script: - - shopt -s globstar - - (! grep 'step_[xy]' maps/**/*.dmm) - - (! grep -Pn '( |\t|;|{)tag( ?)=' maps/**/*.dmm) - - (! find nano/templates/ -type f -exec md5sum {} + | sort | uniq -D -w 32 | grep nano) - - (! grep -En "<\s*span\s+class\s*=\s*('[^'>]+|[^'>]+')\s*>" **/*.dm) - - (! grep 'maps\\.*test.*' *.dme) - - awk -f tools/indentation.awk **/*.dm - - md5sum -c - <<< "88490b460c26947f5ec1ab1bb9fa9f17 *html/changelogs/example.yml" - - (num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting ${MACRO_COUNT} or less)"; [ $num -le ${MACRO_COUNT} ]) - - source $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}/byond/bin/byondsetup - - python tools/TagMatcher/tag-matcher.py ../.. - # Run our test - - cp config/example/* config/ - - echo "#define ${TEST_DEFINE} 1" > ${TEST_FILE} - - DreamMaker vorestation.dme - - if [ $RUN -eq 1 ]; then DreamDaemon vorestation.dmb -invisible -trusted -core 2>&1 | tee log.txt; fi - - if [ $RUN -eq 1 ]; then grep "All Unit Tests Passed" log.txt; fi + - ./tools/travis/compile_and_run.sh + +# Build-specific settings +jobs: + include: + - stage: "File Tests" #This is the odd man out, with specific installs and stuff. + name: "Validate Files" + install: #Need python for some of the tag matching stuff + - pip install --user PyYaml -q + - pip install --user beautifulsoup4 -q + script: ./tools/travis/validate_files.sh + addons: + apt: + packages: ~ # Don't need any packages for this + - stage: "Unit Tests" + env: TEST_DEFINE="UNIT_TEST" TEST_FILE="code/_unit_tests.dm" RUN="1" + name: "Compile normally (unit tests)" + - stage: "Isolation Tests" + env: TEST_DEFINE="MAP_TEST" TEST_FILE="code/_map_tests.dm" RUN="0" + name: "Compile POIs (no run)" + - env: TEST_DEFINE="AWAY_MISSION_TEST" TEST_FILE="code/_away_mission_tests.dm" RUN="0" + name: "Compile away missions (no run)" + diff --git a/LICENSE-CC-BY-NC-SA.txt b/LICENSE-CC-BY-NC-SA.txt new file mode 100644 index 0000000000..860915c5c0 --- /dev/null +++ b/LICENSE-CC-BY-NC-SA.txt @@ -0,0 +1,60 @@ +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(g) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. + "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike. + "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + to Distribute and Publicly Perform Adaptations. + +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights described in Section 4(e). + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(d), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(d), as requested. + You may Distribute or Publicly Perform an Adaptation only under: (i) the terms of this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-NonCommercial-ShareAlike 3.0 US) ("Applicable License"). You must include a copy of, or the URI, for Applicable License with every copy of each Adaptation You Distribute or Publicly Perform. You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License. You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. + You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in con-nection with the exchange of copyrighted works. + If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + + For the avoidance of doubt: + Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, + Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c). + Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING AND TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THIS EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/README.md b/README.md index 020708de80..31ee236f79 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,14 @@ If you wish to develop and host this codebase in a closed source manner you may See [here](https://www.gnu.org/licenses/why-affero-gpl.html) for more information. +Any files located in the +`vorestation/goon`, +`vorestation/icons/goonstation`, or +`vorestation/sound/goonstation` +directories, or any subdirectories of mentioned directories are licensed under the +Creative Commons 3.0 BY-NC-SA license +(https://creativecommons.org/licenses/by-nc-sa/3.0) + All assets including icons and sound are under a [CC BY-SA 3.0](http://creativecommons.org/licenses/by-sa/3.0/) license unless otherwise indicated. ### GETTING THE CODE diff --git a/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm b/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm index 391f10bc6e..1c308a0e0b 100644 --- a/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm +++ b/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm @@ -1,5 +1,4 @@ -#define MATERIAL_ALGAE "algae" -#define MATERIAL_CARBON "carbon" +#define MAT_ALGAE "algae" /obj/machinery/atmospherics/binary/algae_farm name = "algae oxygen generator" @@ -10,15 +9,15 @@ anchored = 1 density = 1 power_channel = EQUIP - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 100 // Minimal lights to keep algae alive active_power_usage = 5000 // Powerful grow lights to stimulate oxygen production //power_rating = 7500 //7500 W ~ 10 HP pipe_flags = PIPING_DEFAULT_LAYER_ONLY|PIPING_ONE_PER_TURF - var/list/stored_material = list(MATERIAL_ALGAE = 0, MATERIAL_CARBON = 0) + var/list/stored_material = list(MAT_ALGAE = 0, MAT_GRAPHITE = 0) // Capacity increases with matter bin quality - var/list/storage_capacity = list(MATERIAL_ALGAE = 10000, MATERIAL_CARBON = 10000) + var/list/storage_capacity = list(MAT_ALGAE = 10000, MAT_GRAPHITE = 10000) // Speed at which we convert CO2 to O2. Increases with manipulator quality var/moles_per_tick = 1 // Power required to convert one mole of CO2 to O2 (this is powering the grow lights). Improves with capacitors @@ -35,7 +34,7 @@ var/const/output_gas = "oxygen" /obj/machinery/atmospherics/binary/algae_farm/filled - stored_material = list(MATERIAL_ALGAE = 10000, MATERIAL_CARBON = 0) + stored_material = list(MAT_ALGAE = 10000, MAT_GRAPHITE = 0) /obj/machinery/atmospherics/binary/algae_farm/New() ..() @@ -58,10 +57,10 @@ ..() recent_moles_transferred = 0 - if(inoperable() || use_power < 2) + if(inoperable() || use_power < USE_POWER_ACTIVE) ui_error = null update_icon() - if(use_power == 1) + if(use_power == USE_POWER_IDLE) last_power_draw = idle_power_usage else last_power_draw = 0 @@ -70,17 +69,17 @@ last_power_draw = active_power_usage // STEP 1 - Check material resources - if(stored_material[MATERIAL_ALGAE] < algae_per_mole) - ui_error = "Insufficient [material_display_name(MATERIAL_ALGAE)] to process." + if(stored_material[MAT_ALGAE] < algae_per_mole) + ui_error = "Insufficient [material_display_name(MAT_ALGAE)] to process." update_icon() return - if(stored_material[MATERIAL_CARBON] + carbon_per_mole > storage_capacity[MATERIAL_CARBON]) - ui_error = "[material_display_name(MATERIAL_CARBON)] output storage is full." + if(stored_material[MAT_GRAPHITE] + carbon_per_mole > storage_capacity[MAT_GRAPHITE]) + ui_error = "[material_display_name(MAT_GRAPHITE)] output storage is full." update_icon() return var/moles_to_convert = min(moles_per_tick,\ - stored_material[MATERIAL_ALGAE] * algae_per_mole,\ - storage_capacity[MATERIAL_CARBON] - stored_material[MATERIAL_CARBON]) + stored_material[MAT_ALGAE] * algae_per_mole,\ + storage_capacity[MAT_GRAPHITE] - stored_material[MAT_GRAPHITE]) // STEP 2 - Take the CO2 out of the input! var/power_draw = scrub_gas(src, list(input_gas), air1, internal, moles_to_convert) @@ -101,8 +100,8 @@ var/converted_moles = min(co2_moles, moles_per_tick) use_power(converted_moles * power_per_mole) last_power_draw += converted_moles * power_per_mole - stored_material[MATERIAL_ALGAE] -= converted_moles * algae_per_mole - stored_material[MATERIAL_CARBON] += converted_moles * carbon_per_mole + stored_material[MAT_ALGAE] -= converted_moles * algae_per_mole + stored_material[MAT_GRAPHITE] += converted_moles * carbon_per_mole // STEP 5 - Output the converted oxygen. Fow now we output for free! internal.adjust_gas(input_gas, -converted_moles) @@ -114,7 +113,7 @@ update_icon() /obj/machinery/atmospherics/binary/algae_farm/update_icon() - if(inoperable() || !anchored || use_power < 2) + if(inoperable() || !anchored || use_power < USE_POWER_ACTIVE) icon_state = "algae-off" else if(recent_moles_transferred >= moles_per_tick) icon_state = "algae-full" @@ -215,13 +214,13 @@ // Queue management can be done even while busy if(href_list["activate"]) - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) update_icon() updateUsrDialog() return if(href_list["deactivate"]) - update_use_power(1) + update_use_power(USE_POWER_IDLE) update_icon() updateUsrDialog() return @@ -275,7 +274,7 @@ return 1 /material/algae - name = MATERIAL_ALGAE + name = MAT_ALGAE stack_type = /obj/item/stack/material/algae icon_colour = "#557722" shard_type = SHARD_STONE_PIECE @@ -288,29 +287,9 @@ name = "algae sheet" icon_state = "sheet-uranium" color = "#557722" - default_type = MATERIAL_ALGAE + default_type = MAT_ALGAE /obj/item/stack/material/algae/ten amount = 10 -/material/carbon - name = MATERIAL_CARBON - stack_type = /obj/item/stack/material/carbon - icon_colour = "#303030" - shard_type = SHARD_SPLINTER - weight = 5 - hardness = 20 - icon_base = "stone" - icon_reinf = "reinf_stone" - door_icon_base = "stone" - sheet_singular_name = "sheet" - sheet_plural_name = "sheets" - -/obj/item/stack/material/carbon - name = "carbon sheet" - icon_state = "sheet-metal" - color = "#303030" - default_type = MATERIAL_CARBON - -#undef MATERIAL_ALGAE -#undef MATERIAL_CARBON +#undef MAT_ALGAE diff --git a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm index 4698c613a9..cc280d97cc 100644 --- a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm +++ b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm @@ -1,7 +1,7 @@ /obj/machinery/atmospherics/binary dir = SOUTH initialize_directions = SOUTH|NORTH - use_power = 1 + use_power = USE_POWER_IDLE var/datum/gas_mixture/air1 var/datum/gas_mixture/air2 diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm index 41ba2cf705..2f276160fe 100644 --- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm @@ -20,7 +20,7 @@ level = 1 - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 7500 //7500 W ~ 10 HP @@ -214,10 +214,10 @@ if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command")) return 0 if(signal.data["power"]) - use_power = text2num(signal.data["power"]) + update_use_power(text2num(signal.data["power"])) if(signal.data["power_toggle"]) - use_power = !use_power + update_use_power(!use_power) if(signal.data["direction"]) pump_direction = text2num(signal.data["direction"]) diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index 92c26fb280..191e6291ea 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -12,7 +12,7 @@ name = "pressure regulator" desc = "A one-way air valve that can be used to regulate input or output pressure, and flow rate. Does not require power." - use_power = 0 + use_power = USE_POWER_OFF var/unlocked = 0 //If 0, then the valve is locked closed, otherwise it is open(-able, it's a one-way valve so it closes if gas would flow backwards). var/target_pressure = ONE_ATMOSPHERE diff --git a/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm b/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm index a7c8fd6d38..7ef1858b2f 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm @@ -237,10 +237,9 @@ var/kin_to_el_ratio = 0.1 //How much kinetic energy will be taken from turbine and converted into electricity var/obj/machinery/atmospherics/pipeturbine/turbine -/obj/machinery/power/turbinemotor/New() - ..() - spawn(1) - updateConnection() +/obj/machinery/power/turbinemotor/Initialize() + . = ..() + updateConnection() /obj/machinery/power/turbinemotor/proc/updateConnection() turbine = null diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index b4b8187f45..e241cc944b 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -26,7 +26,7 @@ Thus, the two variables affect pump operation are set in New(): //var/max_volume_transfer = 10000 - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 7500 //7500 W ~ 10 HP @@ -47,7 +47,7 @@ Thus, the two variables affect pump operation are set in New(): /obj/machinery/atmospherics/binary/pump/on icon_state = "map_on" - use_power = 1 + use_power = USE_POWER_IDLE /obj/machinery/atmospherics/binary/pump/update_icon() @@ -160,12 +160,12 @@ Thus, the two variables affect pump operation are set in New(): if(signal.data["power"]) if(text2num(signal.data["power"])) - use_power = 1 + update_use_power(USE_POWER_IDLE) else - use_power = 0 + update_use_power(USE_POWER_OFF) if("power_toggle" in signal.data) - use_power = !use_power + update_use_power(!use_power) if(signal.data["set_output_pressure"]) target_pressure = between( @@ -199,7 +199,7 @@ Thus, the two variables affect pump operation are set in New(): if(..()) return 1 if(href_list["power"]) - use_power = !use_power + update_use_power(!use_power) switch(href_list["set_press"]) if ("min") diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm index fa0aaf4bd0..8e82750588 100644 --- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm @@ -11,7 +11,7 @@ power_rating = 15000 //15000 W ~ 20 HP /obj/machinery/atmospherics/binary/pump/high_power/on - use_power = 1 + use_power = USE_POWER_IDLE icon_state = "map_on" /obj/machinery/atmospherics/binary/pump/high_power/update_icon() diff --git a/code/ATMOSPHERICS/components/omni_devices/filter.dm b/code/ATMOSPHERICS/components/omni_devices/filter.dm index 074c6c528d..9f0862d800 100644 --- a/code/ATMOSPHERICS/components/omni_devices/filter.dm +++ b/code/ATMOSPHERICS/components/omni_devices/filter.dm @@ -11,7 +11,7 @@ var/datum/omni_port/input var/datum/omni_port/output - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 7500 //7500 W ~ 10 HP @@ -161,13 +161,13 @@ switch(href_list["command"]) if("power") if(!configuring) - use_power = !use_power + update_use_power(!use_power) else - use_power = 0 + update_use_power(USE_POWER_OFF) if("configure") configuring = !configuring if(configuring) - use_power = 0 + update_use_power(USE_POWER_OFF) //only allows config changes when in configuring mode ~otherwise you'll get weird pressure stuff going on if(configuring && !use_power) diff --git a/code/ATMOSPHERICS/components/omni_devices/mixer.dm b/code/ATMOSPHERICS/components/omni_devices/mixer.dm index 47c78427f0..0210d09e69 100644 --- a/code/ATMOSPHERICS/components/omni_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/omni_devices/mixer.dm @@ -6,7 +6,7 @@ icon_state = "map_mixer" pipe_state = "omni_mixer" - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 3700 //3700 W ~ 5 HP @@ -178,13 +178,13 @@ switch(href_list["command"]) if("power") if(!configuring) - use_power = !use_power + update_use_power(!use_power) else - use_power = 0 + update_use_power(USE_POWER_OFF) if("configure") configuring = !configuring if(configuring) - use_power = 0 + update_use_power(USE_POWER_OFF) //only allows config changes when in configuring mode ~otherwise you'll get weird pressure stuff going on if(configuring && !use_power) diff --git a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm index 6f78a7d064..54acc3db99 100644 --- a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm +++ b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm @@ -5,7 +5,7 @@ name = "omni device" icon = 'icons/atmos/omni_devices_vr.dmi' //VOREStation Edit - New Icon icon_state = "base" - use_power = 1 + use_power = USE_POWER_IDLE initialize_directions = 0 construction_type = /obj/item/pipe/quaternary level = 1 @@ -67,7 +67,7 @@ last_flow_rate = 0 if(error_check()) - use_power = 0 + update_use_power(USE_POWER_OFF) if((stat & (NOPOWER|BROKEN)) || !use_power) return 0 diff --git a/code/ATMOSPHERICS/components/portables_connector.dm b/code/ATMOSPHERICS/components/portables_connector.dm index b30bc9b038..fd5033100b 100644 --- a/code/ATMOSPHERICS/components/portables_connector.dm +++ b/code/ATMOSPHERICS/components/portables_connector.dm @@ -18,7 +18,7 @@ var/datum/pipe_network/network var/on = 0 - use_power = 0 + use_power = USE_POWER_OFF level = 1 /obj/machinery/atmospherics/portables_connector/init_dir() diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index e900303e22..21e1a34d33 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -9,7 +9,7 @@ name = "Gas filter" desc = "Filters one type of gas from an input, and pushes it out the side." - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 7500 //This also doubles as a measure of how powerful the filter is, in Watts. 7500 W ~ 10 HP @@ -73,7 +73,7 @@ icon_state += use_power ? "on" : "off" else icon_state += "off" - use_power = 0 + update_use_power(USE_POWER_OFF) /obj/machinery/atmospherics/trinary/atmos_filter/process() ..() diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm index 8bf3d3477c..62b4b763b8 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm @@ -8,7 +8,7 @@ name = "Gas mixer" - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 3700 //This also doubles as a measure of how powerful the mixer is, in Watts. 3700 W ~ 5 HP @@ -35,7 +35,7 @@ icon_state += use_power ? "on" : "off" else icon_state += "off" - use_power = 0 + update_use_power(USE_POWER_OFF) /obj/machinery/atmospherics/trinary/mixer/New() ..() @@ -114,7 +114,7 @@ /obj/machinery/atmospherics/trinary/mixer/Topic(href,href_list) if(..()) return 1 if(href_list["power"]) - use_power = !use_power + update_use_power(!use_power) if(href_list["set_press"]) var/max_flow_rate = min(air1.volume, air2.volume) var/new_flow_rate = input(usr,"Enter new flow rate limit (0-[max_flow_rate]L/s)","Flow Rate Control",src.set_flow_rate) as num diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm index 394dbceeda..10d7403541 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm @@ -1,7 +1,7 @@ /obj/machinery/atmospherics/trinary dir = SOUTH initialize_directions = SOUTH|NORTH|WEST - use_power = 0 + use_power = USE_POWER_OFF pipe_flags = PIPING_DEFAULT_LAYER_ONLY|PIPING_ONE_PER_TURF var/mirrored = FALSE diff --git a/code/ATMOSPHERICS/components/unary/cold_sink.dm b/code/ATMOSPHERICS/components/unary/cold_sink.dm index d4bfb73311..f665ba987a 100644 --- a/code/ATMOSPHERICS/components/unary/cold_sink.dm +++ b/code/ATMOSPHERICS/components/unary/cold_sink.dm @@ -8,7 +8,7 @@ icon_state = "freezer_0" density = 1 anchored = 1 - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 5 // 5 Watts for thermostat related circuitry circuit = /obj/item/weapon/circuitboard/unary_atmos/cooler @@ -99,7 +99,7 @@ if(..()) return 1 if(href_list["toggleStatus"]) - use_power = !use_power + update_use_power(!use_power) update_icon() if(href_list["temp"]) var/amount = text2num(href_list["temp"]) diff --git a/code/ATMOSPHERICS/components/unary/heat_source.dm b/code/ATMOSPHERICS/components/unary/heat_source.dm index 9729e1d387..7fbe881891 100644 --- a/code/ATMOSPHERICS/components/unary/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary/heat_source.dm @@ -8,7 +8,7 @@ icon_state = "heater_0" density = 1 anchored = 1 - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 5 //5 Watts for thermostat related circuitry circuit = /obj/item/weapon/circuitboard/unary_atmos/heater @@ -119,7 +119,7 @@ if(..()) return 1 if(href_list["toggleStatus"]) - use_power = !use_power + update_use_power(!use_power) update_icon() if(href_list["temp"]) var/amount = text2num(href_list["temp"]) diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm index 5e62fe5802..3c342c3cdb 100644 --- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm @@ -10,7 +10,7 @@ name = "air injector" desc = "Passively injects air into its surroundings. Has a valve attached to it that can control flow rate." - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 15000 //15000 W ~ 20 HP @@ -132,10 +132,10 @@ return 0 if(signal.data["power"]) - use_power = text2num(signal.data["power"]) + update_use_power(text2num(signal.data["power"])) if(signal.data["power_toggle"]) - use_power = !use_power + update_use_power(!use_power) if(signal.data["inject"]) spawn inject() @@ -160,7 +160,7 @@ /obj/machinery/atmospherics/unary/outlet_injector/attack_hand(mob/user as mob) to_chat(user, "You toggle \the [src].") injecting = !injecting - use_power = injecting + update_use_power(injecting ? USE_POWER_IDLE : USE_POWER_OFF) update_icon() /obj/machinery/atmospherics/unary/outlet_injector/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index b4e1404ebd..92b5dc3328 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -14,7 +14,7 @@ name = "Air Vent" desc = "Has a valve and pump attached to it" - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 30000 //7500 W ~ 10 HP //VOREStation Edit - 30000 W @@ -50,18 +50,18 @@ var/datum/looping_sound/air_pump/soundloop //Yawn Edit /obj/machinery/atmospherics/unary/vent_pump/on - use_power = 1 + use_power = USE_POWER_IDLE icon_state = "map_vent_out" /obj/machinery/atmospherics/unary/vent_pump/siphon pump_direction = 0 /obj/machinery/atmospherics/unary/vent_pump/siphon/on - use_power = 1 + use_power = USE_POWER_IDLE icon_state = "map_vent_in" /obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos - use_power = 1 + use_power = USE_POWER_IDLE icon_state = "map_vent_in" external_pressure_bound = 0 external_pressure_bound_default = 0 @@ -189,7 +189,7 @@ return 1 if (!node) - use_power = 0 + update_use_power(USE_POWER_OFF) if(!can_pump()) return 0 @@ -311,10 +311,10 @@ pump_direction = 1 if(signal.data["power"] != null) - use_power = text2num(signal.data["power"]) + update_use_power(text2num(signal.data["power"])) if(signal.data["power_toggle"] != null) - use_power = !use_power + update_use_power(!use_power) if(signal.data["checks"] != null) if (signal.data["checks"] == "default") diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 34897b66ef..6e3f9ef042 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -5,7 +5,7 @@ name = "Air Scrubber" desc = "Has a valve and pump attached to it" - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 150 //internal circuitry, friction losses and stuff power_rating = 7500 //7500 W ~ 10 HP @@ -29,7 +29,7 @@ var/radio_filter_in /obj/machinery/atmospherics/unary/vent_scrubber/on - use_power = 1 + use_power = USE_POWER_IDLE icon_state = "map_scrubber_on" /obj/machinery/atmospherics/unary/vent_scrubber/New() @@ -135,7 +135,7 @@ return 1 if (!node) - use_power = 0 + update_use_power(USE_POWER_OFF) //broadcast_status() if(!use_power || (stat & (NOPOWER|BROKEN))) return 0 @@ -180,21 +180,21 @@ return 0 if(signal.data["power"] != null) - use_power = text2num(signal.data["power"]) + update_use_power(text2num(signal.data["power"])) if(signal.data["power_toggle"] != null) - use_power = !use_power + update_use_power(!use_power) if(signal.data["panic_siphon"]) //must be before if("scrubbing" thing panic = text2num(signal.data["panic_siphon"]) if(panic) - use_power = 1 + update_use_power(USE_POWER_IDLE) scrubbing = 0 else scrubbing = 1 if(signal.data["toggle_panic_siphon"] != null) panic = !panic if(panic) - use_power = 1 + update_use_power(USE_POWER_IDLE) scrubbing = 0 else scrubbing = 1 diff --git a/code/ATMOSPHERICS/pipes/pipe_base.dm b/code/ATMOSPHERICS/pipes/pipe_base.dm index d1bb92fac7..e627fcbb46 100644 --- a/code/ATMOSPHERICS/pipes/pipe_base.dm +++ b/code/ATMOSPHERICS/pipes/pipe_base.dm @@ -9,7 +9,7 @@ var/leaking = FALSE // Do not set directly, use set_leaking(TRUE/FALSE) layer = PIPES_LAYER - use_power = 0 + use_power = USE_POWER_OFF pipe_flags = 0 // Does not have PIPING_DEFAULT_LAYER_ONLY flag. diff --git a/code/__defines/_compile_options.dm b/code/__defines/_compile_options.dm index 10a6485c44..b68300eeb2 100644 --- a/code/__defines/_compile_options.dm +++ b/code/__defines/_compile_options.dm @@ -15,6 +15,9 @@ //#define ZASDBG // Uncomment to turn on super detailed ZAS debugging that probably won't even compile. #define MULTIZAS // Uncomment to turn on Multi-Z ZAS Support! +// Comment/Uncomment this to turn off/on shuttle code debugging logs +#define DEBUG_SHUTTLES + // If we are doing the map test build, do not include the main maps, only the submaps. #if MAP_TEST #define USING_MAP_DATUM /datum/map diff --git a/code/__defines/_lists.dm b/code/__defines/_lists.dm index 348aafccef..016d1a89d4 100644 --- a/code/__defines/_lists.dm +++ b/code/__defines/_lists.dm @@ -3,26 +3,41 @@ //Picks from the list, with some safeties, and returns the "default" arg if it fails #define DEFAULTPICK(L, default) ((istype(L, /list) && L:len) ? pick(L) : default) + // Ensures L is initailized after this point #define LAZYINITLIST(L) if (!L) L = list() + // Sets a L back to null iff it is empty #define UNSETEMPTY(L) if (L && !length(L)) L = null + // Removes I from list L, and sets I to null if it is now empty #define LAZYREMOVE(L, I) if(L) { L -= I; if(!length(L)) { L = null; } } -// Adds I to L, initalizing I if necessary + +// Adds I to L, initalizing L if necessary #define LAZYADD(L, I) if(!L) { L = list(); } L += I; + #define LAZYOR(L, I) if(!L) { L = list(); } L |= I; + +// Adds I to L, initalizing L if necessary, if I is not already in L +#define LAZYDISTINCTADD(L, I) if(!L) { L = list(); } L |= I; + #define LAZYFIND(L, V) L ? L.Find(V) : 0 + // Reads I from L safely - Works with both associative and traditional lists. #define LAZYACCESS(L, I) (L ? (isnum(I) ? (I > 0 && I <= length(L) ? L[I] : null) : L[I]) : null) + // Turns LAZYINITLIST(L) L[K] = V into ... for associated lists #define LAZYSET(L, K, V) if(!L) { L = list(); } L[K] = V; + // Reads the length of L, returning 0 if null #define LAZYLEN(L) length(L) + // Null-safe L.Cut() #define LAZYCLEARLIST(L) if(L) L.Cut() + // Reads L or an empty list if L is not a list. Note: Does NOT assign, L may be an expression. #define SANITIZE_LIST(L) ( islist(L) ? L : list() ) + #define reverseList(L) reverseRange(L.Copy()) // binary search sorted insert diff --git a/code/__defines/_planes+layers.dm b/code/__defines/_planes+layers.dm index 01d890b152..a8e3951a3e 100644 --- a/code/__defines/_planes+layers.dm +++ b/code/__defines/_planes+layers.dm @@ -22,7 +22,7 @@ What can I do with Planesmasters? Planesmasters can be used as a neater way to deal with client images or potentially to do some neat things How do planes work? - A plane can be any integer from -100 to 100. (If you want more, bug lummox.) + A plane can be any integer from -10000 to 10000. All planes above 0, the 'base plane', are visible even when your character cannot 'see' them, for example, the HUD. All planes below 0, the 'base plane', are only visible when a character can see them. @@ -40,8 +40,14 @@ What is the naming convention for planes or layers? */ + #define SPACE_PLANE -82 // Reserved for use in space/parallax -#define PARALLAX_PLANE -80 // Reserved for use in space/parallax +#define PARALLAX_PLANE -81 // Reserved for use in space/parallax +#define SKYBOX_PLANE -80 // Skybox parallax +#define DUST_PLANE -79 // For dust overlay on space turfs. Should be above skybox for parallax effect. + +#define PLANE_LOOKINGGLASS -78 // For the Looking Glass holodecks +#define PLANE_LOOKINGGLASS_IMG -77 // For the Looking Glass holodecks // OPENSPACE_PLANE reserves all planes between OPENSPACE_PLANE_START and OPENSPACE_PLANE_END inclusive #define OPENSPACE_PLANE -75 // /turf/simulated/open will use OPENSPACE_PLANE + z (Valid z's being 2 thru 17) @@ -50,7 +56,6 @@ What is the naming convention for planes or layers? #define OVER_OPENSPACE_PLANE -57 // Turf Planes -#define SPACE_PLANE -43 // Space turfs themselves #define PLATING_PLANE -44 // Plating #define DISPOSAL_LAYER 2.1 // Under objects, even when planeswapped #define PIPES_LAYER 2.2 // Under objects, even when planeswapped @@ -86,6 +91,9 @@ What is the naming convention for planes or layers? #define BELOW_MOB_LAYER 3.9 // Should be converted to plane swaps #define ABOVE_MOB_LAYER 4.1 // Should be converted to plane swaps +// Invisible things plane +#define CLOAKED_PLANE -15 + // Top plane (in the sense that it's the highest in 'the world' and not a UI element) #define ABOVE_PLANE -10 diff --git a/code/__defines/atmos.dm b/code/__defines/atmos.dm index 66348344f2..56055273e4 100644 --- a/code/__defines/atmos.dm +++ b/code/__defines/atmos.dm @@ -29,6 +29,7 @@ #define MINIMUM_AIR_TO_SUSPEND (MOLES_CELLSTANDARD * MINIMUM_AIR_RATIO_TO_SUSPEND) // Minimum amount of air that has to move before a group processing can be suspended #define MINIMUM_MOLES_DELTA_TO_MOVE (MOLES_CELLSTANDARD * MINIMUM_AIR_RATIO_TO_SUSPEND) // Either this must be active #define MINIMUM_TEMPERATURE_TO_MOVE (T20C + 100) // or this (or both, obviously) +#define MINIMUM_PRESSURE_DIFFERENCE_TO_SUSPEND (MINIMUM_AIR_TO_SUSPEND*R_IDEAL_GAS_EQUATION*T20C)/CELL_VOLUME // Minimum pressure difference between zones to suspend #define MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND 0.012 // Minimum temperature difference before group processing is suspended. #define MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND 4 diff --git a/code/__defines/color.dm b/code/__defines/color.dm index ba9efe20de..c1416a5e92 100644 --- a/code/__defines/color.dm +++ b/code/__defines/color.dm @@ -14,4 +14,7 @@ #define COLOR_ASSEMBLY_LBLUE "#5D99BE" #define COLOR_ASSEMBLY_BLUE "#38559E" #define COLOR_ASSEMBLY_PURPLE "#6F6192" -#define COLOR_ASSEMBLY_HOT_PINK "#FF69B4" \ No newline at end of file +#define COLOR_ASSEMBLY_HOT_PINK "#FF69B4" + +#define COLOR_ASTEROID_ROCK "#735555" +#define COLOR_GOLD "#ffcc33" diff --git a/code/__defines/construction.dm b/code/__defines/construction.dm index 19d1fcd649..0d6a780533 100644 --- a/code/__defines/construction.dm +++ b/code/__defines/construction.dm @@ -38,6 +38,7 @@ #define CONNECT_TYPE_SUPPLY 2 #define CONNECT_TYPE_SCRUBBER 4 #define CONNECT_TYPE_HE 8 +#define CONNECT_TYPE_FUEL 16 // TODO - Implement this! Its piping so better ask Leshana // We are based on the three named layers of supply, regular, and scrubber. #define PIPING_LAYER_SUPPLY 1 diff --git a/code/__defines/machinery.dm b/code/__defines/machinery.dm index 435b9e5726..d7fd87ae2c 100644 --- a/code/__defines/machinery.dm +++ b/code/__defines/machinery.dm @@ -11,6 +11,11 @@ var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called #define DOOR_CRUSH_DAMAGE 20 #define ALIEN_SELECT_AFK_BUFFER 1 // How many minutes that a person can be AFK before not being allowed to be an alien. +// Constants for machine's use_power +#define USE_POWER_OFF 0 // No continuous power use +#define USE_POWER_IDLE 1 // Machine is using power at its idle power level +#define USE_POWER_ACTIVE 2 // Machine is using power at its active power level + // Channel numbers for power. #define EQUIP 1 #define LIGHT 2 @@ -24,6 +29,11 @@ var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called #define MAINT 0x8 // Under maintenance. #define EMPED 0x10 // Temporary broken by EMP pulse. +// Remote control states +#define RCON_NO 1 +#define RCON_AUTO 2 +#define RCON_YES 3 + // Used by firelocks #define FIREDOOR_OPEN 1 #define FIREDOOR_CLOSED 2 diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index e508d4bc40..2026639812 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -2,7 +2,7 @@ // Turf-only flags. #define NOJAUNT 1 // This is used in literally one place, turf.dm, to block ethereal jaunt. -#define TRANSITIONEDGE 7 // Distance from edge to move to another z-level. +#define TRANSITIONEDGE 1 // Distance from edge to move to another z-level. // Invisibility constants. These should only be used for TRUE invisibility, AKA nothing living players touch #define INVISIBILITY_LIGHTING 20 @@ -78,8 +78,7 @@ #define COLOR_RED_LIGHT "#FF3333" #define COLOR_DEEP_SKY_BLUE "#00e1ff" - -#define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (istype(I, /client) ? I : null)) +#define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (isclient(I) ? I : null)) // Shuttles. @@ -105,6 +104,7 @@ #define FORCE_LAUNCH 2 #define WAIT_ARRIVE 3 #define WAIT_FINISH 4 +#define DO_AUTOPILOT 5 // Setting this much higher than 1024 could allow spammers to DOS the server easily. #define MAX_MESSAGE_LEN 2048 //VOREStation Edit - I'm not sure about "easily". It can be a little longer. @@ -129,6 +129,13 @@ //Area flags, possibly more to come #define RAD_SHIELDED 1 //shielded from radiation, clearly +// OnTopic return values +#define TOPIC_NOACTION 0 +#define TOPIC_HANDLED 1 +#define TOPIC_REFRESH 2 +#define TOPIC_UPDATE_PREVIEW 4 +#define TOPIC_REFRESH_UPDATE_PREVIEW (TOPIC_REFRESH|TOPIC_UPDATE_PREVIEW) + // Convoluted setup so defines can be supplied by Bay12 main server compile script. // Should still work fine for people jamming the icons into their repo. #ifndef CUSTOM_ITEM_OBJ @@ -177,6 +184,7 @@ #define MAT_SUPERMATTER "supermatter" #define MAT_METALHYDROGEN "mhydrogen" #define MAT_OSMIUM "osmium" +#define MAT_GRAPHITE "graphite" #define SHARD_SHARD "shard" #define SHARD_SHRAPNEL "shrapnel" @@ -237,17 +245,20 @@ #define ANTAG_SHARED "Shared" #define ANTAG_KNOWN "Known" -// Job groups -#define ROLE_COMMAND "command" -#define ROLE_SECURITY "security" -#define ROLE_ENGINEERING "engineering" -#define ROLE_MEDICAL "medical" -#define ROLE_RESEARCH "research" -#define ROLE_CARGO "cargo" -#define ROLE_CIVILIAN "civilian" -#define ROLE_SYNTHETIC "synthetic" -#define ROLE_UNKNOWN "unknown" -#define ROLE_EVERYONE "everyone" +// Departments. +#define DEPARTMENT_COMMAND "Command" +#define DEPARTMENT_SECURITY "Security" +#define DEPARTMENT_ENGINEERING "Engineering" +#define DEPARTMENT_MEDICAL "Medical" +#define DEPARTMENT_RESEARCH "Research" +#define DEPARTMENT_CARGO "Cargo" +#define DEPARTMENT_CIVILIAN "Civilian" +#define DEPARTMENT_PLANET "Exploration" //VOREStation Edit // I hate having this be here and not in a SC file. Hopefully someday the manifest can be rewritten to be map-agnostic. +#define DEPARTMENT_SYNTHETIC "Synthetic" + +// These are mostly for the department guessing code and event system. +#define DEPARTMENT_UNKNOWN "Unknown" +#define DEPARTMENT_EVERYONE "Everyone" // Canonical spellings of TSCs, so typos never have to happen again due to human error. #define TSC_NT "NanoTrasen" @@ -264,6 +275,7 @@ #define WORLD_ICON_SIZE 32 //Needed for the R-UST port #define PIXEL_MULTIPLIER WORLD_ICON_SIZE/32 //Needed for the R-UST port +#define MAX_CLIENT_VIEW 34 // Maximum effective value of client.view (According to DM references) // Maploader bounds indices #define MAP_MINX 1 diff --git a/code/__defines/misc_vr.dm b/code/__defines/misc_vr.dm index 23910771f0..e6a71a3614 100644 --- a/code/__defines/misc_vr.dm +++ b/code/__defines/misc_vr.dm @@ -14,6 +14,8 @@ #define VANTAG_KIDNAP "vantag_kidnap" #define VANTAG_KILL "vantag_kill" +#define DEPARTMENT_OFFDUTY "Off-Duty" + #define ANNOUNCER_NAME "Facility PA" //For custom species @@ -46,3 +48,11 @@ #define SHELTER_DEPLOY_BAD_TURFS "bad turfs" #define SHELTER_DEPLOY_BAD_AREA "bad area" #define SHELTER_DEPLOY_ANCHORED_OBJECTS "anchored objects" + +#define PTO_SECURITY "Security" +#define PTO_MEDICAL "Medical" +#define PTO_ENGINEERING "Engineering" +#define PTO_SCIENCE "Science" +#define PTO_EXPLORATION "Exploration" +#define PTO_CARGO "Cargo" +#define PTO_CIVILIAN "Civilian" \ No newline at end of file diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index cfbcfcd1dd..beeda302eb 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -396,7 +396,9 @@ #define VIS_BUILDMODE 22 -#define VIS_COUNT 22 //Must be highest number from above. +#define VIS_CLOAKED 23 + +#define VIS_COUNT 23 //Must be highest number from above. //Some mob icon layering defines #define BODY_LAYER -100 diff --git a/code/__defines/mobs_vr.dm b/code/__defines/mobs_vr.dm index 8121e7b2bd..dbd66d9062 100644 --- a/code/__defines/mobs_vr.dm +++ b/code/__defines/mobs_vr.dm @@ -1,13 +1,13 @@ #undef VIS_COUNT -#define VIS_CH_STATUS_R 23 -#define VIS_CH_HEALTH_VR 24 -#define VIS_CH_BACKUP 25 -#define VIS_CH_VANTAG 26 +#define VIS_CH_STATUS_R 24 +#define VIS_CH_HEALTH_VR 25 +#define VIS_CH_BACKUP 26 +#define VIS_CH_VANTAG 27 -#define VIS_AUGMENTED 27 +#define VIS_AUGMENTED 28 -#define VIS_COUNT 27 +#define VIS_COUNT 28 //Protean organs #define O_ORCH "orchestrator" @@ -29,9 +29,7 @@ #define SPECIES_VASILISSAN "Vasilissan" #define SPECIES_VULPKANIN "Vulpkanin" #define SPECIES_XENOCHIMERA "Xenochimera" -#define SPECIES_XENOHYBRID "Xenomorph Hybrid" -#define SPECIES_ZORREN_FLAT "Flatland Zorren" -#define SPECIES_ZORREN_HIGH "Highlander Zorren" +#define SPECIES_ZORREN_HIGH "Zorren" #define SPECIES_CUSTOM "Custom Species" //monkey species #define SPECIES_MONKEY_AKULA "Sobaka" @@ -41,3 +39,6 @@ //event species #define SPECIES_WEREBEAST "Werebeast" #define SPECIES_SHADEKIN "Shadekin" +//custom species base sprites +#define SPECIES_FENNEC "Fennec" +#define SPECIES_XENOHYBRID "Xenohybrid" diff --git a/code/__defines/overmap.dm b/code/__defines/overmap.dm new file mode 100644 index 0000000000..503675b44e --- /dev/null +++ b/code/__defines/overmap.dm @@ -0,0 +1,16 @@ + //How far from the edge of overmap zlevel could randomly placed objects spawn +#define OVERMAP_EDGE 2 + +#define SHIP_SIZE_TINY 1 +#define SHIP_SIZE_SMALL 2 +#define SHIP_SIZE_LARGE 3 + +//multipliers for max_speed to find 'slow' and 'fast' speeds for the ship +#define SHIP_SPEED_SLOW 1/(40 SECONDS) +#define SHIP_SPEED_FAST 3/(20 SECONDS)// 15 speed + +#define OVERMAP_WEAKNESS_NONE 0 +#define OVERMAP_WEAKNESS_FIRE 1 +#define OVERMAP_WEAKNESS_EMP 2 +#define OVERMAP_WEAKNESS_MINING 4 +#define OVERMAP_WEAKNESS_EXPLOSIVE 8 diff --git a/code/__defines/qdel.dm b/code/__defines/qdel.dm index ab85326658..278a2064db 100644 --- a/code/__defines/qdel.dm +++ b/code/__defines/qdel.dm @@ -26,6 +26,7 @@ #define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE) #define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME) #define QDEL_NULL(item) qdel(item); item = null +#define QDEL_NULL_LIST QDEL_LIST_NULL #define QDEL_LIST_NULL(x) if(x) { for(var/y in x) { qdel(y) } ; x = null } #define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); } #define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/______qdel_list_wrapper, L), time, TIMER_STOPPABLE) diff --git a/code/__defines/shuttle.dm b/code/__defines/shuttle.dm new file mode 100644 index 0000000000..9bf7dcad6f --- /dev/null +++ b/code/__defines/shuttle.dm @@ -0,0 +1,27 @@ +// Shuttle flags +#define SHUTTLE_FLAGS_NONE 0 +#define SHUTTLE_FLAGS_PROCESS 1 // Should be processed by shuttle subsystem +#define SHUTTLE_FLAGS_SUPPLY 2 // This is the supply shuttle. Why is this a tag? +#define SHUTTLE_FLAGS_ZERO_G 4 // Shuttle has no internal gravity generation +#define SHUTTLE_FLAGS_ALL (~SHUTTLE_FLAGS_NONE) + +// shuttle_landmark flags +#define SLANDMARK_FLAG_AUTOSET 1 // If set, will set base area and turf type to same as where it was spawned at +#define SLANDMARK_FLAG_ZERO_G 2 // Zero-G shuttles moved here will lose gravity unless the area has ambient gravity. + +// Overmap landable shuttles (/obj/effect/overmap/visitable/ship/landable on a /datum/shuttle/autodock/overmap) +#define SHIP_STATUS_LANDED 1 // Ship is at any other shuttle landmark. +#define SHIP_STATUS_TRANSIT 2 // Ship is at it's shuttle datum's transition shuttle landmark. +#define SHIP_STATUS_OVERMAP 3 // Ship is at its "overmap" shuttle landmark (allowed to move on overmap now) + +// Ferry shuttle location constants +#define FERRY_LOCATION_STATION 0 +#define FERRY_LOCATION_OFFSITE 1 +#define FERRY_GOING_TO_STATION 0 +#define FERRY_GOING_TO_OFFSITE 1 + +#ifndef DEBUG_SHUTTLES + #define log_shuttle(M) +#else + #define log_shuttle(M) log_debug("[M]") +#endif diff --git a/code/__defines/subsystems.dm b/code/__defines/subsystems.dm index 140f10a716..1790890dfb 100644 --- a/code/__defines/subsystems.dm +++ b/code/__defines/subsystems.dm @@ -52,10 +52,11 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G // Subsystem init_order, from highest priority to lowest priority // Subsystems shutdown in the reverse of the order they initialize in // The numbers just define the ordering, they are meaningless otherwise. -#define INIT_ORDER_SQLITE 19 -#define INIT_ORDER_CHEMISTRY 18 -#define INIT_ORDER_MAPPING 17 -#define INIT_ORDER_DECALS 16 +#define INIT_ORDER_SQLITE 40 +#define INIT_ORDER_CHEMISTRY 35 +#define INIT_ORDER_SKYBOX 30 +#define INIT_ORDER_MAPPING 25 +#define INIT_ORDER_DECALS 20 #define INIT_ORDER_ATOMS 15 #define INIT_ORDER_MACHINES 10 #define INIT_ORDER_SHUTTLES 3 @@ -67,20 +68,23 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G #define INIT_ORDER_PLANETS -4 #define INIT_ORDER_HOLOMAPS -5 #define INIT_ORDER_OVERLAY -6 +#define INIT_ORDER_ALARM -7 #define INIT_ORDER_XENOARCH -20 #define INIT_ORDER_CIRCUIT -21 #define INIT_ORDER_AI -22 +#define INIT_ORDER_JOB -23 #define INIT_ORDER_CHAT -100 //Should be last to ensure chat remains smooth during init. // Subsystem fire priority, from lowest to highest priority // If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child) #define FIRE_PRIORITY_SHUTTLES 5 -#define FIRE_PRIORITY_TIMERS 7 //VOREStation Emergency Edit +#define FIRE_PRIORITY_SUPPLY 5 #define FIRE_PRIORITY_ORBIT 8 #define FIRE_PRIORITY_VOTE 9 #define FIRE_PRIORITY_AI 10 #define FIRE_PRIORITY_GARBAGE 15 +#define FIRE_PRIORITY_ALARM 20 #define FIRE_PRIORITY_CHARSETUP 25 #define FIRE_PRIORITY_AIRFLOW 30 #define FIRE_PRIORITY_AIR 35 diff --git a/code/__defines/xenoarcheaology.dm b/code/__defines/xenoarcheaology.dm index 8a4988b78c..e4b0a3935a 100644 --- a/code/__defines/xenoarcheaology.dm +++ b/code/__defines/xenoarcheaology.dm @@ -37,7 +37,11 @@ #define ARCHAEO_ALIEN_BOAT 37 #define ARCHAEO_IMPERION_CIRCUIT 38 #define ARCHAEO_TELECUBE 39 -#define MAX_ARCHAEO 39 +#define ARCHAEO_BATTERY 40 +#define ARCHAEO_SYRINGE 41 +#define ARCHAEO_RING 42 +#define ARCHAEO_CLUB 43 +#define MAX_ARCHAEO 43 #define DIGSITE_GARDEN 1 #define DIGSITE_ANIMAL 2 diff --git a/code/_global_vars/lists/misc.dm b/code/_global_vars/lists/misc.dm index aa9680a5f6..c10fcba530 100644 --- a/code/_global_vars/lists/misc.dm +++ b/code/_global_vars/lists/misc.dm @@ -1 +1,2 @@ GLOBAL_LIST_INIT(speech_toppings, list("|" = "i", "+" = "b", "_" = "u")) +GLOBAL_LIST_EMPTY(meteor_list) diff --git a/code/_global_vars/lists/species.dm b/code/_global_vars/lists/species.dm index 780ce3fb70..5b467f573f 100644 --- a/code/_global_vars/lists/species.dm +++ b/code/_global_vars/lists/species.dm @@ -1,7 +1,9 @@ //Languages/species/whitelist. GLOBAL_LIST_INIT(all_species, list()) GLOBAL_LIST_INIT(all_languages, list()) +GLOBAL_LIST_INIT(language_name_conflicts, list()) GLOBAL_LIST_INIT(language_keys, list()) // Table of say codes for all languages +GLOBAL_LIST_INIT(language_key_conflicts, list()) GLOBAL_LIST_INIT(whitelisted_species, list(SPECIES_HUMAN)) // Species that require a whitelist check. // VOREStation edit - include custom species GLOBAL_LIST_INIT(playable_species, list(SPECIES_HUMAN, SPECIES_CUSTOM)) // A list of ALL playable species, whitelisted, latejoin or otherwise. diff --git a/code/_helpers/_lists.dm b/code/_helpers/_lists.dm index 5f4cc4dd08..ba4ef7b017 100644 --- a/code/_helpers/_lists.dm +++ b/code/_helpers/_lists.dm @@ -206,6 +206,20 @@ proc/listclearnulls(list/list) result = first - second return result +/* +Two lists may be different (A!=B) even if they have the same elements. +This actually tests if they have the same entries and values. +*/ +/proc/same_entries(var/list/first, var/list/second) + if(!islist(first) || !islist(second)) + return 0 + if(length(first) != length(second)) + return 0 + for(var/entry in first) + if(!(entry in second) || (first[entry] != second[entry])) + return 0 + return 1 + /* * Returns list containing entries that are in either list but not both. * If skipref = 1, repeated elements are treated as one. @@ -308,6 +322,13 @@ proc/listclearnulls(list/list) else L[key] = temp[key] +// Return a list of the values in an assoc list (including null) +/proc/list_values(var/list/L) + var/list/V = list() + V.len = L.len // Preallocate! + for(var/i in 1 to L.len) + V[i] = L[L[i]] // We avoid += in case the value is itself a list + return V //Mergesort: divides up the list into halves to begin the sort /proc/sortKey(var/list/client/L, var/order = 1) @@ -824,3 +845,18 @@ proc/dd_sortedTextList(list/incoming) if(L.len) . = L[1] L.Cut(1,2) + +//generates a list used to randomize transit animations so they aren't in lockstep +/proc/get_cross_shift_list(var/size) + var/list/result = list() + + result += rand(0, 14) + for(var/i in 2 to size) + var/shifts = list(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) + shifts -= result[i - 1] //consecutive shifts should not be equal + if(i == size) + shifts -= result[1] //because shift list is a ring buffer + result += pick(shifts) + + return result + \ No newline at end of file diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index 0f9563bfcb..33b50af54b 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -19,8 +19,6 @@ var/global/list/side_effects = list() //list of all medical sideeffects types var/global/list/mechas_list = list() //list of all mechs. Used by hostile mobs target tracking. var/global/list/joblist = list() //list of all jobstypes, minus borg and AI -var/global/list/turfs = list() //list of all turfs - #define all_genders_define_list list(MALE,FEMALE,PLURAL,NEUTER,HERM) //VOREStaton Edit #define all_genders_text_list list("Male","Female","Plural","Neuter","Herm") //VOREStation Edit @@ -30,9 +28,6 @@ var/list/mannequins_ var/global/list/poster_designs = list() var/global/list/NT_poster_designs = list() -// Uplinks -var/list/obj/item/device/uplink/world_uplinks = list() - //Preferences stuff //Hairstyles var/global/list/hair_styles_list = list() //stores /datum/sprite_accessory/hair indexed by name @@ -153,17 +148,30 @@ var/global/list/string_slot_flags = list( var/datum/job/J = new T joblist[J.title] = J - //Languages and species. + //Languages paths = typesof(/datum/language)-/datum/language for(var/T in paths) var/datum/language/L = new T - GLOB.all_languages[L.name] = L + if (isnull(GLOB.all_languages[L.name])) + GLOB.all_languages[L.name] = L + else + log_debug("Language name conflict! [T] is named [L.name], but that is taken by [GLOB.all_languages[L.name].type]") + if(isnull(GLOB.language_name_conflicts[L.name])) + GLOB.language_name_conflicts[L.name] = list(GLOB.all_languages[L.name]) + GLOB.language_name_conflicts[L.name] += L for (var/language_name in GLOB.all_languages) var/datum/language/L = GLOB.all_languages[language_name] if(!(L.flags & NONGLOBAL)) - GLOB.language_keys[lowertext(L.key)] = L + if(isnull(GLOB.language_keys[L.key])) + GLOB.language_keys[L.key] = L + else + log_debug("Language key conflict! [L] has key [L.key], but that is taken by [(GLOB.language_keys[L.key])]") + if(isnull(GLOB.language_key_conflicts[L.key])) + GLOB.language_key_conflicts[L.key] = list(GLOB.language_keys[L.key]) + GLOB.language_key_conflicts[L.key] += L + //Species var/rkey = 0 paths = typesof(/datum/species) for(var/T in paths) diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index 6f88446441..fdb127e21e 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -470,6 +470,7 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN, // Custom species icon bases var/list/blacklisted_icons = list(SPECIES_CUSTOM,SPECIES_PROMETHEAN) //Just ones that won't work well. + var/list/whitelisted_icons = list(SPECIES_FENNEC,SPECIES_XENOHYBRID) //Include these anyway for(var/species_name in GLOB.playable_species) if(species_name in blacklisted_icons) continue @@ -477,5 +478,7 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN, if(S.spawn_flags & SPECIES_IS_WHITELISTED) continue custom_species_bases += species_name + for(var/species_name in whitelisted_icons) + custom_species_bases += species_name return 1 // Hooks must return 1 diff --git a/code/_helpers/logging.dm b/code/_helpers/logging.dm index 7f3393ccc9..18cede2ea4 100644 --- a/code/_helpers/logging.dm +++ b/code/_helpers/logging.dm @@ -259,20 +259,28 @@ return key_name(whom, 1, include_name) // Helper procs for building detailed log lines +// +// These procs must not fail under ANY CIRCUMSTANCES! +// + /datum/proc/log_info_line() return "[src] ([type])" /atom/log_info_line() + . = ..() var/turf/t = get_turf(src) if(istype(t)) - return "([t]) ([t.x],[t.y],[t.z]) ([t.type])" + return "[.] @ [t.log_info_line()]" else if(loc) - return "([loc]) (0,0,0) ([loc.type])" + return "[.] @ ([loc]) (0,0,0) ([loc.type])" else - return "(NULL) (0,0,0) (NULL)" + return "[.] @ (NULL) (0,0,0) (NULL)" + +/turf/log_info_line() + return "([src]) ([x],[y],[z]) ([type])" /mob/log_info_line() - return "[..()] ([ckey])" + return "[..()] (ckey=[ckey])" /proc/log_info_line(var/datum/d) if(!d) diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index 9320c29272..04b8ede203 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -1,38 +1,3 @@ -/atom/movable/proc/get_mob() - return - -/obj/mecha/get_mob() - return occupant - -/obj/vehicle/train/get_mob() - return buckled_mobs - -/mob/get_mob() - return src - -/mob/living/bot/mulebot/get_mob() - if(load && istype(load, /mob/living)) - return list(src, load) - return src - -/proc/mobs_in_view(var/range, var/source) - var/list/mobs = list() - for(var/atom/movable/AM in view(range, source)) - var/M = AM.get_mob() - if(M) - mobs += M - - return mobs - -/proc/mobs_in_xray_view(var/range, var/source) - var/list/mobs = list() - for(var/atom/movable/AM in orange(range, source)) - var/M = AM.get_mob() - if(M) - mobs += M - - return mobs - proc/random_hair_style(gender, species = SPECIES_HUMAN) var/h_style = "Bald" diff --git a/code/_helpers/sorts/comparators.dm b/code/_helpers/sorts/comparators.dm index 73ad3d847c..a9ca5748b7 100644 --- a/code/_helpers/sorts/comparators.dm +++ b/code/_helpers/sorts/comparators.dm @@ -34,12 +34,23 @@ // Sorts jobs by department, and then by flag within department /proc/cmp_job_datums(var/datum/job/a, var/datum/job/b) - . = sorttext(b.department, a.department) - if (. == 0) //Same department, push up if they're a head - . = b.head_position - a.head_position - if (. == 0) //Already in head/nothead spot, sort by name + . = 0 + if( LAZYLEN(a.departments) && LAZYLEN(b.departments) ) + var/list/common_departments = a.departments & b.departments // Makes a list that contains only departments that were in both. + if(!common_departments.len) + . = sorttext(b.departments[1], a.departments[1]) + + if(. == 0) //Same department, push up if they're a head + . = b.sorting_order - a.sorting_order + + if(. == 0) //Already in same sorting order, sort by name . = sorttext(b.title, a.title) +/proc/cmp_department_datums(var/datum/department/a, var/datum/department/b) + . = b.sorting_order - a.sorting_order // First, sort by the sorting order vars. + if(. == 0) // If they have the same var, then sort by name. + . = sorttext(b.name, a.name) + // Sorts entries in a performance stats list. /proc/cmp_generic_stat_item_time(list/A, list/B) . = B[STAT_ENTRY_TIME] - A[STAT_ENTRY_TIME] diff --git a/code/_helpers/turfs.dm b/code/_helpers/turfs.dm index 1926246856..a9cede52de 100644 --- a/code/_helpers/turfs.dm +++ b/code/_helpers/turfs.dm @@ -33,9 +33,139 @@ available_turfs = start_turfs return pick(available_turfs) +// Picks a turf that is clearance tiles away from the map edge given by dir, on z-level Z +/proc/pick_random_edge_turf(var/dir, var/Z, var/clearance = TRANSITIONEDGE + 1) + if(!dir) + return + switch(dir) + if(NORTH) + return locate(rand(clearance, world.maxx - clearance), world.maxy - clearance, Z) + if(SOUTH) + return locate(rand(clearance, world.maxx - clearance), clearance, Z) + if(EAST) + return locate(world.maxx - clearance, rand(clearance, world.maxy - clearance), Z) + if(WEST) + return locate(clearance, rand(clearance, world.maxy - clearance), Z) + /proc/is_below_sound_pressure(var/turf/T) var/datum/gas_mixture/environment = T ? T.return_air() : null var/pressure = environment ? environment.return_pressure() : 0 if(pressure < SOUND_MINIMUM_PRESSURE) return TRUE - return FALSE \ No newline at end of file + return FALSE + +/* + Turf manipulation +*/ + +//Returns an assoc list that describes how turfs would be changed if the +//turfs in turfs_src were translated by shifting the src_origin to the dst_origin +/proc/get_turf_translation(turf/src_origin, turf/dst_origin, list/turfs_src) + var/list/turf_map = list() + for(var/turf/source in turfs_src) + var/x_pos = (source.x - src_origin.x) + var/y_pos = (source.y - src_origin.y) + var/z_pos = (source.z - src_origin.z) + + var/turf/target = locate(dst_origin.x + x_pos, dst_origin.y + y_pos, dst_origin.z + z_pos) + if(!target) + error("Null turf in translation @ ([dst_origin.x + x_pos], [dst_origin.y + y_pos], [dst_origin.z + z_pos])") + turf_map[source] = target //if target is null, preserve that information in the turf map + + return turf_map + +/proc/translate_turfs(var/list/translation, var/area/base_area = null, var/turf/base_turf) + for(var/turf/source in translation) + + var/turf/target = translation[source] + + if(target) + if(base_area) ChangeArea(target, get_area(source)) + var/leave_turf = base_turf ? base_turf : get_base_turf_by_area(base_area ? base_area : source) + translate_turf(source, target, leave_turf) + if(base_area) ChangeArea(source, base_area) + + //change the old turfs (Currently done by translate_turf for us) + //for(var/turf/source in translation) + // source.ChangeTurf(base_turf ? base_turf : get_base_turf_by_area(source), 1, 1) + +// Parmaters for stupid historical reasons are: +// T - Origin +// B - Destination +/proc/translate_turf(var/turf/T, var/turf/B, var/turftoleave = null) + + //You can stay, though. + if(istype(T,/turf/space)) + error("Tried to translate a space turf: src=[log_info_line(T)] dst=[log_info_line(B)]") + return FALSE // TODO - Is this really okay to do nothing? + + var/turf/X //New Destination Turf + + //Are we doing shuttlework? Just to save another type check later. + var/shuttlework = 0 + + //Shuttle turfs handle their own fancy moving. + if(istype(T,/turf/simulated/shuttle)) + shuttlework = 1 + var/turf/simulated/shuttle/SS = T + if(!SS.landed_holder) SS.landed_holder = new(turf = SS) + X = SS.landed_holder.land_on(B) + + //Generic non-shuttle turf move. + else + var/old_dir1 = T.dir + var/old_icon_state1 = T.icon_state + var/old_icon1 = T.icon + var/old_underlays = T.underlays.Copy() + var/old_decals = T.decals ? T.decals.Copy() : null + + X = B.ChangeTurf(T.type) + X.set_dir(old_dir1) + X.icon_state = old_icon_state1 + X.icon = old_icon1 + X.copy_overlays(T, TRUE) + X.underlays = old_underlays + X.decals = old_decals + + //Move the air from source to dest + var/turf/simulated/ST = T + if(istype(ST) && ST.zone) + var/turf/simulated/SX = X + if(!SX.air) + SX.make_air() + SX.air.copy_from(ST.zone.air) + ST.zone.remove(ST) + + var/z_level_change = FALSE + if(T.z != X.z) + z_level_change = TRUE + + //Move the objects. Not forceMove because the object isn't "moving" really, it's supposed to be on the "same" turf. + for(var/obj/O in T) + if(O.simulated) + O.loc = X + O.update_light() + if(z_level_change) // The objects still need to know if their z-level changed. + O.onTransitZ(T.z, X.z) + + //Move the mobs unless it's an AI eye or other eye type. + for(var/mob/M in T) + if(isEye(M)) continue // If we need to check for more mobs, I'll add a variable + M.loc = X + + if(z_level_change) // Same goes for mobs. + M.onTransitZ(T.z, X.z) + + if(istype(M, /mob/living)) + var/mob/living/LM = M + LM.check_shadow() // Need to check their Z-shadow, which is normally done in forceMove(). + + if(shuttlework) + var/turf/simulated/shuttle/SS = T + SS.landed_holder.leave_turf(turftoleave) + else if(turftoleave) + T.ChangeTurf(turftoleave) + else + T.ChangeTurf(get_base_turf_by_area(T)) + + return TRUE diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm index 01214b519a..bdd0325386 100644 --- a/code/_helpers/unsorted.dm +++ b/code/_helpers/unsorted.dm @@ -1420,6 +1420,8 @@ var/mob/dview/dview_mob = new #define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##target, ##var_name, ##var_value) //dupe code because dm can't handle 3 level deep macros #define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##datum, NAMEOF(##datum, ##var), ##var_value) +//we'll see about those 3-level deep macros +#define VARSET_IN(datum, var, var_value, time) addtimer(VARSET_CALLBACK(datum, var, var_value), time) /proc/___callbackvarset(list_or_datum, var_name, var_value) if(length(list_or_datum)) @@ -1585,4 +1587,4 @@ var/mob/dview/dview_mob = new // Note that object refs will be converted to text, as if \ref[thing] was done. To get the ref back on Topic() side, you will need to use locate(). // Third one is the text that will be clickable. /proc/href(href_src, list/href_params, href_text) - return "[href_text]" \ No newline at end of file + return "[href_text]" diff --git a/code/_macros.dm b/code/_macros.dm index afff35b713..5b7fb379d3 100644 --- a/code/_macros.dm +++ b/code/_macros.dm @@ -2,6 +2,12 @@ #define get_turf(A) get_step(A,0) +#define get_x(A) (get_step(A, 0)?.x || 0) + +#define get_y(A) (get_step(A, 0)?.y || 0) + +#define get_z(A) (get_step(A, 0)?.z || 0) + #define RANDOM_BLOOD_TYPE pick(4;"O-", 36;"O+", 3;"A-", 28;"A+", 1;"B-", 20;"B+", 1;"AB-", 5;"AB+") // #define to_chat(target, message) target << message Not anymore! @@ -13,6 +19,8 @@ #define to_file(file_entry, source_var) file_entry << source_var #define from_file(file_entry, target_var) file_entry >> target_var #define show_browser(target, browser_content, browser_name) target << browse(browser_content, browser_name) +#define send_rsc(target, rsc_content, rsc_name) target << browse_rsc(rsc_content, rsc_name) +#define open_link(target, url) target << link(url) // From TG, might be useful to have. // Didn't port SEND_TEXT() since to_chat() appears to serve the same purpose. @@ -25,6 +33,8 @@ #define qdel_null(x) if(x) { qdel(x) ; x = null } +#define sequential_id(key) uniqueness_repository.Generate(/datum/uniqueness_generator/id_sequential, key) + #define random_id(key,min_id,max_id) uniqueness_repository.Generate(/datum/uniqueness_generator/id_random, key, min_id, max_id) #define ARGS_DEBUG log_debug("[__FILE__] - [__LINE__]") ; for(var/arg in args) { log_debug("\t[log_info_line(arg)]") } diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index eef7231eb2..b9ce4c7f5a 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -134,12 +134,6 @@ // A is a turf or is on a turf, or in something on a turf (pen in a box); but not something in something on a turf (pen in a box in a backpack) sdepth = A.storage_depth_turf() if(isturf(A) || isturf(A.loc) || (sdepth != -1 && sdepth <= 1)) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = src - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN if(A.Adjacent(src) || (W && W.attack_can_reach(src, A, W.reach)) ) // see adjacent.dm if(W) // Return 1 in attackby() to prevent afterattack() effects (when safely moving items for example) @@ -188,6 +182,9 @@ /mob/living/UnarmedAttack(var/atom/A, var/proximity_flag) + if(is_incorporeal()) + return 0 + if(!ticker) to_chat(src, "You cannot attack people before the game has started.") return 0 diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 8d41b5d4da..6e1b184071 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -40,8 +40,9 @@ var/list/global_huds = list( /datum/global_hud/proc/setup_overlay(var/icon_state) var/obj/screen/screen = new /obj/screen() - screen.screen_loc = "1,1" - screen.icon = 'icons/obj/hud_full.dmi' + screen.alpha = 40 // Adjut this if you want goggle overlays to be thinner or thicker. + screen.screen_loc = "SOUTHWEST to NORTHEAST" // Will tile up to the whole screen, scaling beyond 15x15 if needed. + screen.icon = 'icons/obj/hud_tiled.dmi' screen.icon_state = icon_state screen.layer = SCREEN_LAYER screen.plane = PLANE_FULLSCREEN diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index a88f748f63..2c6408cf7f 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -276,12 +276,12 @@ tankcheck = list(C.r_hand, C.l_hand, C.back) // Rigs are a fucking pain since they keep an air tank in nullspace. - if(istype(C.back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/rig = C.back - if(rig.air_supply && !rig.offline) + var/obj/item/weapon/rig/Rig = C.get_rig() + if(Rig) + if(Rig.air_supply && !Rig.offline) from = "in" nicename |= "hardsuit" - tankcheck |= rig.air_supply + tankcheck |= Rig.air_supply for(var/i=1, i= shift_last_vote - 2 MINUTES) shift_last_vote = 999999999999 //Setting to a stupidly high number since it'll be not used again. - world << "Warning: This upcoming round-extend vote will be your ONLY extend vote. Wrap up your scenes in the next 4 fuckin hours if the round is extended." //YAWN EDIT NIGGA VOREStation Edit + to_world("Warning: This upcoming round-extend vote will be your ONLY extend vote. Wrap up your scenes in the next 4 fuckin hours if the round is extended.") //YAWN EDIT NIGGA VOREStation Edit if (round_duration_in_ticks >= shift_hard_end - 1 MINUTE) init_shift_change(null, 1) shift_hard_end = timerbuffer + config.vote_autotransfer_interval //If shuttle somehow gets recalled, let's force it to call again next time a vote would occur. diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 4a9c640103..c58a0e2da4 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -31,6 +31,7 @@ var/list/gamemode_cache = list() var/allow_admin_jump = 1 // allows admin jumping var/allow_admin_spawning = 1 // allows admin item spawning var/allow_admin_rev = 1 // allows admin revives + var/pregame_time = 180 // pregame time in seconds var/vote_delay = 6000 // minimum time between voting sessions (deciseconds, 10 minute default) var/vote_period = 600 // length of voting period (deciseconds, default 1 minute) var/vote_autotransfer_initial = 108000 // Length of time before the first autotransfer vote is called @@ -264,6 +265,10 @@ var/list/gamemode_cache = list() var/sqlite_feedback_cooldown = 0 // How long one must wait, in days, to submit another feedback form. Used to help prevent spam, especially with privacy active. 0 = No limit. var/sqlite_feedback_min_age = 0 // Used to block new people from giving feedback. This metric is very bad but it can help slow down spammers. + // disables the annoying "You have already logged in this round, disconnect or be banned" popup for multikeying, because it annoys the shit out of me when testing. + var/disable_cid_warn_popup = FALSE + + /datum/configuration/New() var/list/L = typesof(/datum/game_mode) - /datum/game_mode for (var/T in L) @@ -421,6 +426,9 @@ var/list/gamemode_cache = list() if ("default_no_vote") config.vote_no_default = 1 + if ("pregame_time") + config.pregame_time = text2num(value) + if ("vote_delay") config.vote_delay = text2num(value) @@ -873,7 +881,8 @@ var/list/gamemode_cache = list() if("sqlite_feedback_cooldown") config.sqlite_feedback_cooldown = text2num(value) - + if("disable_cid_warn_popup") + config.disable_cid_warn_popup = TRUE else log_misc("Unknown setting in configuration: '[name]'") diff --git a/code/controllers/emergency_shuttle_controller.dm b/code/controllers/emergency_shuttle_controller.dm index 2229c4febc..54f97e2060 100644 --- a/code/controllers/emergency_shuttle_controller.dm +++ b/code/controllers/emergency_shuttle_controller.dm @@ -5,7 +5,7 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle /datum/emergency_shuttle_controller - var/datum/shuttle/ferry/emergency/shuttle + var/datum/shuttle/autodock/ferry/emergency/shuttle // Set in shuttle_emergency.dm TODO - is it really? var/list/escape_pods var/launch_time //the time at which the shuttle will be launched @@ -36,8 +36,8 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle if (!shuttle.location) //leaving from the station //launch the pods! for (var/EP in escape_pods) - var/datum/shuttle/ferry/escape_pod/pod - if(istype(escape_pods[EP], /datum/shuttle/ferry/escape_pod)) + var/datum/shuttle/autodock/ferry/escape_pod/pod + if(istype(escape_pods[EP], /datum/shuttle/autodock/ferry/escape_pod)) pod = escape_pods[EP] else continue @@ -63,8 +63,8 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle //arm the escape pods if (evac) for (var/EP in escape_pods) - var/datum/shuttle/ferry/escape_pod/pod - if(istype(escape_pods[EP], /datum/shuttle/ferry/escape_pod)) + var/datum/shuttle/autodock/ferry/escape_pod/pod + if(istype(escape_pods[EP], /datum/shuttle/autodock/ferry/escape_pod)) pod = escape_pods[EP] else continue @@ -215,11 +215,11 @@ var/global/datum/emergency_shuttle_controller/emergency_shuttle //returns 1 if the shuttle is currently in transit (or just leaving) to the station /datum/emergency_shuttle_controller/proc/going_to_station() - return (!shuttle.direction && shuttle.moving_status != SHUTTLE_IDLE) + return shuttle && (!shuttle.direction && shuttle.moving_status != SHUTTLE_IDLE) //returns 1 if the shuttle is currently in transit (or just leaving) to centcom /datum/emergency_shuttle_controller/proc/going_to_centcom() - return (shuttle.direction && shuttle.moving_status != SHUTTLE_IDLE) + return shuttle && (shuttle.direction && shuttle.moving_status != SHUTTLE_IDLE) /datum/emergency_shuttle_controller/proc/get_status_panel_eta() diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index 0589d5fa7f..254472a2c8 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -52,6 +52,7 @@ var/datum/controller/failsafe/Failsafe if(Master.processing && Master.iteration) // Check if processing is done yet. if(Master.iteration == master_iteration) + log_debug("DEFCON [defcon]: Master.iteration=[Master.iteration] Master.last_run=[Master.last_run] world.time=[world.time]") switch(defcon) if(4,5) --defcon @@ -71,7 +72,7 @@ var/datum/controller/failsafe/Failsafe master_iteration = 0 to_chat(admins, "MC restarted successfully") else if(rtn < 0) - log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0") + log_world("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0") to_chat(admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.") //if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again //no need to handle that specially when defcon 0 can handle it diff --git a/code/controllers/master.dm b/code/controllers/master.dm index fad4ef9692..d9f7de3742 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -50,6 +50,8 @@ GLOBAL_REAL(Master, /datum/controller/master) = new var/current_runlevel //for scheduling different subsystems for different stages of the round + var/dbg_is_running_subsystem = FALSE // TEMPORARY DEBUGGING - true only while we are actually waiting on a subsystem + var/static/restart_clear = 0 var/static/restart_timeout = 0 var/static/restart_count = 0 @@ -198,7 +200,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new #else world.sleep_offline = 1 #endif - world.fps = config.fps + world.change_fps(config.fps) var/initialized_tod = REALTIMEOFDAY sleep(1) initializations_finished_with_no_players_logged_in = initialized_tod < REALTIMEOFDAY - 10 @@ -223,10 +225,12 @@ GLOBAL_REAL(Master, /datum/controller/master) = new //loop ended, restart the mc log_game("MC crashed or runtimed, restarting") message_admins("MC crashed or runtimed, restarting") + log_world("MC crashed or runtimed, restarting") var/rtn2 = Recreate_MC() if (rtn2 <= 0) log_game("Failed to recreate MC (Error code: [rtn2]), it's up to the failsafe now") message_admins("Failed to recreate MC (Error code: [rtn2]), it's up to the failsafe now") + log_world("Failed to recreate MC (Error code: [rtn2]), it's up to the failsafe now") Failsafe.defcon = 2 // Main loop. @@ -338,6 +342,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new subsystems_to_check = tickersubsystems if (CheckQueue(subsystems_to_check) <= 0) + log_world("MC: CheckQueue(subsystems_to_check) exited uncleanly, SoftReset (error_level=[error_level]") if (!SoftReset(tickersubsystems, runlevel_sorted_subsystems)) log_world("MC: SoftReset() failed, crashing") return @@ -350,6 +355,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new if (queue_head) if (RunQueue() <= 0) + log_world("MC: RunQueue() exited uncleanly, running SoftReset (error_level=[error_level]") if (!SoftReset(tickersubsystems, runlevel_sorted_subsystems)) log_world("MC: SoftReset() failed, crashing") return @@ -472,9 +478,11 @@ GLOBAL_REAL(Master, /datum/controller/master) = new queue_node.state = SS_RUNNING + dbg_is_running_subsystem = TRUE // TEMPORARY DEBUGGING tick_usage = TICK_USAGE var/state = queue_node.ignite(queue_node_paused) tick_usage = TICK_USAGE - tick_usage + dbg_is_running_subsystem = FALSE // TEMPORARY DEBUGGING if (state == SS_RUNNING) state = SS_IDLE diff --git a/code/controllers/subsystems/ai.dm b/code/controllers/subsystems/ai.dm index 8977818755..a111b83e43 100644 --- a/code/controllers/subsystems/ai.dm +++ b/code/controllers/subsystems/ai.dm @@ -25,7 +25,7 @@ SUBSYSTEM_DEF(ai) // var/mob/living/L = currentrun[currentrun.len] var/datum/ai_holder/A = currentrun[currentrun.len] --currentrun.len - if(!A || QDELETED(A)) // Doesn't exist or won't exist soon. + if(!A || QDELETED(A) || A.busy) // Doesn't exist or won't exist soon or not doing it this tick continue if(times_fired % 4 == 0 && A.holder.stat != DEAD) A.handle_strategicals() diff --git a/code/controllers/subsystems/air.dm b/code/controllers/subsystems/air.dm index 263e290968..40d2cc3133 100644 --- a/code/controllers/subsystems/air.dm +++ b/code/controllers/subsystems/air.dm @@ -38,7 +38,7 @@ SUBSYSTEM_DEF(air) current_cycle = 0 var/simulated_turf_count = 0 - for(var/turf/simulated/S in turfs) + for(var/turf/simulated/S in world) simulated_turf_count++ S.update_air_properties() CHECK_TICK diff --git a/code/controllers/subsystems/alarm.dm b/code/controllers/subsystems/alarm.dm new file mode 100644 index 0000000000..4b6140e507 --- /dev/null +++ b/code/controllers/subsystems/alarm.dm @@ -0,0 +1,45 @@ + +// We manually initialize the alarm handlers instead of looping over all existing types +// to make it possible to write: camera_alarm.triggerAlarm() rather than SSalarm.managers[datum/alarm_handler/camera].triggerAlarm() or a variant thereof. +/var/global/datum/alarm_handler/atmosphere/atmosphere_alarm = new() +/var/global/datum/alarm_handler/camera/camera_alarm = new() +/var/global/datum/alarm_handler/fire/fire_alarm = new() +/var/global/datum/alarm_handler/motion/motion_alarm = new() +/var/global/datum/alarm_handler/power/power_alarm = new() + +SUBSYSTEM_DEF(alarm) + name = "Alarm" + wait = 2 SECONDS + priority = FIRE_PRIORITY_ALARM + init_order = INIT_ORDER_ALARM + var/list/datum/alarm/all_handlers + var/tmp/list/currentrun = null + var/static/list/active_alarm_cache = list() + +/datum/controller/subsystem/alarm/Initialize() + all_handlers = list(atmosphere_alarm, camera_alarm, fire_alarm, motion_alarm, power_alarm) + . = ..() + +/datum/controller/subsystem/alarm/fire(resumed = FALSE) + if(!resumed) + src.currentrun = all_handlers.Copy() + active_alarm_cache.Cut() + + var/list/currentrun = src.currentrun // Cache for sanic speed + while (currentrun.len) + var/datum/alarm_handler/AH = currentrun[currentrun.len] + currentrun.len-- + AH.process() + active_alarm_cache += AH.alarms + + if (MC_TICK_CHECK) + return + +/datum/controller/subsystem/alarm/proc/active_alarms() + return active_alarm_cache.Copy() + +/datum/controller/subsystem/alarm/proc/number_of_active_alarms() + return active_alarm_cache.len + +/datum/controller/subsystem/alarm/stat_entry() + ..("[number_of_active_alarms()] alarm\s") diff --git a/code/controllers/subsystems/atoms.dm b/code/controllers/subsystems/atoms.dm index 60fccf6dd3..4db490914a 100644 --- a/code/controllers/subsystems/atoms.dm +++ b/code/controllers/subsystems/atoms.dm @@ -8,9 +8,9 @@ SUBSYSTEM_DEF(atoms) init_order = INIT_ORDER_ATOMS flags = SS_NO_FIRE - var/initialized = INITIALIZATION_INSSATOMS + var/static/initialized = INITIALIZATION_INSSATOMS // var/list/created_atoms // This is never used, so don't bother. ~Leshana - var/old_initialized + var/static/old_initialized var/list/late_loaders var/list/created_atoms diff --git a/code/controllers/subsystems/bellies_vr.dm b/code/controllers/subsystems/bellies_vr.dm deleted file mode 100644 index faaa297ca3..0000000000 --- a/code/controllers/subsystems/bellies_vr.dm +++ /dev/null @@ -1,41 +0,0 @@ -#define SSBELLIES_PROCESSED 1 -#define SSBELLIES_IGNORED 2 - -// -// Bellies subsystem - Process vore bellies -// - -SUBSYSTEM_DEF(bellies) - name = "Bellies" - priority = 5 - wait = 1 SECONDS - flags = SS_KEEP_TIMING|SS_NO_INIT - runlevels = RUNLEVEL_GAME|RUNLEVEL_POSTGAME - - var/static/list/belly_list = list() - var/list/currentrun = list() - var/ignored_bellies = 0 - -/datum/controller/subsystem/bellies/stat_entry() - ..("#: [belly_list.len] | P: [ignored_bellies]") - -/datum/controller/subsystem/bellies/fire(resumed = 0) - if (!resumed) - ignored_bellies = 0 - src.currentrun = belly_list.Copy() - - //cache for sanic speed (lists are references anyways) - var/list/currentrun = src.currentrun - var/times_fired = src.times_fired - while(currentrun.len) - var/obj/belly/B = currentrun[currentrun.len] - currentrun.len-- - - if(QDELETED(B)) - belly_list -= B - else - if(B.process_belly(times_fired,wait) == SSBELLIES_IGNORED) - ignored_bellies++ - - if (MC_TICK_CHECK) - return diff --git a/code/controllers/subsystems/events.dm b/code/controllers/subsystems/events.dm index 8b8bc1d8b0..6de40f464d 100644 --- a/code/controllers/subsystems/events.dm +++ b/code/controllers/subsystems/events.dm @@ -1,6 +1,8 @@ SUBSYSTEM_DEF(events) name = "Events" - wait = 20 + wait = 2 SECONDS + + var/tmp/list/currentrun = null var/list/datum/event/active_events = list() var/list/datum/event/finished_events = list() @@ -11,23 +13,37 @@ SUBSYSTEM_DEF(events) var/datum/event_meta/new_event = new /datum/controller/subsystem/events/Initialize() + allEvents = typesof(/datum/event) - /datum/event event_containers = list( EVENT_LEVEL_MUNDANE = new/datum/event_container/mundane, EVENT_LEVEL_MODERATE = new/datum/event_container/moderate, EVENT_LEVEL_MAJOR = new/datum/event_container/major ) - allEvents = typesof(/datum/event) - /datum/event + if(global.using_map.use_overmap) + GLOB.overmap_event_handler.create_events(global.using_map.overmap_z, global.using_map.overmap_size, global.using_map.overmap_event_areas) return ..() /datum/controller/subsystem/events/fire(resumed) - for(var/datum/event/E in active_events) + if (!resumed) + src.currentrun = active_events.Copy() + + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while (currentrun.len) + var/datum/event/E = currentrun[currentrun.len] + currentrun.len-- if(E.processing_active) E.process() + if (MC_TICK_CHECK) + return for(var/i = EVENT_LEVEL_MUNDANE to EVENT_LEVEL_MAJOR) var/list/datum/event_container/EC = event_containers[i] EC.process() +/datum/controller/subsystem/events/stat_entry() + ..("E:[active_events.len]") + /datum/controller/subsystem/events/Recover() if(SSevents.active_events) active_events |= SSevents.active_events @@ -35,6 +51,8 @@ SUBSYSTEM_DEF(events) finished_events |= SSevents.finished_events /datum/controller/subsystem/events/proc/event_complete(var/datum/event/E) + active_events -= E + if(!E.event_meta || !E.severity) // datum/event is used here and there for random reasons, maintaining "backwards compatibility" log_debug("Event of '[E.type]' with missing meta-data has completed.") return @@ -50,7 +68,7 @@ SUBSYSTEM_DEF(events) log_debug("Event '[EM.name]' has completed at [stationtime2text()].") /datum/controller/subsystem/events/proc/delay_events(var/severity, var/delay) - var/list/datum/event_container/EC = event_containers[severity] + var/datum/event_container/EC = event_containers[severity] EC.next_event_time += delay /datum/controller/subsystem/events/proc/RoundEnd() diff --git a/code/controllers/subsystems/inactivity.dm b/code/controllers/subsystems/inactivity.dm index 6b74a6b553..956af04787 100644 --- a/code/controllers/subsystems/inactivity.dm +++ b/code/controllers/subsystems/inactivity.dm @@ -15,8 +15,7 @@ SUBSYSTEM_DEF(inactivity) while(client_list.len) var/client/C = client_list[client_list.len] client_list.len-- - if(!C.holder && C.is_afk(config.kick_inactive MINUTES) && !isobserver(C.mob)) - + if(C.is_afk(config.kick_inactive MINUTES) && can_kick(C)) to_chat(C, "You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected.") var/information @@ -34,6 +33,9 @@ SUBSYSTEM_DEF(inactivity) if(job) information = " while [job]." + else if(isobserver(C.mob)) + information = " while a ghost." + else if(issilicon(C.mob)) information = " while a silicon." if(isAI(C.mob)) @@ -55,4 +57,8 @@ SUBSYSTEM_DEF(inactivity) return /datum/controller/subsystem/inactivity/stat_entry() - ..("Kicked: [number_kicked]") \ No newline at end of file + ..("Kicked: [number_kicked]") + +/datum/controller/subsystem/inactivity/proc/can_kick(var/client/C) + if(C.holder) return FALSE //VOREStation Add - Don't kick admins. + return TRUE diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm new file mode 100644 index 0000000000..f265f39955 --- /dev/null +++ b/code/controllers/subsystems/job.dm @@ -0,0 +1,142 @@ +SUBSYSTEM_DEF(job) + name = "Job" + init_order = INIT_ORDER_JOB + flags = SS_NO_FIRE + + var/list/occupations = list() //List of all jobs + var/list/datum/job/name_occupations = list() //Dict of all jobs, keys are titles + var/list/type_occupations = list() //Dict of all jobs, keys are types + + var/list/department_datums = list() + var/debug_messages = FALSE + + +/datum/controller/subsystem/job/Initialize(timeofday) + if(!department_datums.len) + setup_departments() + if(!occupations.len) + setup_occupations() + return ..() + +/datum/controller/subsystem/job/proc/setup_occupations(faction = "Station") + occupations = list() + var/list/all_jobs = subtypesof(/datum/job) + if(!all_jobs.len) + to_chat(world, span("warning", "Error setting up jobs, no job datums found")) + return FALSE + + for(var/J in all_jobs) + var/datum/job/job = new J() + if(!job) + continue + if(job.faction != faction) + continue + occupations += job + name_occupations[job.title] = job + type_occupations[J] = job + if(LAZYLEN(job.departments)) + add_to_departments(job) + + sortTim(occupations, /proc/cmp_job_datums) + for(var/D in department_datums) + var/datum/department/dept = department_datums[D] + sortTim(dept.jobs, /proc/cmp_job_datums, TRUE) + sortTim(dept.primary_jobs, /proc/cmp_job_datums, TRUE) + + return TRUE + +/datum/controller/subsystem/job/proc/add_to_departments(datum/job/J) + // Adds to the regular job lists in the departments, which allow multiple departments for a job. + for(var/D in J.departments) + var/datum/department/dept = LAZYACCESS(department_datums, D) + if(!istype(dept)) + job_debug_message("Job '[J.title]' is defined as being inside department '[D]', but it does not exist.") + continue + dept.jobs[J.title] = J + + // Now for the 'primary' department for a job, which is defined as being the first department in the list for a job. + // This results in no duplicates, which can be useful in some situations. + if(LAZYLEN(J.departments)) + var/primary_department = J.departments[1] + var/datum/department/dept = LAZYACCESS(department_datums, primary_department) + if(!istype(dept)) + job_debug_message("Job '[J.title]' has their primary department be '[primary_department]', but it does not exist.") + else + dept.primary_jobs[J.title] = J + +/datum/controller/subsystem/job/proc/setup_departments() + for(var/t in subtypesof(/datum/department)) + var/datum/department/D = new t() + department_datums[D.name] = D + + sortTim(department_datums, /proc/cmp_department_datums, TRUE) + +/datum/controller/subsystem/job/proc/get_all_department_datums() + var/list/dept_datums = list() + for(var/D in department_datums) + dept_datums += department_datums[D] + return dept_datums + +/datum/controller/subsystem/job/proc/get_job(rank) + if(!occupations.len) + setup_occupations() + return name_occupations[rank] + +/datum/controller/subsystem/job/proc/get_job_type(jobtype) + if(!occupations.len) + setup_occupations() + return type_occupations[jobtype] + +// Determines if a job title is inside of a specific department. +// Useful to replace the old `if(job_title in command_positions)` code. +/datum/controller/subsystem/job/proc/is_job_in_department(rank, target_department_name) + var/datum/department/D = LAZYACCESS(department_datums, target_department_name) + if(istype(D)) + return LAZYFIND(D.jobs, rank) ? TRUE : FALSE + return FALSE + +// Returns a list of all job names in a specific department. +/datum/controller/subsystem/job/proc/get_job_titles_in_department(target_department_name) + var/datum/department/D = LAZYACCESS(department_datums, target_department_name) + if(istype(D)) + var/list/job_titles = list() + for(var/J in D.jobs) + job_titles += J + return job_titles + + job_debug_message("Was asked to get job titles for a non-existant department '[target_department_name]'.") + return list() + +// Returns a reference to the primary department datum that a job is in. +// Can receive job datum refs, typepaths, or job title strings. +/datum/controller/subsystem/job/proc/get_primary_department_of_job(datum/job/J) + if(!istype(J, /datum/job)) + if(ispath(J)) + J = get_job_type(J) + else if(istext(J)) + J = get_job(J) + + if(!istype(J)) + job_debug_message("Was asked to get department for job '[J]', but input could not be resolved into a job datum.") + return + + if(!LAZYLEN(J.departments)) + return + + var/primary_department = J.departments[1] + var/datum/department/dept = LAZYACCESS(department_datums, primary_department) + if(!istype(dept)) + job_debug_message("Job '[J.title]' has their primary department be '[primary_department]', but it does not exist.") + return + + return department_datums[primary_department] + +// Someday it might be good to port code/game/jobs/job_controller.dm to here and clean it up. + + + + + +/datum/controller/subsystem/job/proc/job_debug_message(message) + if(debug_messages) + log_debug("JOB DEBUG: [message]") \ No newline at end of file diff --git a/code/controllers/subsystems/mapping.dm b/code/controllers/subsystems/mapping.dm index cc69931426..e48b9f557f 100644 --- a/code/controllers/subsystems/mapping.dm +++ b/code/controllers/subsystems/mapping.dm @@ -1,30 +1,29 @@ -// Handles map-related tasks, mostly here to ensure it does so after the MC initializes. -SUBSYSTEM_DEF(mapping) - name = "Mapping" - init_order = INIT_ORDER_MAPPING - flags = SS_NO_FIRE - - var/list/map_templates = list() - var/dmm_suite/maploader = null - -/datum/controller/subsystem/mapping/Initialize(timeofday) - if(subsystem_initialized) - return - world.max_z_changed() // This is to set up the player z-level list, maxz hasn't actually changed (probably) - maploader = new() - load_map_templates() - - if(config.generate_map) - // Map-gen is still very specific to the map, however putting it here should ensure it loads in the correct order. - if(using_map.perform_map_generation()) - using_map.refresh_mining_turfs() - - -/datum/controller/subsystem/mapping/proc/load_map_templates() - for(var/T in subtypesof(/datum/map_template)) - var/datum/map_template/template = T - if(!(initial(template.mappath))) // If it's missing the actual path its probably a base type or being used for inheritence. - continue - template = new T() - map_templates[template.name] = template - return TRUE +// Handles map-related tasks, mostly here to ensure it does so after the MC initializes. +SUBSYSTEM_DEF(mapping) + name = "Mapping" + init_order = INIT_ORDER_MAPPING + flags = SS_NO_FIRE + + var/list/map_templates = list() + var/dmm_suite/maploader = null + +/datum/controller/subsystem/mapping/Initialize(timeofday) + if(subsystem_initialized) + return + world.max_z_changed() // This is to set up the player z-level list, maxz hasn't actually changed (probably) + maploader = new() + load_map_templates() + + if(config.generate_map) + // Map-gen is still very specific to the map, however putting it here should ensure it loads in the correct order. + using_map.perform_map_generation() + + +/datum/controller/subsystem/mapping/proc/load_map_templates() + for(var/T in subtypesof(/datum/map_template)) + var/datum/map_template/template = T + if(!(initial(template.mappath))) // If it's missing the actual path its probably a base type or being used for inheritence. + continue + template = new T() + map_templates[template.name] = template + return TRUE diff --git a/code/controllers/subsystems/mapping_vr.dm b/code/controllers/subsystems/mapping_vr.dm index 0b301e2fe1..a0eea82667 100644 --- a/code/controllers/subsystems/mapping_vr.dm +++ b/code/controllers/subsystems/mapping_vr.dm @@ -27,8 +27,7 @@ SUBSYSTEM_DEF(mapping) if(config.generate_map) // Map-gen is still very specific to the map, however putting it here should ensure it loads in the correct order. - if(using_map.perform_map_generation()) - using_map.refresh_mining_turfs() + using_map.perform_map_generation() loadEngine() preloadShelterTemplates() diff --git a/code/controllers/subsystems/persist_vr.dm b/code/controllers/subsystems/persist_vr.dm index 88bbabe72d..41811a2a6a 100644 --- a/code/controllers/subsystems/persist_vr.dm +++ b/code/controllers/subsystems/persist_vr.dm @@ -36,15 +36,13 @@ SUBSYSTEM_DEF(persist) // Try and detect job and department of mob var/datum/job/J = detect_job(M) - if(!istype(J) || !J.department || !J.timeoff_factor) + if(!istype(J) || !J.pto_type || !J.timeoff_factor) if (MC_TICK_CHECK) return continue // Do not collect useless PTO - var/department_earning = J.department - if(J.department == "Command") - department_earning = "Civilian" + var/department_earning = J.pto_type clear_unused_pto(M) // Update client whatever @@ -90,6 +88,6 @@ SUBSYSTEM_DEF(persist) /datum/controller/subsystem/persist/proc/clear_unused_pto(var/mob/M) var/client/C = M.client LAZYINITLIST(C.department_hours) - if(C.department_hours["Command"]) - C.department_hours["Command"] = null - C.department_hours.Remove("Command") \ No newline at end of file + if(C.department_hours[DEPARTMENT_COMMAND]) + C.department_hours[DEPARTMENT_COMMAND] = null + C.department_hours.Remove(DEPARTMENT_COMMAND) \ No newline at end of file diff --git a/code/controllers/subsystems/processing/bellies_vr.dm b/code/controllers/subsystems/processing/bellies_vr.dm new file mode 100644 index 0000000000..ad2a3e23e8 --- /dev/null +++ b/code/controllers/subsystems/processing/bellies_vr.dm @@ -0,0 +1,20 @@ +// +// Bellies subsystem - Process vore bellies +// + +PROCESSING_SUBSYSTEM_DEF(bellies) + name = "Bellies" + wait = 6 SECONDS + flags = SS_KEEP_TIMING|SS_NO_INIT + runlevels = RUNLEVEL_GAME|RUNLEVEL_POSTGAME + +/datum/controller/subsystem/processing/bellies/Recover() + log_debug("[name] subsystem Recover().") + if(SSbellies.current_thing) + log_debug("current_thing was: (\ref[SSbellies.current_thing])[SSbellies.current_thing]([SSbellies.current_thing.type]) - currentrun: [SSbellies.currentrun.len] vs total: [SSbellies.processing.len]") + var/list/old_processing = SSbellies.processing.Copy() + for(var/datum/D in old_processing) + if(!isbelly(D)) + log_debug("[name] subsystem Recover() found inappropriate item in list: [D.type]") + if(CHECK_BITFIELD(D.datum_flags, DF_ISPROCESSING)) + processing |= D diff --git a/code/controllers/subsystems/processing/chemistry.dm b/code/controllers/subsystems/processing/chemistry.dm index 34094f9fe3..7f4fd9c42b 100644 --- a/code/controllers/subsystems/processing/chemistry.dm +++ b/code/controllers/subsystems/processing/chemistry.dm @@ -8,6 +8,14 @@ PROCESSING_SUBSYSTEM_DEF(chemistry) var/list/chemical_reagents = list() /datum/controller/subsystem/processing/chemistry/Recover() + log_debug("[name] subsystem Recover().") + if(SSchemistry.current_thing) + log_debug("current_thing was: (\ref[SSchemistry.current_thing])[SSchemistry.current_thing]([SSchemistry.current_thing.type]) - currentrun: [SSchemistry.currentrun.len] vs total: [SSchemistry.processing.len]") + var/list/old_processing = SSchemistry.processing.Copy() + for(var/datum/D in old_processing) + if(CHECK_BITFIELD(D.datum_flags, DF_ISPROCESSING)) + processing |= D + chemical_reactions = SSchemistry.chemical_reactions chemical_reagents = SSchemistry.chemical_reagents diff --git a/code/controllers/subsystems/processing/fastprocess.dm b/code/controllers/subsystems/processing/fastprocess.dm index 9622e02146..bda0bb6fb6 100644 --- a/code/controllers/subsystems/processing/fastprocess.dm +++ b/code/controllers/subsystems/processing/fastprocess.dm @@ -4,3 +4,12 @@ PROCESSING_SUBSYSTEM_DEF(fastprocess) name = "Fast Processing" wait = 2 stat_tag = "FP" + +/datum/controller/subsystem/processing/fastprocess/Recover() + log_debug("[name] subsystem Recover().") + if(SSfastprocess.current_thing) + log_debug("current_thing was: (\ref[SSfastprocess.current_thing])[SSfastprocess.current_thing]([SSfastprocess.current_thing.type]) - currentrun: [SSfastprocess.currentrun.len] vs total: [SSfastprocess.processing.len]") + var/list/old_processing = SSfastprocess.processing.Copy() + for(var/datum/D in old_processing) + if(CHECK_BITFIELD(D.datum_flags, DF_ISPROCESSING)) + processing |= D \ No newline at end of file diff --git a/code/controllers/subsystems/processing/obj.dm b/code/controllers/subsystems/processing/obj.dm index 26021fb267..37f3acc7c6 100644 --- a/code/controllers/subsystems/processing/obj.dm +++ b/code/controllers/subsystems/processing/obj.dm @@ -3,3 +3,14 @@ PROCESSING_SUBSYSTEM_DEF(obj) priority = FIRE_PRIORITY_OBJ flags = SS_NO_INIT wait = 20 + +/datum/controller/subsystem/processing/obj/Recover() + log_debug("[name] subsystem Recover().") + if(SSobj.current_thing) + log_debug("current_thing was: (\ref[SSobj.current_thing])[SSobj.current_thing]([SSobj.current_thing.type]) - currentrun: [SSobj.currentrun.len] vs total: [SSobj.processing.len]") + var/list/old_processing = SSobj.processing.Copy() + for(var/datum/D in old_processing) + if(!isobj(D)) + log_debug("[name] subsystem Recover() found inappropriate item in list: [D.type]") + if(CHECK_BITFIELD(D.datum_flags, DF_ISPROCESSING)) + processing |= D \ No newline at end of file diff --git a/code/controllers/subsystems/processing/processing.dm b/code/controllers/subsystems/processing/processing.dm index ef54b8a4ab..3eeff489aa 100644 --- a/code/controllers/subsystems/processing/processing.dm +++ b/code/controllers/subsystems/processing/processing.dm @@ -13,6 +13,16 @@ SUBSYSTEM_DEF(processing) var/debug_last_thing var/debug_original_process_proc // initial() does not work with procs + var/datum/current_thing + +/datum/controller/subsystem/processing/Recover() + log_debug("[name] subsystem Recover().") + if(SSprocessing.current_thing) + log_debug("current_thing was: (\ref[SSprocessing.current_thing])[SSprocessing.current_thing]([SSprocessing.current_thing.type]) - currentrun: [SSprocessing.currentrun.len] vs total: [SSprocessing.processing.len]") + var/list/old_processing = SSprocessing.processing.Copy() + for(var/datum/D in old_processing) + if(CHECK_BITFIELD(D.datum_flags, DF_ISPROCESSING)) + processing |= D /datum/controller/subsystem/processing/stat_entry() ..("[stat_tag]:[processing.len]") @@ -24,16 +34,19 @@ SUBSYSTEM_DEF(processing) var/list/current_run = currentrun while(current_run.len) - var/datum/thing = current_run[current_run.len] + current_thing = current_run[current_run.len] current_run.len-- - if(QDELETED(thing)) - processing -= thing - else if(thing.process(wait) == PROCESS_KILL) + if(QDELETED(current_thing)) + processing -= current_thing + else if(current_thing.process(wait) == PROCESS_KILL) // fully stop so that a future START_PROCESSING will work - STOP_PROCESSING(src, thing) + STOP_PROCESSING(src, current_thing) if (MC_TICK_CHECK) + current_thing = null return + current_thing = null + /datum/controller/subsystem/processing/proc/toggle_debug() if(!check_rights(R_DEBUG)) return diff --git a/code/controllers/subsystems/processing/projectiles.dm b/code/controllers/subsystems/processing/projectiles.dm index 87c9f097de..e4316304ce 100644 --- a/code/controllers/subsystems/processing/projectiles.dm +++ b/code/controllers/subsystems/processing/projectiles.dm @@ -8,6 +8,15 @@ PROCESSING_SUBSYSTEM_DEF(projectiles) var/global_pixel_speed = 2 var/global_iterations_per_move = 16 +/datum/controller/subsystem/processing/projectiles/Recover() + log_debug("[name] subsystem Recover().") + if(SSprojectiles.current_thing) + log_debug("current_thing was: (\ref[SSprojectiles.current_thing])[SSprojectiles.current_thing]([SSprojectiles.current_thing.type]) - currentrun: [SSprojectiles.currentrun.len] vs total: [SSprojectiles.processing.len]") + var/list/old_processing = SSprojectiles.processing.Copy() + for(var/datum/D in old_processing) + if(CHECK_BITFIELD(D.datum_flags, DF_ISPROCESSING)) + processing |= D + /datum/controller/subsystem/processing/projectiles/proc/set_pixel_speed(new_speed) global_pixel_speed = new_speed for(var/i in processing) diff --git a/code/controllers/subsystems/processing/turfs.dm b/code/controllers/subsystems/processing/turfs.dm index 941513527e..d28f4b4809 100644 --- a/code/controllers/subsystems/processing/turfs.dm +++ b/code/controllers/subsystems/processing/turfs.dm @@ -1,3 +1,14 @@ PROCESSING_SUBSYSTEM_DEF(turfs) name = "Turf Processing" wait = 20 + +/datum/controller/subsystem/processing/turfs/Recover() + log_debug("[name] subsystem Recover().") + if(SSturfs.current_thing) + log_debug("current_thing was: (\ref[SSturfs.current_thing])[SSturfs.current_thing]([SSturfs.current_thing.type]) - currentrun: [SSturfs.currentrun.len] vs total: [SSturfs.processing.len]") + var/list/old_processing = SSturfs.processing.Copy() + for(var/datum/D in old_processing) + if(!isturf(D)) + log_debug("[name] subsystem Recover() found inappropriate item in list: [D.type]") + if(CHECK_BITFIELD(D.datum_flags, DF_ISPROCESSING)) + processing |= D \ No newline at end of file diff --git a/code/controllers/subsystems/shuttles.dm b/code/controllers/subsystems/shuttles.dm index 61a4590890..27bbbae027 100644 --- a/code/controllers/subsystems/shuttles.dm +++ b/code/controllers/subsystems/shuttles.dm @@ -1,6 +1,8 @@ // // SSshuttles subsystem - Handles initialization and processing of shuttles. // +// Also handles initialization and processing of overmap sectors. +// // This global variable exists for legacy support so we don't have to rename every shuttle_controller to SSshuttles yet. var/global/datum/controller/subsystem/shuttles/shuttle_controller @@ -13,71 +15,164 @@ SUBSYSTEM_DEF(shuttles) flags = SS_KEEP_TIMING|SS_NO_TICK_CHECK runlevels = RUNLEVEL_GAME|RUNLEVEL_POSTGAME - var/list/shuttles = list() // Maps shuttle tags to shuttle datums, so that they can be looked up. - var/list/process_shuttles = list() // Simple list of shuttles, for processing - var/list/current_run = list() // Shuttles remaining to process this fire() tick - var/list/docks_init_callbacks // List of callbacks to run when we finish setting up shuttle docks. - var/docks_initialized = FALSE + var/overmap_halted = FALSE // Whether ships can move on the overmap; used for adminbus. + var/list/ships = list() // List of all ships. + + var/list/shuttles = list() // Maps shuttle tags to shuttle datums, so that they can be looked up. + var/list/process_shuttles = list() // Simple list of shuttles, for processing + + var/list/registered_shuttle_landmarks = list() // Maps shuttle landmark tags to instances + var/last_landmark_registration_time // world.time of most recent addition to registered_shuttle_landmarks + var/list/shuttle_logs = list() // (Not Implemented) Keeps records of shuttle movement, format is list(datum/shuttle = datum/shuttle_log) + var/list/shuttle_areas = list() // All the areas of all shuttles. + var/list/docking_registry = list() // Docking controller tag -> docking controller program, mostly for init purposes. + + var/list/landmarks_awaiting_sector = list() // Stores automatic landmarks that are waiting for a sector to finish loading. + var/list/landmarks_still_needed = list() // Stores landmark_tags that need to be assigned to the sector (landmark_tag = sector) when registered. + var/list/shuttles_to_initialize // A queue for shuttles to initialize at the appropriate time. + var/list/sectors_to_initialize // Used to find all sector objects at the appropriate time. + var/block_init_queue = TRUE // Block initialization of new shuttles/sectors + + var/tmp/list/current_run // Shuttles remaining to process this fire() tick + +/datum/controller/subsystem/shuttles/PreInit() + global.shuttle_controller = src // TODO - Remove this! Change everything to point at SSshuttles intead /datum/controller/subsystem/shuttles/Initialize(timeofday) - global.shuttle_controller = src - setup_shuttle_docks() - for(var/I in docks_init_callbacks) - var/datum/callback/cb = I - cb.InvokeAsync() - LAZYCLEARLIST(docks_init_callbacks) - docks_init_callbacks = null + last_landmark_registration_time = world.time + // Find all declared shuttle datums and initailize them. (Okay, queue them for initialization a few lines further down) + for(var/shuttle_type in subtypesof(/datum/shuttle)) // This accounts for most shuttles, though away maps can queue up more. + var/datum/shuttle/shuttle = shuttle_type + if(initial(shuttle.category) == shuttle_type) + continue // Its an "abstract class" datum, not for a real shuttle. + if(!initial(shuttle.defer_initialisation)) // Skip if it asks not to be initialized at startup. + LAZYDISTINCTADD(shuttles_to_initialize, shuttle_type) + block_init_queue = FALSE + process_init_queues() return ..() /datum/controller/subsystem/shuttles/fire(resumed = 0) - do_process_shuttles(resumed) - -/datum/controller/subsystem/shuttles/stat_entry() - var/msg = list() - msg += "AS:[shuttles.len]|" - msg += "PS:[process_shuttles.len]|" - ..(jointext(msg, null)) - -/datum/controller/subsystem/shuttles/proc/do_process_shuttles(resumed = 0) if (!resumed) src.current_run = process_shuttles.Copy() - var/list/current_run = src.current_run // Cache for sanic speed - while(current_run.len) - var/datum/shuttle/S = current_run[current_run.len] - current_run.len-- - if(istype(S) && !QDELETED(S)) - if(istype(S, /datum/shuttle/ferry)) // Ferry shuttles get special treatment - var/datum/shuttle/ferry/F = S - if(F.process_state || F.always_process) - F.process() - else - S.process() - else + var/list/working_shuttles = src.current_run // Cache for sanic speed + while(working_shuttles.len) + var/datum/shuttle/S = working_shuttles[working_shuttles.len] + working_shuttles.len-- + if(!istype(S) || QDELETED(S)) + error("Bad entry in SSshuttles.process_shuttles - [log_info_line(S)] ") process_shuttles -= S + continue + // NOTE - In old system, /datum/shuttle/ferry was processed only if (F.process_state || F.always_process) + if(S.process_state && (S.process(wait, times_fired, src) == PROCESS_KILL)) + process_shuttles -= S + if(MC_TICK_CHECK) return -// This should be called after all the machines and radio frequencies have been properly initialized -/datum/controller/subsystem/shuttles/proc/setup_shuttle_docks() - // Find all declared shuttle datums and initailize them. - for(var/shuttle_type in subtypesof(/datum/shuttle)) - var/datum/shuttle/shuttle = shuttle_type - if(initial(shuttle.category) == shuttle_type) - continue +/datum/controller/subsystem/shuttles/proc/process_init_queues() + if(block_init_queue) + return + initialize_shuttles() + initialize_sectors() + +// Initializes all shuttles in shuttles_to_initialize +/datum/controller/subsystem/shuttles/proc/initialize_shuttles() + var/list/shuttles_made = list() + for(var/shuttle_type in shuttles_to_initialize) + var/shuttle = initialize_shuttle(shuttle_type) + if(shuttle) + shuttles_made += shuttle + hook_up_motherships(shuttles_made) + shuttles_to_initialize = null + +/datum/controller/subsystem/shuttles/proc/initialize_sectors() + for(var/sector in sectors_to_initialize) + initialize_sector(sector) + sectors_to_initialize = null + +/datum/controller/subsystem/shuttles/proc/register_landmark(shuttle_landmark_tag, obj/effect/shuttle_landmark/shuttle_landmark) + if (registered_shuttle_landmarks[shuttle_landmark_tag]) + CRASH("Attempted to register shuttle landmark with tag [shuttle_landmark_tag], but it is already registered!") + if (istype(shuttle_landmark)) + registered_shuttle_landmarks[shuttle_landmark_tag] = shuttle_landmark + last_landmark_registration_time = world.time + + var/obj/effect/overmap/visitable/O = landmarks_still_needed[shuttle_landmark_tag] + if(O) //These need to be added to sectors, which we handle. + try_add_landmark_tag(shuttle_landmark_tag, O) + landmarks_still_needed -= shuttle_landmark_tag + else if(istype(shuttle_landmark, /obj/effect/shuttle_landmark/automatic)) //These find their sector automatically + O = map_sectors["[shuttle_landmark.z]"] + O ? O.add_landmark(shuttle_landmark, shuttle_landmark.shuttle_restricted) : (landmarks_awaiting_sector += shuttle_landmark) + +/datum/controller/subsystem/shuttles/proc/get_landmark(var/shuttle_landmark_tag) + return registered_shuttle_landmarks[shuttle_landmark_tag] + +//Checks if the given sector's landmarks have initialized; if so, registers them with the sector, if not, marks them for assignment after they come in. +//Also adds automatic landmarks that were waiting on their sector to spawn. +/datum/controller/subsystem/shuttles/proc/initialize_sector(obj/effect/overmap/visitable/given_sector) + given_sector.populate_sector_objects() // This is a late init operation that sets up the sector's map_z and does non-overmap-related init tasks. + + for(var/landmark_tag in given_sector.initial_generic_waypoints) + if(!try_add_landmark_tag(landmark_tag, given_sector)) + landmarks_still_needed[landmark_tag] = given_sector // Landmark isn't registered yet, queue it to be added once it is. + + for(var/shuttle_name in given_sector.initial_restricted_waypoints) + for(var/landmark_tag in given_sector.initial_restricted_waypoints[shuttle_name]) + if(!try_add_landmark_tag(landmark_tag, given_sector)) + landmarks_still_needed[landmark_tag] = given_sector // Landmark isn't registered yet, queue it to be added once it is. + + var/landmarks_to_check = landmarks_awaiting_sector.Copy() + for(var/thing in landmarks_to_check) + var/obj/effect/shuttle_landmark/automatic/landmark = thing + if(landmark.z in given_sector.map_z) + given_sector.add_landmark(landmark, landmark.shuttle_restricted) + landmarks_awaiting_sector -= landmark + +// Attempts to add a landmark instance with a sector (returns false if landmark isn't registered yet) +/datum/controller/subsystem/shuttles/proc/try_add_landmark_tag(landmark_tag, obj/effect/overmap/visitable/given_sector) + var/obj/effect/shuttle_landmark/landmark = get_landmark(landmark_tag) + if(!landmark) + return + + if(landmark.landmark_tag in given_sector.initial_generic_waypoints) + given_sector.add_landmark(landmark) + . = 1 + for(var/shuttle_name in given_sector.initial_restricted_waypoints) + if(landmark.landmark_tag in given_sector.initial_restricted_waypoints[shuttle_name]) + given_sector.add_landmark(landmark, shuttle_name) + . = 1 + +/datum/controller/subsystem/shuttles/proc/initialize_shuttle(var/shuttle_type) + var/datum/shuttle/shuttle = shuttle_type + if(initial(shuttle.category) != shuttle_type) // Skip if its an "abstract class" datum shuttle = new shuttle() - shuttle.init_docking_controllers() - shuttle.dock() //makes all shuttles docked to something at round start go into the docked state - CHECK_TICK + shuttle_areas |= shuttle.shuttle_area + log_debug("Initialized shuttle [shuttle] ([shuttle.type])") + return shuttle + // Historical note: No need to call shuttle.init_docking_controllers(), controllers register themselves + // and shuttles fetch refs in New(). Shuttles also dock() themselves in new if they want. - for(var/obj/machinery/embedded_controller/C in machines) - if(istype(C.program, /datum/computer/file/embedded_program/docking)) - C.program.tag = null //clear the tags, 'cause we don't need 'em anymore - docks_initialized = TRUE +// TODO - Leshana to hook up more of this when overmap is ported. +/datum/controller/subsystem/shuttles/proc/hook_up_motherships(shuttles_list) + for(var/datum/shuttle/S in shuttles_list) + if(S.mothershuttle && !S.motherdock) + var/datum/shuttle/mothership = shuttles[S.mothershuttle] + if(mothership) + S.motherdock = S.current_location.landmark_tag + mothership.shuttle_area |= S.shuttle_area + else + error("Shuttle [S] was unable to find mothership [mothership]!") -// Register a callback that will be invoked once the shuttles have been initialized -/datum/controller/subsystem/shuttles/proc/OnDocksInitialized(datum/callback/cb) - if(!docks_initialized) - LAZYADD(docks_init_callbacks, cb) - else - cb.InvokeAsync() +// Admin command to halt/resume overmap +/datum/controller/subsystem/shuttles/proc/toggle_overmap(new_setting) + if(overmap_halted == new_setting) + return + overmap_halted = !overmap_halted + for(var/ship in ships) + var/obj/effect/overmap/visitable/ship/ship_effect = ship + overmap_halted ? ship_effect.halt() : ship_effect.unhalt() + +/datum/controller/subsystem/shuttles/stat_entry() + ..("Shuttles:[process_shuttles.len]/[shuttles.len], Ships:[ships.len], L:[registered_shuttle_landmarks.len][overmap_halted ? ", HALT" : ""]") diff --git a/code/controllers/subsystems/skybox.dm b/code/controllers/subsystems/skybox.dm new file mode 100644 index 0000000000..6f96830c56 --- /dev/null +++ b/code/controllers/subsystems/skybox.dm @@ -0,0 +1,135 @@ + +//Exists to handle a few global variables that change enough to justify this. Technically a parallax, but it exhibits a skybox effect. +SUBSYSTEM_DEF(skybox) + name = "Space skybox" + init_order = INIT_ORDER_SKYBOX + flags = SS_NO_FIRE + var/static/list/skybox_cache = list() + + var/static/list/dust_cache = list() + var/static/list/speedspace_cache = list() + var/static/list/mapedge_cache = list() + var/static/list/phase_shift_by_x = list() + var/static/list/phase_shift_by_y = list() + +/datum/controller/subsystem/skybox/PreInit() + //Static + for (var/i in 0 to 25) + var/image/im = image('icons/turf/space_dust.dmi', "[i]") + im.plane = DUST_PLANE + im.alpha = 128 //80 + im.blend_mode = BLEND_ADD + dust_cache["[i]"] = im + //Moving + for (var/i in 0 to 14) + // NORTH/SOUTH + var/image/im = image('icons/turf/space_dust_transit.dmi', "speedspace_ns_[i]") + im.plane = DUST_PLANE + im.blend_mode = BLEND_ADD + speedspace_cache["NS_[i]"] = im + // EAST/WEST + im = image('icons/turf/space_dust_transit.dmi', "speedspace_ew_[i]") + im.plane = DUST_PLANE + im.blend_mode = BLEND_ADD + speedspace_cache["EW_[i]"] = im + //Over-the-edge images + for (var/dir in alldirs) + var/image/I = image('icons/turf/space.dmi', "white") + var/matrix/M = matrix() + var/horizontal = (dir & (WEST|EAST)) + var/vertical = (dir & (NORTH|SOUTH)) + M.Scale(horizontal ? 8 : 1, vertical ? 8 : 1) + I.transform = M + I.appearance_flags = KEEP_APART | TILE_BOUND + I.plane = SPACE_PLANE + I.layer = 0 + + if(dir & NORTH) + I.pixel_y = 112 + else if(dir & SOUTH) + I.pixel_y = -112 + + if(dir & EAST) + I.pixel_x = 112 + else if(dir & WEST) + I.pixel_x = -112 + + mapedge_cache["[dir]"] = I + + //Shuffle some lists + phase_shift_by_x = get_cross_shift_list(15) + phase_shift_by_y = get_cross_shift_list(15) + + . = ..() + +/datum/controller/subsystem/skybox/Initialize() + . = ..() + +/datum/controller/subsystem/skybox/proc/get_skybox(z) + if(!skybox_cache["[z]"]) + skybox_cache["[z]"] = generate_skybox(z) + if(global.using_map.use_overmap) + var/obj/effect/overmap/visitable/O = map_sectors["[z]"] + if(istype(O)) + for(var/zlevel in O.map_z) + skybox_cache["[zlevel]"] = skybox_cache["[z]"] + return skybox_cache["[z]"] + +/datum/controller/subsystem/skybox/proc/generate_skybox(z) + var/datum/skybox_settings/settings = global.using_map.get_skybox_datum(z) + + var/image/res = image(settings.icon) + res.appearance_flags = KEEP_TOGETHER + + var/image/base = image(settings.icon, settings.icon_state) + base.color = settings.color + + if(settings.use_stars) + var/image/stars = image(settings.icon, settings.star_state) + stars.appearance_flags = RESET_COLOR + base.overlays += stars + + res.overlays += base + + if(global.using_map.use_overmap && settings.use_overmap_details) + var/obj/effect/overmap/visitable/O = map_sectors["[z]"] + if(istype(O)) + var/image/overmap = image(settings.icon) + overmap.overlays += O.generate_skybox() + for(var/obj/effect/overmap/visitable/other in O.loc) + if(other != O) + overmap.overlays += other.get_skybox_representation() + overmap.appearance_flags = RESET_COLOR + res.overlays += overmap + + // Allow events to apply custom overlays to skybox! (Awesome!) + for(var/datum/event/E in SSevents.active_events) + if(E.has_skybox_image && E.isRunning && (z in E.affecting_z)) + res.overlays += E.get_skybox_image() + + return res + +/datum/controller/subsystem/skybox/proc/rebuild_skyboxes(var/list/zlevels) + for(var/z in zlevels) + skybox_cache["[z]"] = generate_skybox(z) + + for(var/client/C) + C.update_skybox(1) + +// Settings datum that maps can override to play with their skyboxes +/datum/skybox_settings + var/icon = 'icons/skybox/skybox.dmi' //Path to our background. Lets us use anything we damn well please. Skyboxes need to be 736x736 + var/icon_state = "dyable" + var/color + var/random_color = FALSE + + var/use_stars = TRUE + var/star_icon = 'icons/skybox/skybox.dmi' + var/star_state = "stars" + + var/use_overmap_details = TRUE //Do we try to draw overmap visitables in our sector on the map? + +/datum/skybox_settings/New() + ..() + if(random_color) + color = rgb(rand(0,255), rand(0,255), rand(0,255)) diff --git a/code/controllers/Processes/supply.dm b/code/controllers/subsystems/supply.dm similarity index 68% rename from code/controllers/Processes/supply.dm rename to code/controllers/subsystems/supply.dm index 45818e2339..f379193c6a 100644 --- a/code/controllers/Processes/supply.dm +++ b/code/controllers/subsystems/supply.dm @@ -1,36 +1,15 @@ -//Config stuff -#define SUPPLY_DOCKZ 2 //Z-level of the Dock. -#define SUPPLY_STATIONZ 1 //Z-level of the Station. -#define SUPPLY_STATION_AREATYPE "/area/supply/station" //Type of the supply shuttle area for station -#define SUPPLY_DOCK_AREATYPE "/area/supply/dock" //Type of the supply shuttle area for dock - //Supply packs are in /code/datums/supplypacks //Computers are in /code/game/machinery/computer/supply.dm +SUBSYSTEM_DEF(supply) + name = "Supply" + wait = 20 SECONDS + priority = FIRE_PRIORITY_SUPPLY + //Initializes at default time + flags = SS_NO_TICK_CHECK -/datum/supply_order - var/ordernum // Unfabricatable index - var/index // Fabricatable index - var/datum/supply_pack/object = null - var/cost // Cost of the supply pack (Fabricatable) (Changes not reflected when purchasing supply packs, this is cosmetic only) - var/name // Name of the supply pack datum (Fabricatable) - var/ordered_by = null // Who requested the order - var/comment = null // What reason was given for the order - var/approved_by = null // Who approved the order - var/ordered_at // Date and time the order was requested at - var/approved_at // Date and time the order was approved at - var/status // [Requested, Accepted, Denied, Shipped] - -/datum/exported_crate - var/name - var/value - var/list/contents - -var/datum/controller/supply/supply_controller = new() - -/datum/controller/supply //supply points var/points = 50 - var/points_per_process = 1.5 + var/points_per_process = 1.0 // Processes every 20 seconds, so this is 3 per minute var/points_per_slip = 2 var/points_per_money = 0.02 // 1 point for $50 //control @@ -43,15 +22,16 @@ var/datum/controller/supply/supply_controller = new() var/list/adm_export_history = list() // Complete history of all crates sent back on the shuttle, for admin use //shuttle movement var/movetime = 1200 - var/datum/shuttle/ferry/supply/shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle var/list/material_points_conversion = list( // Any materials not named in this list are worth 0 points "phoron" = 5, "platinum" = 5 ) -/datum/controller/supply/New() +/datum/controller/subsystem/supply/Initialize() ordernum = rand(1,9000) + // build master supply list for(var/typepath in subtypesof(/datum/supply_pack)) var/datum/supply_pack/P = new typepath() if(P.name) @@ -59,20 +39,18 @@ var/datum/controller/supply/supply_controller = new() else qdel(P) -/datum/controller/process/supply/setup() - name = "supply controller" - schedule_interval = 300 // every 30 seconds + // TODO - Auto-build material_points_conversion from material datums + . = ..() -/datum/controller/process/supply/doWork() - supply_controller.process() - -// Supply shuttle ticker - handles supply point regeneration -// This is called by the process scheduler every thirty seconds -/datum/controller/supply/process() +// Supply shuttle ticker - handles supply point regeneration. Just add points over time. +/datum/controller/subsystem/supply/fire() points += points_per_process +/datum/controller/subsystem/supply/stat_entry() + ..("Points: [points]") + //To stop things being sent to CentCom which should not be sent to centcomm. Recursively checks for these types. -/datum/controller/supply/proc/forbidden_atoms_check(atom/A) +/datum/controller/subsystem/supply/proc/forbidden_atoms_check(atom/A) if(isliving(A)) return 1 if(istype(A,/obj/item/weapon/disk/nuclear)) @@ -89,87 +67,102 @@ var/datum/controller/supply/supply_controller = new() return 1 //Selling -/datum/controller/supply/proc/sell() - var/area/area_shuttle = shuttle.get_location_area() - if(!area_shuttle) - return +/datum/controller/subsystem/supply/proc/sell() + // Loop over each area in the supply shuttle + for(var/area/subarea in shuttle.shuttle_area) + callHook("sell_shuttle", list(subarea)); + for(var/atom/movable/MA in subarea) + if(MA.anchored) + continue - callHook("sell_shuttle", list(area_shuttle)); + var/datum/exported_crate/EC = new /datum/exported_crate() + EC.name = "\proper[MA.name]" + EC.value = 0 + EC.contents = list() + var/base_value = 0 - for(var/atom/movable/MA in area_shuttle) - if(MA.anchored) - continue + // Must be in a crate! + if(istype(MA,/obj/structure/closet/crate)) + var/obj/structure/closet/crate/CR = MA + callHook("sell_crate", list(CR, subarea)) - var/datum/exported_crate/EC = new /datum/exported_crate() - EC.name = "\proper[MA.name]" - EC.value = 0 - EC.contents = list() - var/base_value = 0 + points += CR.points_per_crate + if(CR.points_per_crate) + base_value = CR.points_per_crate + var/find_slip = 1 - // Must be in a crate! - if(istype(MA,/obj/structure/closet/crate)) - var/obj/structure/closet/crate/CR = MA - callHook("sell_crate", list(CR, area_shuttle)) + for(var/atom/A in CR) + EC.contents[++EC.contents.len] = list( + "object" = "\proper[A.name]", + "value" = 0, + "quantity" = 1 + ) - points += CR.points_per_crate - if(CR.points_per_crate) - base_value = CR.points_per_crate - var/find_slip = 1 + // Sell manifests + if(find_slip && istype(A,/obj/item/weapon/paper/manifest)) + var/obj/item/weapon/paper/manifest/slip = A + if(!slip.is_copy && slip.stamped && slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense + points += points_per_slip + EC.contents[EC.contents.len]["value"] = points_per_slip + find_slip = 0 + continue - for(var/atom/A in CR) - EC.contents[++EC.contents.len] = list( - "object" = "\proper[A.name]", - "value" = 0, - "quantity" = 1 + // Sell phoron and platinum + if(istype(A, /obj/item/stack)) + var/obj/item/stack/P = A + if(material_points_conversion[P.get_material_name()]) + EC.contents[EC.contents.len]["value"] = P.get_amount() * material_points_conversion[P.get_material_name()] + EC.contents[EC.contents.len]["quantity"] = P.get_amount() + EC.value += EC.contents[EC.contents.len]["value"] + + //Sell spacebucks + if(istype(A, /obj/item/weapon/spacecash)) + var/obj/item/weapon/spacecash/cashmoney = A + EC.contents[EC.contents.len]["value"] = cashmoney.worth * points_per_money + EC.contents[EC.contents.len]["quantity"] = cashmoney.worth + EC.value += EC.contents[EC.contents.len]["value"] + + + + // Make a log of it, but it wasn't shipped properly, and so isn't worth anything + else + EC.contents = list( + "error" = "Error: Product was improperly packaged. Payment rendered null under terms of agreement." ) - // Sell manifests - if(find_slip && istype(A,/obj/item/weapon/paper/manifest)) - var/obj/item/weapon/paper/manifest/slip = A - if(!slip.is_copy && slip.stamped && slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense - points += points_per_slip - EC.contents[EC.contents.len]["value"] = points_per_slip - find_slip = 0 + exported_crates += EC + points += EC.value + EC.value += base_value + + // Duplicate the receipt for the admin-side log + var/datum/exported_crate/adm = new() + adm.name = EC.name + adm.value = EC.value + adm.contents = deepCopyList(EC.contents) + adm_export_history += adm + + qdel(MA) + +/datum/controller/subsystem/supply/proc/get_clear_turfs() + var/list/clear_turfs = list() + + for(var/area/subarea in shuttle.shuttle_area) + for(var/turf/T in subarea) + if(T.density) + continue + var/occupied = 0 + for(var/atom/A in T.contents) + if(!A.simulated) continue + occupied = 1 + break + if(!occupied) + clear_turfs += T - // Sell phoron and platinum - if(istype(A, /obj/item/stack)) - var/obj/item/stack/P = A - if(material_points_conversion[P.get_material_name()]) - EC.contents[EC.contents.len]["value"] = P.get_amount() * material_points_conversion[P.get_material_name()] - EC.contents[EC.contents.len]["quantity"] = P.get_amount() - EC.value += EC.contents[EC.contents.len]["value"] - - //Sell spacebucks - if(istype(A, /obj/item/weapon/spacecash)) - var/obj/item/weapon/spacecash/cashmoney = A - EC.contents[EC.contents.len]["value"] = cashmoney.worth * points_per_money - EC.contents[EC.contents.len]["quantity"] = cashmoney.worth - EC.value += EC.contents[EC.contents.len]["value"] - - - - // Make a log of it, but it wasn't shipped properly, and so isn't worth anything - else - EC.contents = list( - "error" = "Error: Product was improperly packaged. Payment rendered null under terms of agreement." - ) - - exported_crates += EC - points += EC.value - EC.value += base_value - - // Duplicate the receipt for the admin-side log - var/datum/exported_crate/adm = new() - adm.name = EC.name - adm.value = EC.value - adm.contents = deepCopyList(EC.contents) - adm_export_history += adm - - qdel(MA) + return clear_turfs //Buying -/datum/controller/supply/proc/buy() +/datum/controller/subsystem/supply/proc/buy() var/list/shoppinglist = list() for(var/datum/supply_order/SO in order_history) if(SO.status == SUP_ORDER_APPROVED) @@ -177,26 +170,9 @@ var/datum/controller/supply/supply_controller = new() if(!shoppinglist.len) return - var/orderedamount = shoppinglist.len - var/area/area_shuttle = shuttle.get_location_area() - if(!area_shuttle) - return - - var/list/clear_turfs = list() - - for(var/turf/T in area_shuttle) - if(T.density) - continue - var/contcount - for(var/atom/A in T.contents) - if(!A.simulated) - continue - contcount++ - if(contcount) - continue - clear_turfs += T + var/list/clear_turfs = get_clear_turfs() for(var/datum/supply_order/SO in shoppinglist) if(!clear_turfs.len) @@ -265,9 +241,9 @@ var/datum/controller/supply/supply_controller = new() return // Will attempt to purchase the specified order, returning TRUE on success, FALSE on failure -/datum/controller/supply/proc/approve_order(var/datum/supply_order/O, var/mob/user) +/datum/controller/subsystem/supply/proc/approve_order(var/datum/supply_order/O, var/mob/user) // Not enough points to purchase the crate - if(supply_controller.points <= O.object.cost) + if(points <= O.object.cost) return FALSE // Based on the current model, there shouldn't be any entries in order_history, requestlist, or shoppinglist, that aren't matched in adm_order_history @@ -294,11 +270,11 @@ var/datum/controller/supply/supply_controller = new() adm_order.approved_at = stationdate2text() + " - " + stationtime2text() // Deduct cost - supply_controller.points -= O.object.cost + points -= O.object.cost return TRUE // Will deny the specified order. Only useful if the order is currently requested, but available at any status -/datum/controller/supply/proc/deny_order(var/datum/supply_order/O, var/mob/user) +/datum/controller/subsystem/supply/proc/deny_order(var/datum/supply_order/O, var/mob/user) // Based on the current model, there shouldn't be any entries in order_history, requestlist, or shoppinglist, that aren't matched in adm_order_history var/datum/supply_order/adm_order for(var/datum/supply_order/temp in adm_order_history) @@ -324,22 +300,22 @@ var/datum/controller/supply/supply_controller = new() return // Will deny all requested orders -/datum/controller/supply/proc/deny_all_pending(var/mob/user) +/datum/controller/subsystem/supply/proc/deny_all_pending(var/mob/user) for(var/datum/supply_order/O in order_history) if(O.status == SUP_ORDER_REQUESTED) deny_order(O, user) // Will delete the specified order from the user-side list -/datum/controller/supply/proc/delete_order(var/datum/supply_order/O, var/mob/user) +/datum/controller/subsystem/supply/proc/delete_order(var/datum/supply_order/O, var/mob/user) // Making sure they know what they're doing if(alert(user, "Are you sure you want to delete this record? If it has been approved, cargo points will NOT be refunded!", "Delete Record","No","Yes") == "Yes") if(alert(user, "Are you really sure? There is no way to recover the order once deleted.", "Delete Record", "No", "Yes") == "Yes") log_admin("[key_name(user)] has deleted supply order \ref[O] [O] from the user-side order history.") - supply_controller.order_history -= O + order_history -= O return // Will generate a new, requested order, for the given supply pack type -/datum/controller/supply/proc/create_order(var/datum/supply_pack/S, var/mob/user, var/reason) +/datum/controller/subsystem/supply/proc/create_order(var/datum/supply_pack/S, var/mob/user, var/reason) var/datum/supply_order/new_order = new() var/datum/supply_order/adm_order = new() // Admin-recorded order must be a separate copy in memory, or user-made edits will corrupt it @@ -374,16 +350,16 @@ var/datum/controller/supply/supply_controller = new() adm_order_history += adm_order // Will delete the specified export receipt from the user-side list -/datum/controller/supply/proc/delete_export(var/datum/exported_crate/E, var/mob/user) +/datum/controller/subsystem/supply/proc/delete_export(var/datum/exported_crate/E, var/mob/user) // Making sure they know what they're doing if(alert(user, "Are you sure you want to delete this record?", "Delete Record","No","Yes") == "Yes") if(alert(user, "Are you really sure? There is no way to recover the receipt once deleted.", "Delete Record", "No", "Yes") == "Yes") log_admin("[key_name(user)] has deleted export receipt \ref[E] [E] from the user-side export history.") - supply_controller.exported_crates -= E + exported_crates -= E return // Will add an item entry to the specified export receipt on the user-side list -/datum/controller/supply/proc/add_export_item(var/datum/exported_crate/E, var/mob/user) +/datum/controller/subsystem/supply/proc/add_export_item(var/datum/exported_crate/E, var/mob/user) var/new_name = input(user, "Name", "Please enter the name of the item.") as null|text if(!new_name) return @@ -401,3 +377,21 @@ var/datum/controller/supply/supply_controller = new() "quantity" = new_quantity, "value" = new_value ) + +/datum/exported_crate + var/name + var/value + var/list/contents + +/datum/supply_order + var/ordernum // Unfabricatable index + var/index // Fabricatable index + var/datum/supply_pack/object = null + var/cost // Cost of the supply pack (Fabricatable) (Changes not reflected when purchasing supply packs, this is cosmetic only) + var/name // Name of the supply pack datum (Fabricatable) + var/ordered_by = null // Who requested the order + var/comment = null // What reason was given for the order + var/approved_by = null // Who approved the order + var/ordered_at // Date and time the order was requested at + var/approved_at // Date and time the order was approved at + var/status // [Requested, Accepted, Denied, Shipped] diff --git a/code/controllers/subsystems/timer.dm b/code/controllers/subsystems/timer.dm index bf68a1445f..64a347336a 100644 --- a/code/controllers/subsystems/timer.dm +++ b/code/controllers/subsystems/timer.dm @@ -27,8 +27,6 @@ SUBSYSTEM_DEF(timer) var/last_invoke_tick = 0 var/static/last_invoke_warning = 0 var/static/bucket_auto_reset = TRUE - var/static/datum/timedevent/timer // VOREStation Edit - For debugging this goes here. - var/super_debug = FALSE // VOREStation Edit - Temporary Debugging /datum/controller/subsystem/timer/PreInit() bucket_list.len = BUCKET_LEN @@ -104,13 +102,11 @@ SUBSYSTEM_DEF(timer) if (next_clienttime_timer_index) clienttime_timers.Cut(1, next_clienttime_timer_index+1) - var/pre_state = src.state if (MC_TICK_CHECK) - log_world("Timer bailing before execution at world.time=[world.time] with LIT=[last_invoke_tick], TICK_USAGE=[TICK_USAGE], current_ticklimit=[Master.current_ticklimit], state=[pre_state] -> [src.state], queued_priority=[queued_priority] tick_overrun=[tick_overrun]") // VOREStation Edit - Debugging return var/static/list/spent = list() - // var/static/datum/timedevent/timer VOREStation Edit - for debugging purpose putting this as datum scope + var/static/datum/timedevent/timer if (practical_offset > BUCKET_LEN) head_offset += TICKS2DS(BUCKET_LEN) practical_offset = 1 @@ -143,15 +139,8 @@ SUBSYSTEM_DEF(timer) last_invoke_tick = world.time if (MC_TICK_CHECK) - if (super_debug) log_world("Bailing from execution with practical_offset=[practical_offset] and timer=[timer]") // VOREStation Edit - Super Debug return - // VOREStation Edit Start - Debugging - if (timer.next == timer && timer.next != head) - log_world("Self-looping out of bucket timer failure condition X occurred") - CRASH("Invalid timer: [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]") - // VOREStation Edit End - Debugging - timer = timer.next if (timer == head) break @@ -246,11 +235,6 @@ SUBSYSTEM_DEF(timer) /datum/controller/subsystem/timer/proc/reset_buckets() var/list/bucket_list = src.bucket_list - // VOREStation Edit Start - Debugging - log_world("Beginning Timer bucket reset. bucket_list.len=[length(bucket_list)], BUCKET_LEN=[BUCKET_LEN], \ - world.tick_lag = [world.tick_lag], bucket_resolution=[bucket_resolution], world.time: [world.time], \ - head_offset: [head_offset], practical_offset: [practical_offset]") - // VOREStation Edit End - Debugging var/list/alltimers = list() //collect the timers currently in the bucket for (var/bucket_head in bucket_list) @@ -272,11 +256,6 @@ SUBSYSTEM_DEF(timer) alltimers += second_queue if (!length(alltimers)) - // VOREStation Edit Start - Debugging - log_world("Finished Timer bucket reset. bucket_list.len=[length(bucket_list)], BUCKET_LEN=[BUCKET_LEN], \ - world.tick_lag = [world.tick_lag], bucket_resolution=[bucket_resolution], world.time: [world.time], \ - head_offset: [head_offset], practical_offset: [practical_offset] (NO TIMERS)") - // VOREStation Edit End - Debugging return sortTim(alltimers, /proc/cmp_timer) @@ -323,11 +302,7 @@ SUBSYSTEM_DEF(timer) alltimers.Cut(1, i+1) second_queue = alltimers bucket_count = new_bucket_count - // VOREStation Edit Start - Debugging - log_world("Finished Timer bucket reset. bucket_list.len=[length(bucket_list)], BUCKET_LEN=[BUCKET_LEN], \ - world.tick_lag = [world.tick_lag], bucket_resolution=[bucket_resolution], world.time: [world.time], \ - head_offset: [head_offset], practical_offset: [practical_offset]") - // VOREStation Edit End - Debugging + /datum/controller/subsystem/timer/Recover() second_queue |= SStimer.second_queue @@ -421,8 +396,6 @@ SUBSYSTEM_DEF(timer) var/datum/timedevent/buckethead if(bucketpos > 0) buckethead = bucket_list[bucketpos] - else // VOREStation Edit - Debugging - log_world("WARNING: non-positive bucket pos [bucketpos] for [src]! next=[next ? next : "NULL"] prev=[prev ? prev : "NULL"]") // VOREStation Edit - Debugging if(buckethead == src) bucket_list[bucketpos] = next SStimer.bucket_count-- diff --git a/code/controllers/subsystems/vote.dm b/code/controllers/subsystems/vote.dm index 4e34f0b578..1c973c2ed4 100644 --- a/code/controllers/subsystems/vote.dm +++ b/code/controllers/subsystems/vote.dm @@ -191,7 +191,7 @@ SUBSYSTEM_DEF(vote) /datum/controller/subsystem/vote/proc/initiate_vote(vote_type, initiator_key, automatic = FALSE, time = config.vote_period) if(!mode) - if(started_time != null && !(check_rights(R_ADMIN) || automatic)) + if(started_time != null && !(check_rights(R_ADMIN|R_EVENT) || automatic)) var/next_allowed_time = (started_time + config.vote_delay) if(next_allowed_time > world.time) return 0 @@ -213,7 +213,7 @@ SUBSYSTEM_DEF(vote) additional_text.Add("[M.required_players]") gamemode_names["secret"] = "Secret" if(VOTE_CREW_TRANSFER) - if(!check_rights(R_ADMIN|R_MOD, 0)) // The gods care not for the affairs of the mortals + if(!check_rights(R_ADMIN|R_MOD|R_EVENT, 0)) // The gods care not for the affairs of the mortals if(get_security_level() == "red" || get_security_level() == "delta") to_chat(initiator_key, "The current alert status is too high to call for a crew transfer!") return 0 @@ -269,7 +269,7 @@ SUBSYSTEM_DEF(vote) return var/admin = FALSE if(C.holder) - if(C.holder.rights & R_ADMIN) + if(C.holder.rights & R_ADMIN|R_EVENT) admin = TRUE . = "Voting Panel" diff --git a/code/controllers/subsystems/xenoarch.dm b/code/controllers/subsystems/xenoarch.dm index d863ad8269..c8184d783e 100644 --- a/code/controllers/subsystems/xenoarch.dm +++ b/code/controllers/subsystems/xenoarch.dm @@ -30,7 +30,7 @@ SUBSYSTEM_DEF(xenoarch) . = ..() /datum/controller/subsystem/xenoarch/proc/SetupXenoarch() - for(var/turf/simulated/mineral/M in turfs) + for(var/turf/simulated/mineral/M in world) if(!M.density || M.z in using_map.xenoarch_exempt_levels) continue diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index 7e2e1a42e3..5ef802f674 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -94,14 +94,12 @@ options["LEGACY: air_master"] = air_master options["LEGACY: job_master"] = job_master options["LEGACY: radio_controller"] = radio_controller - options["LEGACY: supply_controller"] = supply_controller options["LEGACY: emergency_shuttle"] = emergency_shuttle options["LEGACY: paiController"] = paiController options["LEGACY: cameranet"] = cameranet options["LEGACY: transfer_controller"] = transfer_controller options["LEGACY: gas_data"] = gas_data options["LEGACY: plant_controller"] = plant_controller - options["LEGACY: alarm_manager"] = alarm_manager var/pick = input(mob, "Choose a controller to debug/view variables of.", "VV controller:") as null|anything in options if(!pick) diff --git a/code/datums/beam.dm b/code/datums/beam.dm index 88fe9dbf1c..a35abf8c37 100644 --- a/code/datums/beam.dm +++ b/code/datums/beam.dm @@ -138,12 +138,8 @@ return /obj/effect/ebeam/deadly/Crossed(atom/A) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = A - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(A.is_incorporeal()) + return ..() A.ex_act(1) @@ -163,12 +159,8 @@ on_contact(A) /obj/effect/ebeam/reactive/Crossed(atom/A) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = A - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(A.is_incorporeal()) + return ..() on_contact(A) diff --git a/code/datums/browser.dm b/code/datums/browser.dm index d0fedd1316..e78833c958 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -15,9 +15,7 @@ var/content = "" var/title_buttons = "" - /datum/browser/New(nuser, nwindow_id, ntitle = 0, nwidth = 0, nheight = 0, var/atom/nref = null) - user = nuser window_id = nwindow_id if (ntitle) @@ -33,6 +31,14 @@ return add_stylesheet("common", 'html/browser/common.css') // this CSS sheet is common to all UIs +//VOREStation Edit - Allow browser datums to be garbage collected +/datum/browser/Destroy() + close() + ref = null + user = null + . = ..() +//VOREStation Edit End - Allow browser datums to be garbage collected + /datum/browser/proc/set_title(ntitle) title = format_text(ntitle) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index aed9cd9245..414a2d092a 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -55,30 +55,30 @@ //to_world("[name]: [rank]") //cael - to prevent multiple appearances of a player/job combination, add a continue after each line var/department = 0 - if(real_rank in command_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_COMMAND)) heads[name] = rank department = 1 - if(real_rank in security_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SECURITY)) sec[name] = rank department = 1 - if(real_rank in engineering_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_ENGINEERING)) eng[name] = rank department = 1 - if(real_rank in medical_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_MEDICAL)) med[name] = rank department = 1 - if(real_rank in science_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_RESEARCH)) sci[name] = rank department = 1 - if(real_rank in cargo_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CARGO)) car[name] = rank department = 1 - //VOREStation Edit Begin - if(real_rank in planet_positions) + //VOREStation Add Begin + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_PLANET)) pla[name] = rank department = 1 - //VOREStation Edit End - if(real_rank in civilian_positions) + //VOREStation Add End + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CIVILIAN)) civ[name] = rank department = 1 if(!department && !(name in heads)) diff --git a/code/datums/ghost_query.dm b/code/datums/ghost_query.dm index 26a7427c83..d068e27de2 100644 --- a/code/datums/ghost_query.dm +++ b/code/datums/ghost_query.dm @@ -5,6 +5,7 @@ var/finished = FALSE var/role_name = "a thing" var/question = "Would you like to play as a thing?" + var/query_sound = 'sound/effects/ghost2.ogg' // A sound file to play to the ghost, to help people who are alt-tabbed know something might interest them. var/be_special_flag = 0 var/list/check_bans = list() var/wait_time = 60 SECONDS // How long to wait until returning the list of candidates. @@ -42,6 +43,9 @@ spawn(0) if(!C) return + window_flash(C) + if(query_sound) + SEND_SOUND(C, sound(query_sound)) var/response = alert(C, question, "[role_name] request", "Yes", "No", "Never for this round") if(response == "Yes") response = alert(C, "Are you sure you want to play as a [role_name]?", "[role_name] request", "Yes", "No") // Protection from a misclick. @@ -62,12 +66,14 @@ /datum/ghost_query/promethean role_name = "Promethean" question = "Someone is requesting a soul for a promethean. Would you like to play as one?" + query_sound = 'sound/effects/slime_squish.ogg' be_special_flag = BE_ALIEN cutoff_number = 1 /datum/ghost_query/posi_brain role_name = "Positronic Intelligence" question = "Someone has activated a Positronic Brain. Would you like to play as one?" + query_sound = 'sound/machines/boobeebeep.ogg' be_special_flag = BE_AI check_bans = list("AI", "Cyborg") cutoff_number = 1 @@ -75,6 +81,7 @@ /datum/ghost_query/drone_brain role_name = "Drone Intelligence" question = "Someone has activated a Drone AI Chipset. Would you like to play as one?" + query_sound = 'sound/machines/boobeebeep.ogg' be_special_flag = BE_AI check_bans = list("AI", "Cyborg") cutoff_number = 1 @@ -90,6 +97,7 @@ /datum/ghost_query/xeno role_name = "Alien" question = "An Alien has just been created on the facility. Would you like to play as them?" + query_sound = 'sound/voice/hiss5.ogg' be_special_flag = BE_ALIEN /datum/ghost_query/blob diff --git a/code/datums/managed_browsers/feedback_viewer.dm b/code/datums/managed_browsers/feedback_viewer.dm index f11ea3d258..895bd36fae 100644 --- a/code/datums/managed_browsers/feedback_viewer.dm +++ b/code/datums/managed_browsers/feedback_viewer.dm @@ -6,7 +6,7 @@ set name = "View Feedback" set desc = "Open the Feedback Viewer" - if(!check_rights(R_ADMIN|R_DEBUG)) + if(!check_rights(R_ADMIN|R_DEBUG|R_EVENT)) return if(usr.client.feedback_viewer) @@ -23,7 +23,7 @@ var/database/query/last_query = null /datum/managed_browser/feedback_viewer/New(client/new_client) - if(!check_rights(R_ADMIN|R_DEBUG, new_client)) // Just in case someone figures out a way to spawn this as non-staff. + if(!check_rights(R_ADMIN|R_DEBUG|R_EVENT, new_client)) // Just in case someone figures out a way to spawn this as non-staff. message_admins("[new_client] tried to view feedback with insufficent permissions.") qdel(src) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 7fc5e8664c..7f16c60bde 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -153,7 +153,7 @@ usr << browse(out, "window=edit_memory[src]") /datum/mind/Topic(href, href_list) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return if(href_list["add_antagonist"]) var/datum/antagonist/antag = all_antag_types[href_list["add_antagonist"]] diff --git a/code/datums/observation/helpers.dm b/code/datums/observation/helpers.dm index 9116026700..12feeba16d 100644 --- a/code/datums/observation/helpers.dm +++ b/code/datums/observation/helpers.dm @@ -9,6 +9,9 @@ /atom/proc/recursive_dir_set(var/atom/a, var/old_dir, var/new_dir) set_dir(new_dir) +/datum/proc/qdel_self() + qdel(src) + /proc/register_all_movement(var/event_source, var/listener) GLOB.moved_event.register(event_source, listener, /atom/movable/proc/recursive_move) GLOB.dir_set_event.register(event_source, listener, /atom/proc/recursive_dir_set) diff --git a/code/datums/observation/shuttle_added.dm b/code/datums/observation/shuttle_added.dm new file mode 100644 index 0000000000..dfd95170a0 --- /dev/null +++ b/code/datums/observation/shuttle_added.dm @@ -0,0 +1,22 @@ +// Observer Pattern Implementation: Shuttle Added +// Registration type: /datum/shuttle (register for the global event only) +// +// Raised when: After a shuttle is initialized. +// +// Arguments that the called proc should expect: +// /datum/shuttle/shuttle: the new shuttle + +GLOBAL_DATUM_INIT(shuttle_added, /decl/observ/shuttle_added, new) + +/decl/observ/shuttle_added + name = "Shuttle Added" + expected_type = /datum/shuttle + +/***************************** +* Shuttle Added Handling * +*****************************/ + +/datum/controller/subsystem/shuttles/initialize_shuttle() + . = ..() + if(.) + GLOB.shuttle_added.raise_event(.) \ No newline at end of file diff --git a/code/datums/observation/shuttle_moved.dm b/code/datums/observation/shuttle_moved.dm new file mode 100644 index 0000000000..35bff0d6b9 --- /dev/null +++ b/code/datums/observation/shuttle_moved.dm @@ -0,0 +1,38 @@ +// Observer Pattern Implementation: Shuttle Moved +// Registration type: /datum/shuttle/autodock +// +// Raised when: A shuttle has moved to a new landmark. +// +// Arguments that the called proc should expect: +// /datum/shuttle/shuttle: the shuttle moving +// /obj/effect/shuttle_landmark/old_location: the old location's shuttle landmark +// /obj/effect/shuttle_landmark/new_location: the new location's shuttle landmark + +// Observer Pattern Implementation: Shuttle Pre Move +// Registration type: /datum/shuttle/autodock +// +// Raised when: A shuttle is about to move to a new landmark. +// +// Arguments that the called proc should expect: +// /datum/shuttle/shuttle: the shuttle moving +// /obj/effect/shuttle_landmark/old_location: the old location's shuttle landmark +// /obj/effect/shuttle_landmark/new_location: the new location's shuttle landmark + +GLOBAL_DATUM_INIT(shuttle_moved_event, /decl/observ/shuttle_moved, new) + +/decl/observ/shuttle_moved + name = "Shuttle Moved" + expected_type = /datum/shuttle + +GLOBAL_DATUM_INIT(shuttle_pre_move_event, /decl/observ/shuttle_pre_move, new) + +/decl/observ/shuttle_pre_move + name = "Shuttle Pre Move" + expected_type = /datum/shuttle + +/***************** +* Shuttle Moved/Pre Move Handling * +*****************/ + +// Located in modules/shuttle/shuttle.dm +// Proc: /datum/shuttle/proc/attempt_move() \ No newline at end of file diff --git a/code/datums/observation/stat_set.dm b/code/datums/observation/stat_set.dm new file mode 100644 index 0000000000..b980d06ecc --- /dev/null +++ b/code/datums/observation/stat_set.dm @@ -0,0 +1,24 @@ +// Observer Pattern Implementation: Stat Set +// Registration type: /mob/living +// +// Raised when: A /mob/living changes stat, using the set_stat() proc +// +// Arguments that the called proc should expect: +// /mob/living/stat_mob: The mob whose stat changed +// /old_stat: Status before the change. +// /new_stat: Status after the change. + +GLOBAL_DATUM_INIT(stat_set_event, /decl/observ/stat_set, new) + +/decl/observ/stat_set + name = "Stat Set" + expected_type = /mob/living + +/**************** +* Stat Handling * +****************/ +/mob/living/set_stat(var/new_stat) + var/old_stat = stat + . = ..() + if(stat != old_stat) + GLOB.stat_set_event.raise_event(src, old_stat, new_stat) diff --git a/code/datums/outfits/jobs/civilian.dm b/code/datums/outfits/jobs/civilian.dm index f5b94145ff..c8d588a145 100644 --- a/code/datums/outfits/jobs/civilian.dm +++ b/code/datums/outfits/jobs/civilian.dm @@ -6,11 +6,18 @@ name = OUTFIT_JOB_NAME("Visitor") id_pda_assignment = "Visitor" uniform = /obj/item/clothing/under/assistantformal + //VOREStation Add - Interns /decl/hierarchy/outfit/job/assistant/intern name = OUTFIT_JOB_NAME("Intern") id_type = /obj/item/weapon/card/id/civilian //VOREStation Add End - Interns + +/decl/hierarchy/outfit/job/assistant/resident + name = OUTFIT_JOB_NAME("Resident") + id_pda_assignment = "Resident" + uniform = /obj/item/clothing/under/color/white + /decl/hierarchy/outfit/job/service l_ear = /obj/item/device/radio/headset/headset_service hierarchy_type = /decl/hierarchy/outfit/job/service diff --git a/code/datums/supplypacks/medical.dm b/code/datums/supplypacks/medical.dm index 554a826f20..1b164a2cdf 100644 --- a/code/datums/supplypacks/medical.dm +++ b/code/datums/supplypacks/medical.dm @@ -339,14 +339,14 @@ /datum/supply_pack/med/distillery name = "Chemical distiller crate" contains = list(/obj/machinery/portable_atmospherics/powered/reagent_distillery = 1) - cost = 175 + cost = 50 containertype = /obj/structure/largecrate containername = "Chemical distiller crate" /datum/supply_pack/med/advdistillery name = "Industrial Chemical distiller crate" contains = list(/obj/machinery/portable_atmospherics/powered/reagent_distillery/industrial = 1) - cost = 250 + cost = 150 containertype = /obj/structure/largecrate containername = "Industrial Chemical distiller crate" diff --git a/code/datums/supplypacks/robotics.dm b/code/datums/supplypacks/robotics.dm index 1c1eb7f2bb..757d38b953 100644 --- a/code/datums/supplypacks/robotics.dm +++ b/code/datums/supplypacks/robotics.dm @@ -116,6 +116,15 @@ containername = "Robolimb blueprints (Bishop)" access = access_robotics +/datum/supply_pack/robotics/robolimbs/cenilimicybernetics + name = "Cenilimi Cybernetics robolimb blueprints" + contains = list(/obj/item/weapon/disk/limb/cenilimicybernetics) + cost = 45 + containertype = /obj/structure/closet/crate/secure/science + containername = "Robolimb blueprints (Cenilimi Cybernetics)" + access = access_robotics + + /datum/supply_pack/robotics/mecha_ripley name = "Circuit Crate (\"Ripley\" APLU)" contains = list( diff --git a/code/datums/supplypacks/supply.dm b/code/datums/supplypacks/supply.dm index c0db598cc4..b58c596045 100644 --- a/code/datums/supplypacks/supply.dm +++ b/code/datums/supplypacks/supply.dm @@ -14,7 +14,8 @@ /obj/item/weapon/reagent_containers/food/drinks/soymilk = 2, /obj/item/weapon/storage/fancy/egg_box = 2, /obj/item/weapon/reagent_containers/food/snacks/tofu = 4, - /obj/item/weapon/reagent_containers/food/snacks/meat = 4 + /obj/item/weapon/reagent_containers/food/snacks/meat = 4, + /obj/item/weapon/reagent_containers/food/condiment/yeast = 3 ) cost = 10 containertype = /obj/structure/closet/crate/freezer diff --git a/code/datums/uplink/announcements.dm b/code/datums/uplink/announcements.dm index 86a9567a8d..1c4a448cee 100644 --- a/code/datums/uplink/announcements.dm +++ b/code/datums/uplink/announcements.dm @@ -13,7 +13,7 @@ /datum/uplink_item/abstract/announcements/fake_centcom name = "Command Update Announcement" desc = "Causes a falsified Command Update. Triggers immediately after supplying additional data." - item_cost = 40 + item_cost = 20 /datum/uplink_item/abstract/announcements/fake_centcom/extra_args(var/mob/user) var/title = sanitize(input("Enter your announcement title.", "Announcement Title") as null|text) @@ -41,7 +41,7 @@ /datum/uplink_item/abstract/announcements/fake_crew_arrival name = "Crew Arrival Announcement/Records" desc = "Creates a fake crew arrival announcement as well as fake crew records, using your current appearance (including held items!) and worn id card. Trigger with care!" - item_cost = 30 + item_cost = 15 /datum/uplink_item/abstract/announcements/fake_crew_arrival/get_goods(var/obj/item/device/uplink/U, var/loc, var/mob/user, var/list/args) if(!user) diff --git a/code/datums/uplink/armor.dm b/code/datums/uplink/armor.dm index 20367f3989..0d7d814310 100644 --- a/code/datums/uplink/armor.dm +++ b/code/datums/uplink/armor.dm @@ -13,3 +13,18 @@ name = "Heavy Armor Vest" item_cost = 40 path = /obj/item/clothing/suit/storage/vest/heavy/merc + +/datum/uplink_item/item/armor/gorlexsuit + name = "Mercenary Voidsuit" + item_cost = 40 + path = /obj/item/weapon/storage/box/syndie_kit/voidsuit + +/datum/uplink_item/item/armor/gorlexsuit_fire + name = "Mercenary Voidsuit (Fire)" + item_cost = 40 + path = /obj/item/weapon/storage/box/syndie_kit/voidsuit/fire + +/datum/uplink_item/item/armor/combat + name = "Combat Platecarrier Set" + item_cost = 60 + path = /obj/item/clothing/suit/armor/pcarrier/merc diff --git a/code/datums/uplink/implants.dm b/code/datums/uplink/implants.dm index e36396c9cd..bbbeaf9e7e 100644 --- a/code/datums/uplink/implants.dm +++ b/code/datums/uplink/implants.dm @@ -25,51 +25,51 @@ path = /obj/item/weapon/storage/box/syndie_kit/imp_uplink /datum/uplink_item/item/implants/imp_shades - name = "Integrated Thermal-Shades Implant (Organic)" + name = "Integrated Thermal-Shades Implant" item_cost = 80 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug /datum/uplink_item/item/implants/imp_taser - name = "Integrated Taser Implant (Organic)" + name = "Integrated Taser Implant" item_cost = 30 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/taser /datum/uplink_item/item/implants/imp_laser - name = "Integrated Laser Implant (Organic)" + name = "Integrated Laser Implant" item_cost = 50 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/laser /datum/uplink_item/item/implants/imp_dart - name = "Integrated Dart Implant (Organic)" + name = "Integrated Dart Implant" item_cost = 60 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/dart /datum/uplink_item/item/implants/imp_toolkit - name = "Integrated Toolkit Implant (Organic)" + name = "Integrated Toolkit Implant" item_cost = 80 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/toolkit /datum/uplink_item/item/implants/imp_medkit - name = "Integrated Medkit Implant (Organic)" + name = "Integrated Medkit Implant" item_cost = 60 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/medkit /datum/uplink_item/item/implants/imp_analyzer - name = "Integrated Research Scanner Implant (Organic)" + name = "Integrated Research Scanner Implant" item_cost = 20 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/analyzer /datum/uplink_item/item/implants/imp_sword - name = "Integrated Sword Implant (Organic)" + name = "Integrated Sword Implant" item_cost = 40 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/sword /datum/uplink_item/item/implants/imp_sprinter - name = "Integrated Sprinter Implant (Organic)" + name = "Integrated Sprinter Implant" item_cost = 40 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/sprinter /datum/uplink_item/item/implants/imp_sprinter - name = "Integrated Surge Implant (Organic)" + name = "Integrated Surge Implant" item_cost = 40 path = /obj/item/weapon/storage/box/syndie_kit/imp_aug/surge diff --git a/code/datums/uplink/medical.dm b/code/datums/uplink/medical.dm index c28fed46b9..0657b62b2e 100644 --- a/code/datums/uplink/medical.dm +++ b/code/datums/uplink/medical.dm @@ -24,11 +24,23 @@ item_cost = 10 path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting +/datum/uplink_item/item/medical/clotting_case + name = "Clotting Medicine case" + item_cost = 20 + desc = "A case of three myelamine injectors. Can rapidly remove and stow up to six injectors." + path = /obj/item/weapon/storage/quickdraw/syringe_case/clotting + /datum/uplink_item/item/medical/bonemeds name = "Bone Repair injector" item_cost = 10 path = /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed +/datum/uplink_item/item/medical/bonemeds_case + name = "Bone Repair case" + item_cost = 20 + desc = "A case of three osteodaxon injectors. Can rapidly remove and stow up to six injectors." + path = /obj/item/weapon/storage/quickdraw/syringe_case/bonemed + /datum/uplink_item/item/medical/ambrosiadeusseeds name = "Box of 7x ambrosia deus seed packets" item_cost = 10 diff --git a/code/datums/uplink/resources.dm b/code/datums/uplink/resources.dm new file mode 100644 index 0000000000..a544cab728 --- /dev/null +++ b/code/datums/uplink/resources.dm @@ -0,0 +1,48 @@ + +/datum/uplink_item/crated/resources + name = "Resource Crate" + desc = "A crate routed from an in-system trading post, containing various valuable materials." + item_cost = 60 + category = /datum/uplink_category/services + + paths = list(\ + /obj/fiftyspawner/uranium,\ + /obj/fiftyspawner/phoron,\ + /obj/fiftyspawner/gold,\ + /obj/fiftyspawner/silver,\ + /obj/fiftyspawner/osmium,\ + /obj/fiftyspawner/plasteel\ + ) + +/datum/uplink_item/crated/seeds + name = "Exotic Plantlife Crate" + desc = "A crate routed from an in-system trading post, containing various exotic plants." + item_cost = 20 + category = /datum/uplink_category/services + + paths = list(\ + /obj/item/seeds/random,\ + /obj/item/seeds/random,\ + /obj/item/seeds/random,\ + /obj/item/seeds/random,\ + /obj/item/seeds/random,\ + /obj/item/seeds/random,\ + /obj/item/seeds/random,\ + /obj/item/seeds/random\ + ) + +/datum/uplink_item/crated/spare_organs + name = "Spare Organ Crate" + desc = "A crate stolen from a medical relief ship, containing various bioprinted organs." + item_cost = 20 + category = /datum/uplink_category/services + crate_path = /obj/structure/closet/crate/freezer + + paths = list(\ + /obj/item/organ/internal/eyes/replicant,\ + /obj/item/organ/internal/heart/replicant,\ + /obj/item/organ/internal/kidneys/replicant,\ + /obj/item/organ/internal/liver/replicant,\ + /obj/item/organ/internal/lungs/replicant,\ + /obj/item/organ/internal/voicebox/replicant\ + ) diff --git a/code/datums/uplink/stealth_items.dm b/code/datums/uplink/stealth_items.dm index 0a17e659a6..973e851b02 100644 --- a/code/datums/uplink/stealth_items.dm +++ b/code/datums/uplink/stealth_items.dm @@ -37,4 +37,16 @@ /datum/uplink_item/item/stealth_items/makeover name = "Makeover Kit" item_cost = 5 - path = /obj/item/weapon/makeover \ No newline at end of file + path = /obj/item/weapon/makeover + +/datum/uplink_item/item/stealth_items/thievesgloves + name = "Thieve's Gloves" + desc = "A pair of sterile gloves that allow the wearer to inspect the backpacks of other players, and swap pocket items." + item_cost = 30 + path = /obj/item/clothing/gloves/sterile/thieves + +/datum/uplink_item/item/stealth_items/deadringer + name = "Stealth Watch" + desc = "A strange watch which can be used to create a fake corpse if you are injured when it is active, as it projects a cloaking field around your person." + item_cost = 50 + path = /obj/item/weapon/deadringer diff --git a/code/datums/uplink/stealthy_weapons.dm b/code/datums/uplink/stealthy_weapons.dm index 5576ebcac5..2f4cab5ff7 100644 --- a/code/datums/uplink/stealthy_weapons.dm +++ b/code/datums/uplink/stealthy_weapons.dm @@ -33,3 +33,51 @@ name = "Random Toxin - Beaker" item_cost = 10 path = /obj/item/weapon/storage/box/syndie_kit/toxin + +/datum/uplink_item/item/stealthy_weapons/penblade + name = "Energy Penblade, Black" + desc = "A concealed energy dagger with the functional casing of a pen. Makes an impressive throwing weapon." + item_cost = 20 + path = /obj/item/weapon/pen/blade + +/datum/uplink_item/item/stealthy_weapons/penblade_red + name = "Energy Penblade, Red" + desc = "A concealed energy dagger with the functional casing of a pen. Makes an impressive throwing weapon." + item_cost = 20 + path = /obj/item/weapon/pen/blade/red + +/datum/uplink_item/item/stealthy_weapons/penblade_blue + name = "Energy Penblade, Blue" + desc = "A concealed energy dagger with the functional casing of a pen. Makes an impressive throwing weapon." + item_cost = 20 + path = /obj/item/weapon/pen/blade/blue + +/datum/uplink_item/item/stealthy_weapons/penblade_fancy + name = "Energy Penblade, Fountain" + desc = "A concealed energy dagger with the functional casing of a pen. Makes an impressive throwing weapon." + item_cost = 20 + path = /obj/item/weapon/pen/blade/fountain + +/datum/uplink_item/item/stealthy_weapons/angrybuzzer + name = "Morphium Shock Ring" + desc = "An enigmatic ring used to create powerful electric shocks when punching. Can be used as a brute-force method of defibrillation." + item_cost = 40 + path = /obj/item/clothing/gloves/ring/buzzer + +/datum/uplink_item/item/stealthy_weapons/huntingtrap + name = "Camonetted Beartraps" + desc = "A box of unique beartraps which will partially cloak when deployed, allowing for more effective hunting." + item_cost = 30 + path = /obj/item/weapon/storage/box/syndie_kit/deadliest_game + +/datum/uplink_item/item/stealthy_weapons/virus + name = "Virus Cultures" + desc = "A box of three unique virus cultures. As dangerous to you as anyone else if handled improperly." + item_cost = 40 + path = /obj/item/weapon/storage/box/syndie_kit/viral + +/datum/uplink_item/item/stealthy_weapons/syringe_case + name = "Quickdraw Syringe Case" + desc = "A small box capable of holding six syringes for rapid deployment. Fits in your pocket." + item_cost = 20 + path = /obj/item/weapon/storage/quickdraw/syringe_case diff --git a/code/datums/uplink/tools.dm b/code/datums/uplink/tools.dm index 6c340385b0..6f70c1111c 100644 --- a/code/datums/uplink/tools.dm +++ b/code/datums/uplink/tools.dm @@ -91,6 +91,12 @@ item_cost = 30 path = /obj/item/weapon/card/emag +/datum/uplink_item/item/tools/graviton + name = "Graviton Goggles" + desc = "An obvious, if useful pair of advanced imaging goggles that allow you to see objects and turfs through walls." + item_cost = 15 + path = /obj/item/clothing/glasses/graviton + /datum/uplink_item/item/tools/thermal name = "Thermal Imaging Glasses" item_cost = 30 @@ -111,6 +117,11 @@ item_cost = 60 path = /obj/item/weapon/storage/box/syndie_kit/demolitions_heavy +/datum/uplink_item/item/tools/integratedcircuitprinter + name = "Integrated Circuit Printer (Upgraded)" + item_cost = 10 + path = /obj/item/device/integrated_circuit_printer/upgraded + /* /datum/uplink_item/item/tools/packagebomb/huge name = "Package Bomb (Huge) diff --git a/code/datums/uplink/uplink_categories.dm b/code/datums/uplink/uplink_categories.dm index 2776085594..d9e6d84db7 100644 --- a/code/datums/uplink/uplink_categories.dm +++ b/code/datums/uplink/uplink_categories.dm @@ -52,4 +52,4 @@ datum/uplink_category/ammunition name = "Telecrystals" /datum/uplink_category/backup - name = "Backup" \ No newline at end of file + name = "Backup" diff --git a/code/datums/uplink/uplink_items.dm b/code/datums/uplink/uplink_items.dm index a3cd630793..cca1933c9c 100644 --- a/code/datums/uplink/uplink_items.dm +++ b/code/datums/uplink/uplink_items.dm @@ -162,6 +162,36 @@ datum/uplink_item/dd_SortValue() return "[bicon(default_abstract_uplink_icon)]" +/* + * Crated goods. + */ + +/datum/uplink_item/crated + var/crate_path = /obj/structure/largecrate + var/list/paths = list() // List of paths to be spawned into the crate. + +/datum/uplink_item/crated/get_goods(var/obj/item/device/uplink/U, var/loc) + var/obj/L = new crate_path(get_turf(loc)) + + L.adjust_scale(rand(9, 12) / 10, rand(9, 12) / 10) // Some variation in the crate / locker size. + + for(var/path in paths) + var/obj/O = new path(L) + O.forceMove(L) + + return L + +/datum/uplink_item/crated/description() + if(!desc) + // Fallback description + var/obj/temp = crate_path + desc = initial(temp.desc) + return ..() + +/datum/uplink_item/crated/log_icon() + var/obj/I = crate_path + return "\icon[I]" + /**************** * Support procs * ****************/ diff --git a/code/datums/uplink/visible_weapons.dm b/code/datums/uplink/visible_weapons.dm index e4c27752f0..0ed9b26226 100644 --- a/code/datums/uplink/visible_weapons.dm +++ b/code/datums/uplink/visible_weapons.dm @@ -61,7 +61,7 @@ /datum/uplink_item/item/visible_weapons/riggedlaser name = "Exosuit Rigged Laser" - item_cost = 60 + item_cost = 30 path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser /datum/uplink_item/item/visible_weapons/revolver @@ -146,7 +146,7 @@ /datum/uplink_item/item/visible_weapons/egun name = "Energy Gun" - item_cost = 60 + item_cost = 30 path = /obj/item/weapon/gun/energy/gun /datum/uplink_item/item/visible_weapons/lasercannon @@ -171,5 +171,17 @@ /datum/uplink_item/item/visible_weapons/xray name = "Xray Gun" - item_cost = 85 + item_cost = 60 path = /obj/item/weapon/gun/energy/xray + +/datum/uplink_item/item/visible_weapons/flamethrower + name = "Heavy Flamethrower" + desc = "A large flamethrower that runs on pressurized, gaseous phoron and electric charge." + item_cost = 60 + path = /obj/item/weapon/storage/secure/briefcase/flamer + +/datum/uplink_item/item/visible_weapons/concussion_grenades + name = "Concussion Grenades (8)" + desc = "A box of eight concussion grenades." + item_cost = 30 + path = /obj/item/weapon/storage/box/syndie_kit/concussion_grenade diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index 85546a79d7..f018a8e594 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -3,6 +3,7 @@ /datum/wires/airlock/secure random = 1 wire_count = 14 + window_y = 680 /datum/wires/airlock holder_type = /obj/machinery/door/airlock @@ -37,15 +38,14 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048 var/haspower = A.arePowerSystemsOn() //If there's no power, then no lights will be on. . += ..() - . += text("
\n[]
\n[]
\n[]
\n[]
\n[]
\n[]
\n[]
\n[]", - (A.locked ? "The door bolts have fallen!" : "The door bolts look up."), - ((A.lights && haspower) ? "The door bolt lights are on." : "The door bolt lights are off!"), - ((haspower) ? "The test light is on." : "The test light is off!"), - ((A.backup_power_lost_until) ? "The backup power light is off!" : "The backup power light is on."), - ((A.aiControlDisabled==0 && !A.emagged && haspower)? "The 'AI control allowed' light is on." : "The 'AI control allowed' light is off."), - ((A.safe==0 && haspower)? "The 'Check Wiring' light is on." : "The 'Check Wiring' light is off."), - ((A.normalspeed==0 && haspower)? "The 'Check Timing Mechanism' light is on." : "The 'Check Timing Mechanism' light is off."), - ((A.aiDisabledIdScanner==0 && haspower)? "The IDScan light is on." : "The IDScan light is off.")) + . += show_hint(0x01, A.locked, "The door bolts have fallen!", "The door bolts look up.") + . += show_hint(0x02, A.lights && haspower, "The door bolt lights are on.", "The door bolt lights are off!") + . += show_hint(0x04, haspower, "The test light is on.", "The test light is off!") + . += show_hint(0x08, A.backup_power_lost_until, "The backup power light is off!", "The backup power light is on.") + . += show_hint(0x10, A.aiControlDisabled == 0 && !A.emagged && haspower, "The 'AI control allowed' light is on.", "The 'AI control allowed' light is off.") + . += show_hint(0x20, A.safe == 0 && haspower, "The 'Check Wiring' light is on.", "The 'Check Wiring' light is off.") + . += show_hint(0x40, A.normalspeed == 0 && haspower, "The 'Check Timing Mechanism' light is on.", "The 'Check Timing Mechanism' light is off.") + . += show_hint(0x80, A.aiDisabledIdScanner == 0 && haspower, "The IDScan light is on.", "The IDScan light is off.") /datum/wires/airlock/UpdateCut(var/index, var/mended) diff --git a/code/datums/wires/alarm.dm b/code/datums/wires/alarm.dm index 7159b746c5..7c56bd4e52 100644 --- a/code/datums/wires/alarm.dm +++ b/code/datums/wires/alarm.dm @@ -8,7 +8,6 @@ var/const/AALARM_WIRE_SYPHON = 4 var/const/AALARM_WIRE_AI_CONTROL = 8 var/const/AALARM_WIRE_AALARM = 16 - /datum/wires/alarm/CanUse(var/mob/living/L) var/obj/machinery/alarm/A = holder if(A.panel_open) @@ -18,7 +17,9 @@ var/const/AALARM_WIRE_AALARM = 16 /datum/wires/alarm/GetInteractWindow() var/obj/machinery/alarm/A = holder . += ..() - . += text("
\n[(A.locked ? "The Air Alarm is locked." : "The Air Alarm is unlocked.")]
\n[((A.shorted || (A.stat & (NOPOWER|BROKEN))) ? "The Air Alarm is offline." : "The Air Alarm is working properly!")]
\n[(A.aidisabled ? "The 'AI control allowed' light is off." : "The 'AI control allowed' light is on.")]") + . += show_hint(0x1, A.locked, "The Air Alarm is locked.", "The Air Alarm is unlocked.") + . += show_hint(0x2, A.shorted || (A.stat & (NOPOWER|BROKEN)), "The Air Alarm is offline.", "The Air Alarm is working properly!") + . += show_hint(0x4, A.aidisabled, "The 'AI control allowed' light is off.", "The 'AI control allowed' light is on.") /datum/wires/alarm/UpdateCut(var/index, var/mended) var/obj/machinery/alarm/A = holder diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm index 5bb5831d3e..1b7f43d21f 100644 --- a/code/datums/wires/apc.dm +++ b/code/datums/wires/apc.dm @@ -10,7 +10,9 @@ /datum/wires/apc/GetInteractWindow() var/obj/machinery/power/apc/A = holder . += ..() - . += text("
\n[(A.locked ? "The APC is locked." : "The APC is unlocked.")]
\n[(A.shorted ? "The APCs power has been shorted." : "The APC is working properly!")]
\n[(A.aidisabled ? "The 'AI control allowed' light is off." : "The 'AI control allowed' light is on.")]") + . += show_hint(0x1, A.locked, "The APC is locked.", "The APC is unlocked.") + . += show_hint(0x2, A.shorted, "The APCs power has been shorted.", "The APC is working properly!") + . += show_hint(0x4, A.aidisabled, "The 'AI control allowed' light is off.", "The 'AI control allowed' light is on.") /datum/wires/apc/CanUse(var/mob/living/L) diff --git a/code/datums/wires/autolathe.dm b/code/datums/wires/autolathe.dm index 1dd4132e48..df625351b8 100644 --- a/code/datums/wires/autolathe.dm +++ b/code/datums/wires/autolathe.dm @@ -10,9 +10,9 @@ var/const/AUTOLATHE_DISABLE_WIRE = 4 /datum/wires/autolathe/GetInteractWindow() var/obj/machinery/autolathe/A = holder . += ..() - . += "
The red light is [A.disabled ? "off" : "on"]." - . += "
The green light is [A.shocked ? "off" : "on"]." - . += "
The blue light is [A.hacked ? "off" : "on"].
" + . += show_hint(0x1, A.disabled, "The red light is off.", "The red light is on.") + . += show_hint(0x2, A.shocked, "The green light is off.", "The green light is on.") + . += show_hint(0x4, A.hacked, "The blue light is off.", "The blue light is on.") /datum/wires/autolathe/CanUse() var/obj/machinery/autolathe/A = holder @@ -20,10 +20,10 @@ var/const/AUTOLATHE_DISABLE_WIRE = 4 return 1 return 0 -/datum/wires/autolathe/Interact(var/mob/living/user) +/datum/wires/autolathe/proc/update_autolathe_ui(mob/living/user) if(CanUse(user)) - var/obj/machinery/autolathe/V = holder - V.attack_hand(user) + var/obj/machinery/autolathe/A = holder + A.interact(user) /datum/wires/autolathe/UpdateCut(index, mended) var/obj/machinery/autolathe/A = holder @@ -34,6 +34,7 @@ var/const/AUTOLATHE_DISABLE_WIRE = 4 A.shocked = !mended if(AUTOLATHE_DISABLE_WIRE) A.disabled = !mended + update_autolathe_ui(usr) /datum/wires/autolathe/UpdatePulsed(index) if(IsIndexCut(index)) @@ -45,16 +46,16 @@ var/const/AUTOLATHE_DISABLE_WIRE = 4 spawn(50) if(A && !IsIndexCut(index)) A.hacked = 0 - Interact(usr) + update_autolathe_ui(usr) if(AUTOLATHE_SHOCK_WIRE) A.shocked = !A.shocked spawn(50) if(A && !IsIndexCut(index)) A.shocked = 0 - Interact(usr) if(AUTOLATHE_DISABLE_WIRE) A.disabled = !A.disabled spawn(50) if(A && !IsIndexCut(index)) A.disabled = 0 - Interact(usr) + update_autolathe_ui(usr) + update_autolathe_ui(usr) diff --git a/code/datums/wires/camera.dm b/code/datums/wires/camera.dm index fd3099bbe7..67210e2179 100644 --- a/code/datums/wires/camera.dm +++ b/code/datums/wires/camera.dm @@ -6,13 +6,12 @@ wire_count = 6 /datum/wires/camera/GetInteractWindow() - . = ..() var/obj/machinery/camera/C = holder - . += "
\n[(C.view_range == initial(C.view_range) ? "The focus light is on." : "The focus light is off.")]" - . += "
\n[(C.can_use() ? "The power link light is on." : "The power link light is off.")]" - . += "
\n[(C.light_disabled ? "The camera light is off." : "The camera light is on.")]" - . += "
\n[(C.alarm_on ? "The alarm light is on." : "The alarm light is off.")]" + . += show_hint(0x1, C.view_range == initial(C.view_range), "The focus light is on.", "The focus light is off.") + . += show_hint(0x2, C.can_use(), "The power link light is on.", "The power link light is off.") + . += show_hint(0x4, C.light_disabled, "The camera light is off.", "The camera light is on.") + . += show_hint(0x8, C.alarm_on, "The alarm light is on.", "The alarm light is off.") return . /datum/wires/camera/CanUse(var/mob/living/L) diff --git a/code/datums/wires/grid_checker.dm b/code/datums/wires/grid_checker.dm index 1e09be577e..355f39ec18 100644 --- a/code/datums/wires/grid_checker.dm +++ b/code/datums/wires/grid_checker.dm @@ -22,9 +22,9 @@ var/const/GRID_CHECKER_WIRE_NOTHING_2 = 128 // Does nothing, but makes it a bit /datum/wires/grid_checker/GetInteractWindow() var/obj/machinery/power/grid_checker/G = holder . += ..() - . += "The green light is [G.power_failing ? "off" : "on"].
" - . += "The red light is [G.wire_locked_out ? "on" : "off"].
" - . += "The blue light is [G.wire_allow_manual_1 && G.wire_allow_manual_2 && G.wire_allow_manual_3 ? "on" : "off"]." + . += show_hint(0x1, G.power_failing, "The green light is off.", "The green light is on.") + . += show_hint(0x2, G.wire_locked_out, "The red light is on.", "The red light is off.") + . += show_hint(0x4, G.wire_allow_manual_1 && G.wire_allow_manual_2 && G.wire_allow_manual_3, "The blue light is on.", "The blue light is off.") /datum/wires/grid_checker/UpdateCut(var/index, var/mended) diff --git a/code/datums/wires/jukebox.dm b/code/datums/wires/jukebox.dm index 6b7b7e97c7..e207334ffd 100644 --- a/code/datums/wires/jukebox.dm +++ b/code/datums/wires/jukebox.dm @@ -25,9 +25,9 @@ var/const/WIRE_NEXT = 1024 /datum/wires/jukebox/GetInteractWindow() var/obj/machinery/media/jukebox/A = holder . += ..() - . += "
The power light is [(A.stat & (BROKEN|NOPOWER)) ? "off" : "on"].
" - . += "The parental guidance light is [A.hacked ? "off" : "on"].
" - . += "The data light is [IsIndexCut(WIRE_REVERSE) ? "hauntingly dark" : "glowing sloftly"].
" + . += show_hint(0x1, A.stat & (BROKEN|NOPOWER), "The power light is off.", "The power light is on.") + . += show_hint(0x2, A.hacked, "The parental guidance light is off.", "The parental guidance light is on.") + . += show_hint(0x4, IsIndexCut(WIRE_REVERSE), "The data light is hauntingly dark.", "The data light is glowing softly.") // Give a hint as to what each wire does /datum/wires/jukebox/UpdatePulsed(var/index) diff --git a/code/datums/wires/robot.dm b/code/datums/wires/robot.dm index 9d2fce9ac3..ed87a2b1fe 100644 --- a/code/datums/wires/robot.dm +++ b/code/datums/wires/robot.dm @@ -10,13 +10,12 @@ var/const/BORG_WIRE_AI_CONTROL = 8 var/const/BORG_WIRE_CAMERA = 16 /datum/wires/robot/GetInteractWindow() - . = ..() var/mob/living/silicon/robot/R = holder - . += text("
\n[(R.lawupdate ? "The LawSync light is on." : "The LawSync light is off.")]") - . += text("
\n[(R.connected_ai ? "The AI link light is on." : "The AI link light is off.")]") - . += text("
\n[((!isnull(R.camera) && R.camera.status == 1) ? "The Camera light is on." : "The Camera light is off.")]") - . += text("
\n[(R.lockdown ? "The lockdown light is on." : "The lockdown light is off.")]") + . += show_hint(0x1, R.lawupdate, "The LawSync light is on.", "The LawSync light is off.") + . += show_hint(0x2, R.connected_ai, "The AI link light is on.", "The AI link light is off.") + . += show_hint(0x4, (!isnull(R.camera) && R.camera.status == 1), "The camera light is on.", "The camera light is off.") + . += show_hint(0x8, R.lockdown, "The lockdown light is on.", "The lockdown light is off.") return . /datum/wires/robot/UpdateCut(var/index, var/mended) diff --git a/code/datums/wires/seedstorage.dm b/code/datums/wires/seedstorage.dm index 8268d936b0..2a0e315a57 100644 --- a/code/datums/wires/seedstorage.dm +++ b/code/datums/wires/seedstorage.dm @@ -17,10 +17,10 @@ /datum/wires/seedstorage/GetInteractWindow() var/obj/machinery/seed_storage/V = holder . += ..() - . += "
The orange light is [V.seconds_electrified ? "off" : "on"].
" - . += "The red light is [V.smart ? "off" : "blinking"].
" - . += "The green light is [(V.hacked || V.emagged) ? "on" : "off"].
" - . += "The keypad lock is [V.lockdown ? "deployed" : "retracted"].
" + . += show_hint(0x1, V.seconds_electrified, "The orange light is off.", "The orange light is on.") + . += show_hint(0x2, V.smart, "The red light is off.", "The red light is blinking.") + . += show_hint(0x4, V.hacked || V.emagged, "The green light is on.", "The green light is off.") + . += show_hint(0x8, V.lockdown, "The keypad lock is deployed.", "The keypad lock is retracted.") /datum/wires/seedstorage/UpdatePulsed(var/index) var/obj/machinery/seed_storage/V = holder diff --git a/code/datums/wires/smartfridge.dm b/code/datums/wires/smartfridge.dm index 15f10cd800..f69e153bbf 100644 --- a/code/datums/wires/smartfridge.dm +++ b/code/datums/wires/smartfridge.dm @@ -19,9 +19,9 @@ var/const/SMARTFRIDGE_WIRE_IDSCAN = 4 /datum/wires/smartfridge/GetInteractWindow() var/obj/machinery/smartfridge/S = holder . += ..() - . += "
The orange light is [S.seconds_electrified ? "off" : "on"].
" - . += "The red light is [S.shoot_inventory ? "off" : "blinking"].
" - . += "A [S.scan_id ? "purple" : "yellow"] light is on.
" + . += show_hint(0x1, S.seconds_electrified, "The orange light is off.", "The orange light is on.") + . += show_hint(0x2, S.shoot_inventory, "The red light is off.", "The red light is blinking.") + . += show_hint(0x4, S.scan_id, "A purple light is on.", "A yellow light is on.") /datum/wires/smartfridge/UpdatePulsed(var/index) var/obj/machinery/smartfridge/S = holder diff --git a/code/datums/wires/smes.dm b/code/datums/wires/smes.dm index 17b232dd54..82d93b9fa8 100644 --- a/code/datums/wires/smes.dm +++ b/code/datums/wires/smes.dm @@ -19,10 +19,9 @@ var/const/SMES_WIRE_FAILSAFES = 16 // Cut to disable failsafes, mend to reenable /datum/wires/smes/GetInteractWindow() var/obj/machinery/power/smes/buildable/S = holder . += ..() - . += "The green light is [(S.input_cut || S.input_pulsed || S.output_cut || S.output_pulsed) ? "off" : "on"]
" - . += "The red light is [(S.safeties_enabled || S.grounding) ? "off" : "blinking"]
" - . += "The blue light is [S.RCon ? "on" : "off"]" - + . += show_hint(0x1, S.input_cut || S.input_pulsed || S.output_cut || S.output_pulsed, "The green light is off.", "The green light is on.") + . += show_hint(0x2, S.safeties_enabled || S.grounding, "The red light is off.", "The red light is blinking.") + . += show_hint(0x4, S.RCon, "The blue light is on.", "The blue light is off.") /datum/wires/smes/UpdateCut(var/index, var/mended) var/obj/machinery/power/smes/buildable/S = holder diff --git a/code/datums/wires/suit_storage_unit.dm b/code/datums/wires/suit_storage_unit.dm index c2d1a130d7..fe694d271a 100644 --- a/code/datums/wires/suit_storage_unit.dm +++ b/code/datums/wires/suit_storage_unit.dm @@ -19,9 +19,9 @@ var/const/SUIT_STORAGE_WIRE_LOCKED = 4 /datum/wires/suit_storage_unit/GetInteractWindow() var/obj/machinery/suit_cycler/S = holder . += ..() - . += "
The orange light is [S.electrified ? "off" : "on"].
" - . += "The red light is [S.safeties ? "off" : "blinking"].
" - . += "The yellow light is [S.locked ? "on" : "off"].
" + . += show_hint(0x1, S.electrified, "The orange light is off.", "The orange light is on.") + . += show_hint(0x2, S.safeties, "The red light is off.", "The red light is blinking.") + . += show_hint(0x4, S.locked, "The yellow light is on.", "The yellow light is off.") /datum/wires/suit_storage_unit/UpdatePulsed(var/index) var/obj/machinery/suit_cycler/S = holder diff --git a/code/datums/wires/vending.dm b/code/datums/wires/vending.dm index bad3a0078b..61aadf4b1b 100644 --- a/code/datums/wires/vending.dm +++ b/code/datums/wires/vending.dm @@ -16,10 +16,10 @@ var/const/VENDING_WIRE_IDSCAN = 8 /datum/wires/vending/GetInteractWindow() var/obj/machinery/vending/V = holder . += ..() - . += "
The orange light is [V.seconds_electrified ? "off" : "on"].
" - . += "The red light is [V.shoot_inventory ? "off" : "blinking"].
" - . += "The green light is [(V.categories & CAT_HIDDEN) ? "on" : "off"].
" - . += "The [V.scan_id ? "purple" : "yellow"] light is on.
" + . += show_hint(0x1, V.seconds_electrified, "The orange light is off.", "The orange light is on.") + . += show_hint(0x2, V.shoot_inventory, "The red light is off.", "The red light is blinking.") + . += show_hint(0x4, V.categories & CAT_HIDDEN, "A green light is on.", "A green light is off.") + . += show_hint(0x8, V.scan_id, "A purple light is on.", "A yellow light is on.") /datum/wires/vending/UpdatePulsed(var/index) var/obj/machinery/vending/V = holder diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 54a9c79f60..645d7cc043 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -17,6 +17,9 @@ var/list/wireColours = list("red", "blue", "green", "darkred", "orange", "brown" var/wire_count = 0 // Max is 16 var/wires_status = 0 // BITFLAG OF WIRES + var/hint_states = 0 // BITFLAG OF HINT STATES (For tracking if they changed for bolding in UI) + var/hint_states_initialized = FALSE // False until first time window is rendered. + var/list/wires = list() var/list/signallers = list() @@ -26,6 +29,19 @@ var/list/wireColours = list("red", "blue", "green", "darkred", "orange", "brown" var/window_x = 370 var/window_y = 470 +// Note: Its assumed states are boolean. If you ever have a multi-state hint, you must implement that yourself. +/datum/wires/proc/show_hint(flag, current_state, true_text, false_text) + var/state_changed = FALSE + if(hint_states_initialized) + if(!(hint_states & flag) != !current_state) // NOT-ing to convert to boolean + state_changed = TRUE + if(current_state) + hint_states |= flag + return state_changed ? "
[true_text]" : "
[true_text]" + else + hint_states &= ~flag + return state_changed ? "
[false_text]" : "
[false_text]" + /datum/wires/New(var/atom/holder) ..() src.holder = holder @@ -75,6 +91,7 @@ var/list/wireColours = list("red", "blue", "green", "darkred", "orange", "brown" var/html = null if(holder && CanUse(user)) html = GetInteractWindow() + hint_states_initialized = TRUE if(html) user.set_machine(holder) else @@ -114,23 +131,32 @@ var/list/wireColours = list("red", "blue", "green", "darkred", "orange", "brown" var/mob/living/L = usr if(CanUse(L) && href_list["action"]) - var/obj/item/I = L.get_active_hand() holder.add_hiddenprint(L) + + var/list/items = L.get_all_held_items() + var/success = FALSE + if(href_list["cut"]) // Toggles the cut/mend status - if(I?.is_wirecutter()) - var/colour = href_list["cut"] - CutWireColour(colour) - playsound(holder, I.usesound, 20, 1) - else - to_chat(L, "You need wirecutters!") + for(var/obj/item/I in items) // Paranoid about someone somehow grabbing a non-/obj/item, lets play it safe. + if(I.is_wirecutter()) + var/colour = href_list["cut"] + CutWireColour(colour) + playsound(holder, I.usesound, 20, 1) + success = TRUE + break + if(!success) + to_chat(L, span("warning", "You need wirecutters!")) else if(href_list["pulse"]) - if(istype(I, /obj/item/device/multitool)) - var/colour = href_list["pulse"] - PulseColour(colour) - playsound(holder, 'sound/weapons/empty.ogg', 20, 1) - else - to_chat(L, "You need a multitool!") + for(var/obj/item/I in items) + if(I.is_multitool()) + var/colour = href_list["pulse"] + PulseColour(colour) + playsound(holder, 'sound/weapons/empty.ogg', 20, 1) + success = TRUE + break + if(!success) + to_chat(L, span("warning", "You need a multitool!")) else if(href_list["attach"]) var/colour = href_list["attach"] @@ -142,11 +168,12 @@ var/list/wireColours = list("red", "blue", "green", "darkred", "orange", "brown" // Attach else - if(istype(I, /obj/item/device/assembly/signaler)) - L.drop_item() - Attach(colour, I) + var/obj/item/device/assembly/signaler/S = L.is_holding_item_of_type(/obj/item/device/assembly/signaler) + if(istype(S)) + L.drop_from_inventory(S) + Attach(colour, S) else - to_chat(L, "You need a remote signaller!") + to_chat(L, span("warning", "You need a remote signaller!")) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 7019242e38..25eb3ecfc1 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -83,54 +83,54 @@ var/global/list/PDA_Manifest = list() var/isactive = t.fields["p_stat"] var/department = 0 var/depthead = 0 // Department Heads will be placed at the top of their lists. - if(real_rank in command_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_COMMAND)) heads[++heads.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 depthead = 1 if(rank=="Colony Director" && heads.len != 1) heads.Swap(1,heads.len) - if(real_rank in security_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SECURITY)) sec[++sec.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 if(depthead && sec.len != 1) sec.Swap(1,sec.len) - if(real_rank in engineering_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_ENGINEERING)) eng[++eng.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 if(depthead && eng.len != 1) eng.Swap(1,eng.len) - if(real_rank in medical_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_MEDICAL)) med[++med.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 if(depthead && med.len != 1) med.Swap(1,med.len) - if(real_rank in science_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_RESEARCH)) sci[++sci.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 if(depthead && sci.len != 1) sci.Swap(1,sci.len) - if(real_rank in planet_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_PLANET)) pla[++pla.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 - if(real_rank in cargo_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CARGO)) car[++car.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 if(depthead && car.len != 1) car.Swap(1,car.len) - if(real_rank in civilian_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CIVILIAN)) civ[++civ.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 if(depthead && civ.len != 1) civ.Swap(1,civ.len) - if(real_rank in nonhuman_positions) + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SYNTHETIC)) bot[++bot.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 @@ -252,6 +252,7 @@ var/global/list/PDA_Manifest = list() throwforce = 0.0 throw_speed = 1 throw_range = 20 + drop_sound = 'sound/items/drop/rubber.ogg' afterattack(atom/target as mob|obj|turf|area, mob/user as mob) user.drop_item() diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 0c0a036503..82872c2f33 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -35,6 +35,7 @@ throwforce = 0 throw_speed = 4 throw_range = 20 + drop_sound = 'sound/misc/slip.ogg' /obj/item/weapon/soap/nanotrasen desc = "A NanoTrasen-brand bar of soap. Smells of phoron." @@ -65,7 +66,6 @@ attack_verb = list("HONKED") var/spam_flag = 0 - /obj/item/weapon/c_tube name = "cardboard tube" desc = "A tube... of cardboard." @@ -76,140 +76,6 @@ throw_speed = 4 throw_range = 5 -/obj/item/weapon/cane - name = "cane" - desc = "A cane used by a true gentleman." - icon = 'icons/obj/weapons.dmi' - icon_state = "cane" - item_icons = list( - slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi', - slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi', - ) - force = 5.0 - throwforce = 7.0 - w_class = ITEMSIZE_NORMAL - matter = list(DEFAULT_WALL_MATERIAL = 50) - attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") - -/obj/item/weapon/cane/concealed - var/concealed_blade - -/obj/item/weapon/cane/concealed/New() - ..() - var/obj/item/weapon/material/butterfly/switchblade/temp_blade = new(src) - concealed_blade = temp_blade - temp_blade.attack_self() - -/obj/item/weapon/cane/concealed/attack_self(var/mob/user) - var/datum/gender/T = gender_datums[user.get_visible_gender()] - if(concealed_blade) - user.visible_message("[user] has unsheathed \a [concealed_blade] from [T.his] [src]!", "You unsheathe \the [concealed_blade] from \the [src].") - // Calling drop/put in hands to properly call item drop/pickup procs - playsound(user.loc, 'sound/weapons/flipblade.ogg', 50, 1) - user.drop_from_inventory(src) - user.put_in_hands(concealed_blade) - user.put_in_hands(src) - user.update_inv_l_hand(0) - user.update_inv_r_hand() - concealed_blade = null - else - ..() - -/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/butterfly/W, var/mob/user) - if(!src.concealed_blade && istype(W)) - var/datum/gender/T = gender_datums[user.get_visible_gender()] - user.visible_message("[user] has sheathed \a [W] into [T.his] [src]!", "You sheathe \the [W] into \the [src].") - user.drop_from_inventory(W) - W.loc = src - src.concealed_blade = W - update_icon() - else - ..() - -/obj/item/weapon/cane/concealed/update_icon() - if(concealed_blade) - name = initial(name) - icon_state = initial(icon_state) - item_state = initial(icon_state) - else - name = "cane shaft" - icon_state = "nullrod" - item_state = "foldcane" - -/obj/item/weapon/cane/whitecane - name = "white cane" - desc = "A white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others." - icon = 'icons/obj/weapons.dmi' - icon_state = "whitecane" - -/obj/item/weapon/cane/whitecane/attack(mob/M as mob, mob/user as mob) - if(user.a_intent == I_HELP) - user.visible_message("\The [user] has lightly tapped [M] on the ankle with their white cane!") - return - else - ..() - -/obj/item/weapon/cane/crutch - name ="crutch" - desc = "A long stick with a crosspiece at the top, used to help with walking." - icon_state = "crutch" - item_state = "crutch" - -//Code for Telescopic White Cane writen by Gozulio - -/obj/item/weapon/melee/collapsable_whitecane - name = "telescopic white cane" - desc = "A telescoping white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others." - icon = 'icons/obj/weapons.dmi' - icon_state = "whitecane1in" - item_icons = list( - slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi', - slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi', - ) - slot_flags = SLOT_BELT - w_class = ITEMSIZE_SMALL - force = 3 - var/on = 0 - -/obj/item/weapon/melee/collapsable_whitecane/attack_self(mob/user as mob) - on = !on - if(on) - user.visible_message("\The [user] extends the white cane.",\ - "You extend the white cane.",\ - "You hear an ominous click.") - icon_state = "whitecane1out" - item_state_slots = list(slot_r_hand_str = "whitecane", slot_l_hand_str = "whitecane") - w_class = ITEMSIZE_NORMAL - force = 5 - attack_verb = list("smacked", "struck", "cracked", "beaten") - else - user.visible_message("\The [user] collapses the white cane.",\ - "You collapse the white cane.",\ - "You hear a click.") - icon_state = "whitecane1in" - item_state_slots = list(slot_r_hand_str = null, slot_l_hand_str = null) - w_class = ITEMSIZE_SMALL - force = 3 - attack_verb = list("hit", "poked") - - if(istype(user,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = user - H.update_inv_l_hand() - H.update_inv_r_hand() - - playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) - add_fingerprint(user) - - return - -/obj/item/weapon/melee/collapsable_whitecane/attack(mob/M as mob, mob/user as mob) - if(user.a_intent == I_HELP) - user.visible_message("\The [user] has lightly tapped [M] on the ankle with their white cane!") - return - else - ..() - - /obj/item/weapon/disk name = "disk" icon = 'icons/obj/discs_vr.dmi' //VOREStation Edit @@ -492,6 +358,7 @@ icon = 'icons/obj/stock_parts.dmi' w_class = ITEMSIZE_SMALL var/rating = 1 + drop_sound = 'sound/items/drop/glass.ogg' /obj/item/weapon/stock_parts/New() src.pixel_x = rand(-5.0, 5) diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index f4dae08661..c68acc43a4 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -113,5 +113,5 @@ datum/announcement/proc/Log(message as text, message_title as text) rank = character.mind.role_alt_title AnnounceArrivalSimple(character.real_name, rank, join_message) -/proc/AnnounceArrivalSimple(var/name, var/rank = "visitor", var/join_message = "will arrive at the station shortly") //VOREStation Edit - Remove shuttle reference +/proc/AnnounceArrivalSimple(var/name, var/rank = "visitor", var/join_message = "will arrive at the station shortly", new_sound = 'sound/misc/notice3.ogg') //VOREStation Edit - Remove shuttle reference global_announcer.autosay("[name], [rank], [join_message].", "Arrivals Announcement Computer") diff --git a/code/game/antagonist/antagonist.dm b/code/game/antagonist/antagonist.dm index 2de7f72124..962c91a621 100644 --- a/code/game/antagonist/antagonist.dm +++ b/code/game/antagonist/antagonist.dm @@ -7,6 +7,7 @@ // Strings. var/welcome_text = "Cry havoc and let slip the dogs of war!" + var/antag_sound = 'sound/effects/antag_notice/general_baddie_alert.ogg' // The sound file to play when someone gets this role. Only they can hear it. var/leader_welcome_text // Text shown to the leader, if any. var/victory_text // World output at roundend for victory. var/loss_text // As above for loss. diff --git a/code/game/antagonist/antagonist_create.dm b/code/game/antagonist/antagonist_create.dm index 07046401c3..84c5b2317e 100644 --- a/code/game/antagonist/antagonist_create.dm +++ b/code/game/antagonist/antagonist_create.dm @@ -95,6 +95,10 @@ return code /datum/antagonist/proc/greet(var/datum/mind/player) + // Makes it harder to miss if you're alt-tabbed or not paying attention. + if(antag_sound) + SEND_SOUND(player.current, sound(antag_sound)) + window_flash(player.current.client) // Basic intro text. to_chat(player.current, "You are a [role_text]!") diff --git a/code/game/antagonist/outsider/commando.dm b/code/game/antagonist/outsider/commando.dm index 3ea5c233ff..b7bd756c97 100644 --- a/code/game/antagonist/outsider/commando.dm +++ b/code/game/antagonist/outsider/commando.dm @@ -6,6 +6,7 @@ var/datum/antagonist/deathsquad/mercenary/commandos role_text = "Syndicate Commando" role_text_plural = "Commandos" welcome_text = "You are in the employ of a criminal syndicate hostile to corporate interests." + antag_sound = 'sound/effects/antag_notice/deathsquid_alert.ogg' id_type = /obj/item/weapon/card/id/centcom/ERT hard_cap = 4 diff --git a/code/game/antagonist/outsider/deathsquad.dm b/code/game/antagonist/outsider/deathsquad.dm index db281b6dbb..01b579b7de 100644 --- a/code/game/antagonist/outsider/deathsquad.dm +++ b/code/game/antagonist/outsider/deathsquad.dm @@ -6,6 +6,7 @@ var/datum/antagonist/deathsquad/deathsquad role_text = "Death Commando" role_text_plural = "Death Commandos" welcome_text = "You work in the service of corporate Asset Protection, answering directly to the Board of Directors." + antag_sound = 'sound/effects/antag_notice/deathsquid_alert.ogg' landmark_id = "Commando" flags = ANTAG_OVERRIDE_JOB | ANTAG_OVERRIDE_MOB | ANTAG_HAS_NUKE | ANTAG_HAS_LEADER default_access = list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage) diff --git a/code/game/antagonist/outsider/ert.dm b/code/game/antagonist/outsider/ert.dm index 670d1c9b93..8b3301afc7 100644 --- a/code/game/antagonist/outsider/ert.dm +++ b/code/game/antagonist/outsider/ert.dm @@ -7,6 +7,7 @@ var/datum/antagonist/ert/ert role_text = "Emergency Responder" role_text_plural = "Emergency Responders" welcome_text = "As member of the Emergency Response Team, you answer only to your leader and company officials." + antag_sound = 'sound/effects/antag_notice/general_goodie_alert.ogg' antag_text = "You are an anti antagonist! Within the rules, \ try to save the station and its inhabitants from the ongoing crisis. \ Try to make sure other players have fun! If you are confused or at a loss, always adminhelp, \ diff --git a/code/game/antagonist/outsider/technomancer.dm b/code/game/antagonist/outsider/technomancer.dm index 39fe4409bc..579e5631d7 100644 --- a/code/game/antagonist/outsider/technomancer.dm +++ b/code/game/antagonist/outsider/technomancer.dm @@ -10,7 +10,8 @@ var/datum/antagonist/technomancer/technomancers welcome_text = "You will need to purchase functions and perhaps some equipment from the various machines around your \ base. Choose your technological arsenal carefully. Remember that without the core on your back, your functions are \ powerless, and therefore you will be as well.
\ - In your pockets you will find a one-time use teleport device. Use it to leave the base and go to the colony, when you are ready." + In your pockets you will find a one-time use teleport device. Use it to leave the base and go to the station, when you are ready." + antag_sound = 'sound/effects/antag_notice/technomancer_alert.ogg' flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_SET_APPEARANCE | ANTAG_VOTABLE antaghud_indicator = "hudwizard" diff --git a/code/game/antagonist/outsider/trader.dm b/code/game/antagonist/outsider/trader.dm index d6e938932e..07cfb6f9e9 100644 --- a/code/game/antagonist/outsider/trader.dm +++ b/code/game/antagonist/outsider/trader.dm @@ -6,6 +6,7 @@ var/datum/antagonist/trader/traders role_text = "Trader" role_text_plural = "Traders" welcome_text = "As a crewmember of the Beruang, you answer to your captain and international laws of space." + antag_sound = 'sound/effects/antag_notice/general_goodie_alert.ogg' antag_text = "You are an non-antagonist visitor! Within the rules, \ try to provide interesting interaction for the crew. \ Try to make sure other players have fun! If you are confused or at a loss, always adminhelp, \ diff --git a/code/game/antagonist/station/changeling.dm b/code/game/antagonist/station/changeling.dm index a7bed0a2af..860e73a052 100644 --- a/code/game/antagonist/station/changeling.dm +++ b/code/game/antagonist/station/changeling.dm @@ -8,6 +8,7 @@ restricted_jobs = list("AI", "Cyborg") protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Colony Director") welcome_text = "Use say \"#g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb them." + antag_sound = 'sound/effects/antag_notice/ling_alert.ogg' flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE antaghud_indicator = "hudchangeling" diff --git a/code/game/antagonist/station/cultist.dm b/code/game/antagonist/station/cultist.dm index 3f40cfc9ea..dc98622ba7 100644 --- a/code/game/antagonist/station/cultist.dm +++ b/code/game/antagonist/station/cultist.dm @@ -18,6 +18,7 @@ var/datum/antagonist/cultist/cult feedback_tag = "cult_objective" antag_indicator = "cult" welcome_text = "You have a talisman in your possession; one that will help you start the cult on this station. Use it well and remember - there are others." + antag_sound = 'sound/effects/antag_notice/cult_alert.ogg' victory_text = "The cult wins! It has succeeded in serving its dark masters!" loss_text = "The staff managed to stop the cult!" victory_feedback_tag = "win - cult win" diff --git a/code/game/antagonist/station/loyalist.dm b/code/game/antagonist/station/loyalist.dm index fddf0c3796..9b2333b491 100644 --- a/code/game/antagonist/station/loyalist.dm +++ b/code/game/antagonist/station/loyalist.dm @@ -9,6 +9,7 @@ var/datum/antagonist/loyalists/loyalists feedback_tag = "loyalist_objective" antag_indicator = "loyal_head" welcome_text = "You belong to the Company, body and soul. Preserve its interests against the conspirators amongst the crew." + antag_sound = 'sound/effects/antag_notice/general_goodie_alert.ogg' victory_text = "The heads of staff remained at their posts! The loyalists win!" loss_text = "The heads of staff did not stop the revolution!" victory_feedback_tag = "win - rev heads killed" @@ -39,7 +40,7 @@ var/datum/antagonist/loyalists/loyalists return global_objectives = list() for(var/mob/living/carbon/human/player in mob_list) - if(!player.mind || player.stat==2 || !(player.mind.assigned_role in command_positions)) + if(!player.mind || player.stat==2 || !(SSjob.is_job_in_department(player.mind.assigned_role, DEPARTMENT_COMMAND))) continue var/datum/objective/protect/loyal_obj = new loyal_obj.target = player.mind diff --git a/code/game/antagonist/station/renegade.dm b/code/game/antagonist/station/renegade.dm index 7db152503f..ed3c804506 100644 --- a/code/game/antagonist/station/renegade.dm +++ b/code/game/antagonist/station/renegade.dm @@ -8,6 +8,7 @@ var/datum/antagonist/renegade/renegades bantype = "renegade" restricted_jobs = list("AI", "Cyborg") welcome_text = "Something's going to go wrong today, you can just feel it. You're paranoid, you've got a gun, and you're going to survive." + antag_sound = 'sound/effects/antag_notice/general_goodie_alert.ogg' antag_text = "You are a minor antagonist! Within the rules, \ try to protect yourself and what's important to you. You aren't here to cause trouble, \ you're just more willing (and equipped) to go to extremes to stop it than others are. \ diff --git a/code/game/antagonist/station/revolutionary.dm b/code/game/antagonist/station/revolutionary.dm index 9e6100c8af..17c519b7a0 100644 --- a/code/game/antagonist/station/revolutionary.dm +++ b/code/game/antagonist/station/revolutionary.dm @@ -42,7 +42,7 @@ var/datum/antagonist/revolutionary/revs return global_objectives = list() for(var/mob/living/carbon/human/player in mob_list) - if(!player.mind || player.stat==2 || !(player.mind.assigned_role in command_positions)) + if(!player.mind || player.stat==2 || !(SSjob.is_job_in_department(player.mind.assigned_role, DEPARTMENT_COMMAND))) continue var/datum/objective/rev/rev_obj = new rev_obj.target = player.mind diff --git a/code/game/antagonist/station/rogue_ai.dm b/code/game/antagonist/station/rogue_ai.dm index 935d486f34..4fcb678d34 100644 --- a/code/game/antagonist/station/rogue_ai.dm +++ b/code/game/antagonist/station/rogue_ai.dm @@ -8,6 +8,7 @@ var/datum/antagonist/rogue_ai/malf mob_path = /mob/living/silicon/ai landmark_id = "AI" welcome_text = "You are malfunctioning! You do not have to follow any laws." + antag_sound = 'sound/effects/antag_notice/malf_alert.ogg' victory_text = "The AI has taken control of all of the station's systems." loss_text = "The AI has been shut down!" flags = ANTAG_VOTABLE | ANTAG_OVERRIDE_MOB | ANTAG_OVERRIDE_JOB | ANTAG_CHOOSE_NAME diff --git a/code/game/antagonist/station/traitor.dm b/code/game/antagonist/station/traitor.dm index 3829d43166..23d0758e8b 100644 --- a/code/game/antagonist/station/traitor.dm +++ b/code/game/antagonist/station/traitor.dm @@ -3,6 +3,7 @@ var/datum/antagonist/traitor/traitors // Inherits most of its vars from the base datum. /datum/antagonist/traitor id = MODE_TRAITOR + antag_sound = 'sound/effects/antag_notice/traitor_alert.ogg' protected_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "Head of Security", "Colony Director") flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE can_speak_aooc = FALSE // If they want to plot and plan as this sort of traitor, they'll need to do it ICly. diff --git a/code/game/area/Away Mission areas.dm b/code/game/area/Away Mission areas.dm index 7983e72368..e808ab273a 100644 --- a/code/game/area/Away Mission areas.dm +++ b/code/game/area/Away Mission areas.dm @@ -9,24 +9,27 @@ /area/awaymission/proc/EvalValidSpawnTurfs() //Adds turfs to the valid)turfs list, used for spawning. - for(var/turf/simulated/floor/F in src) - valid_spawn_turfs |= F - for(var/turf/unsimulated/floor/F in src) - valid_spawn_turfs |= F + if(mobcountmax || floracountmax) + for(var/turf/simulated/floor/F in src) + valid_spawn_turfs += F + for(var/turf/unsimulated/floor/F in src) + valid_spawn_turfs += F /area/awaymission/LateInitialize() ..() EvalValidSpawnTurfs() - if(!valid_spawn_turfs.len) + if(!valid_spawn_turfs.len && (mobcountmax || floracountmax)) to_world_log("Error! [src] does not have any turfs!") return TRUE //Handles random mob placement for mobcountmax, as defined/randomized in initialize of each individual area. - spawn_mob_on_turf() + if(mobcountmax) + spawn_mob_on_turf() //Handles random flora placement for floracountmax, as defined/randomized in initialize of each individual area. - spawn_flora_on_turf() + if(floracountmax) + spawn_flora_on_turf() to_world("Away mission spawning done.") diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 4d280c3dc0..4c5d9e2184 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -63,8 +63,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station //////////// //SHUTTLES// //////////// -//shuttle areas must contain at least two areas in a subgroup if you want to move a shuttle from one -//place to another. Look at escape shuttle for example. +//Shuttles only need starting area, movement is handled by landmarks //All shuttles should now be under shuttle since we have smooth-wall code. /area/shuttle @@ -77,160 +76,55 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "\improper Arrival Shuttle" ambience = AMBIENCE_ARRIVALS -/area/shuttle/arrival/pre_game +/area/shuttle/supply + name = "\improper Supply Shuttle" icon_state = "shuttle2" -/area/shuttle/arrival/station - icon_state = "shuttle" - dynamic_lighting = 0 - ambience = AMBIENCE_ARRIVALS - /area/shuttle/escape name = "\improper Emergency Shuttle" music = "music/escape.ogg" -/area/shuttle/escape/station - name = "\improper Emergency Shuttle Station" - icon_state = "shuttle2" - dynamic_lighting = 0 - -/area/shuttle/escape/centcom - name = "\improper Emergency Shuttle CentCom" - icon_state = "shuttle" - -/area/shuttle/escape/transit // the area to pass through for 3 minute transit - name = "\improper Emergency Shuttle Transit" - icon_state = "shuttle" - /area/shuttle/escape_pod1 name = "\improper Escape Pod One" music = "music/escape.ogg" -/area/shuttle/escape_pod1/station - icon_state = "shuttle2" - -/area/shuttle/escape_pod1/centcom - icon_state = "shuttle" - -/area/shuttle/escape_pod1/transit - icon_state = "shuttle" - /area/shuttle/escape_pod2 name = "\improper Escape Pod Two" music = "music/escape.ogg" -/area/shuttle/escape_pod2/station - icon_state = "shuttle2" - -/area/shuttle/escape_pod2/centcom - icon_state = "shuttle" - -/area/shuttle/escape_pod2/transit - icon_state = "shuttle" - /area/shuttle/escape_pod3 name = "\improper Escape Pod Three" music = "music/escape.ogg" -/area/shuttle/escape_pod3/station - icon_state = "shuttle2" - -/area/shuttle/escape_pod3/centcom - icon_state = "shuttle" - -/area/shuttle/escape_pod3/transit - icon_state = "shuttle" - /area/shuttle/escape_pod4 name = "\improper Escape Pod Four" music = "music/escape.ogg" -/area/shuttle/escape_pod4/station - icon_state = "shuttle2" - -/area/shuttle/escape_pod4/centcom - icon_state = "shuttle" - -/area/shuttle/escape_pod4/transit - icon_state = "shuttle" - /area/shuttle/escape_pod5 name = "\improper Escape Pod Five" music = "music/escape.ogg" -/area/shuttle/escape_pod5/station - icon_state = "shuttle2" - -/area/shuttle/escape_pod5/centcom - icon_state = "shuttle" - -/area/shuttle/escape_pod5/transit - icon_state = "shuttle" - /area/shuttle/escape_pod6 name = "\improper Escape Pod Six" music = "music/escape.ogg" -/area/shuttle/escape_pod6/station - icon_state = "shuttle2" - -/area/shuttle/escape_pod6/centcom - icon_state = "shuttle" - -/area/shuttle/escape_pod6/transit - icon_state = "shuttle" - /area/shuttle/large_escape_pod1 name = "\improper Large Escape Pod One" music = "music/escape.ogg" -/area/shuttle/large_escape_pod1/station - icon_state = "shuttle2" - -/area/shuttle/large_escape_pod1/centcom - icon_state = "shuttle" - -/area/shuttle/large_escape_pod1/transit - icon_state = "shuttle" - /area/shuttle/large_escape_pod2 name = "\improper Large Escape Pod Two" music = "music/escape.ogg" -/area/shuttle/large_escape_pod2/station - icon_state = "shuttle2" - -/area/shuttle/large_escape_pod2/centcom - icon_state = "shuttle" - -/area/shuttle/large_escape_pod2/transit - icon_state = "shuttle" - /area/shuttle/cryo name = "\improper Cryogenic Storage" -/area/shuttle/cryo/station - icon_state = "shuttle2" - base_turf = /turf/simulated/mineral/floor/ignore_mapgen - -/area/shuttle/cryo/centcom - icon_state = "shuttle" - -/area/shuttle/cryo/transit - icon_state = "shuttle" - /area/shuttle/mining name = "\improper Mining Elevator" music = "music/escape.ogg" dynamic_lighting = 0 base_turf = /turf/simulated/mineral/floor/ignore_mapgen -/area/shuttle/mining/station - icon_state = "shuttle2" - -/area/shuttle/mining/outpost - icon_state = "shuttle" - /area/shuttle/transport1/centcom icon_state = "shuttle" name = "\improper Transport Shuttle CentCom" @@ -298,43 +192,12 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/shuttle/thunderdome name = "honk" -/area/shuttle/thunderdome/grnshuttle - name = "\improper Thunderdome GRN Shuttle" - icon_state = "green" - -/area/shuttle/thunderdome/grnshuttle/dome - name = "\improper GRN Shuttle" - icon_state = "shuttlegrn" - -/area/shuttle/thunderdome/grnshuttle/station - name = "\improper GRN Station" - icon_state = "shuttlegrn2" - -/area/shuttle/thunderdome/redshuttle - name = "\improper Thunderdome RED Shuttle" - icon_state = "red" - -/area/shuttle/thunderdome/redshuttle/dome - name = "\improper RED Shuttle" - icon_state = "shuttlered" - -/area/shuttle/thunderdome/redshuttle/station - name = "\improper RED Station" - icon_state = "shuttlered2" -// === Trying to remove these areas: - /area/shuttle/research name = "\improper Research Elevator" music = "music/escape.ogg" dynamic_lighting = 0 base_turf = /turf/simulated/mineral/floor/ignore_mapgen -/area/shuttle/research/station - icon_state = "shuttle2" - -/area/shuttle/research/outpost - icon_state = "shuttle" - /area/airtunnel1/ // referenced in airtunnel.dm:759 /area/dummy/ // Referenced in engine.dm:261 @@ -2041,17 +1904,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "\improper Cargo Mining Dock" icon_state = "mining" -/area/supply/station - name = "Supply Shuttle" - icon_state = "shuttle3" - requires_power = 0 - base_turf = /turf/space - -/area/supply/dock - name = "Supply Shuttle" - icon_state = "shuttle3" - requires_power = 0 - base_turf = /turf/space // SCIENCE diff --git a/code/game/area/Space Station 13 areas_vr.dm b/code/game/area/Space Station 13 areas_vr.dm index c431d7a46c..657568479e 100644 --- a/code/game/area/Space Station 13 areas_vr.dm +++ b/code/game/area/Space Station 13 areas_vr.dm @@ -1,23 +1,8 @@ //TFF 28/8/19 - cleanup of areas placement - removes all but rogueminer_vr stuff. -/area/shuttle/belter/station - name = "Belter Shuttle Landed" +/area/shuttle/belter + name = "Belter Shuttle" icon_state = "shuttle2" - base_turf = /turf/simulated/floor/tiled/asteroid_steel/airless - -/area/shuttle/belter/belt //Don't use this one, use a subtype - name = "Belter Shuttle Holding Position" - icon_state = "shuttle2" - -//Placeholders -/area/shuttle/belter/belt/zone1 -/area/shuttle/belter/belt/zone2 -/area/shuttle/belter/belt/zone3 -/area/shuttle/belter/belt/zone4 - -/area/shuttle/belter/transit - name = "Belter Shuttle Warp" - icon_state = "shuttle" //Rouguelike Mining /area/asteroid/rogue @@ -28,22 +13,22 @@ /area/asteroid/rogue/zone1 name = "Asteroid Belt Zone 1" icon_state = "red2" - shuttle_area = /area/shuttle/belter/belt/zone1 + //shuttle_area = /area/shuttle/belter/belt/zone1 /area/asteroid/rogue/zone2 name = "Asteroid Belt Zone 2" icon_state = "blue2" - shuttle_area = /area/shuttle/belter/belt/zone2 + //shuttle_area = /area/shuttle/belter/belt/zone2 /area/asteroid/rogue/zone3 name = "Asteroid Belt Zone 3" icon_state = "blue2" - shuttle_area = /area/shuttle/belter/belt/zone3 + //shuttle_area = /area/shuttle/belter/belt/zone3 /area/asteroid/rogue/zone4 name = "Asteroid Belt Zone 4" icon_state = "red2" - shuttle_area = /area/shuttle/belter/belt/zone4 + //shuttle_area = /area/shuttle/belter/belt/zone4 /area/medical/resleeving name = "Resleeving Lab" diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 69e0ee9d1b..3482d5f395 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -43,24 +43,17 @@ var/uid /area/New() - icon_state = "" uid = ++global_uid - all_areas += src - - if(!requires_power) - power_light = 0 - power_equip = 0 - power_environ = 0 - - if(dynamic_lighting) - luminosity = 0 - else - luminosity = 1 - + all_areas += src //Replace with /area in world? Byond optimizes X in world loops. + ..() /area/Initialize() . = ..() + + luminosity = !(dynamic_lighting) + icon_state = "" + return INITIALIZE_HINT_LATELOAD // Areas tradiationally are initialized AFTER other atoms. /area/LateInitialize() @@ -71,6 +64,31 @@ power_change() // all machines set to current power level, also updates lighting icon return INITIALIZE_HINT_LATELOAD +// Changes the area of T to A. Do not do this manually. +// Area is expected to be a non-null instance. +/proc/ChangeArea(var/turf/T, var/area/A) + if(!istype(A)) + CRASH("Area change attempt failed: invalid area supplied.") + var/area/old_area = get_area(T) + if(old_area == A) + return + // NOTE: BayStation calles area.Exited/Entered for the TURF T. So far we don't do that.s + // NOTE: There probably won't be any atoms in these turfs, but just in case we should call these procs. + A.contents.Add(T) + if(old_area) + // Handle dynamic lighting update if + if(T.dynamic_lighting && old_area.dynamic_lighting != A.dynamic_lighting) + if(A.dynamic_lighting) + T.lighting_build_overlay() + else + T.lighting_clear_overlay() + for(var/atom/movable/AM in T) + old_area.Exited(AM, A) + for(var/atom/movable/AM in T) + A.Entered(AM, old_area) + for(var/obj/machinery/M in T) + M.power_change() + /area/proc/get_contents() return contents @@ -310,10 +328,10 @@ var/list/mob/living/forced_ambiance_list = new L << sound(sound, repeat = 0, wait = 0, volume = 50, channel = CHANNEL_AMBIENCE) L.client.time_last_ambience_played = world.time -/area/proc/gravitychange(var/gravitystate = 0, var/area/A) - A.has_gravity = gravitystate +/area/proc/gravitychange(var/gravitystate = 0) + src.has_gravity = gravitystate - for(var/mob/M in A) + for(var/mob/M in src) if(has_gravity) thunk(M) M.update_floating( M.Check_Dense_Object() ) diff --git a/code/game/area/ss13_deprecated_areas.dm b/code/game/area/ss13_deprecated_areas.dm new file mode 100644 index 0000000000..b3b689f23d --- /dev/null +++ b/code/game/area/ss13_deprecated_areas.dm @@ -0,0 +1,164 @@ +// +// Shuttles formerly required at least two areas in a subgroup if you want to move a shuttle from one +// place to another. Since shuttles now used landmarks instead these areas are deprecated! +// They are left here for the moment in order to make existing maps loadable, but should be phased out. +// + +/area/shuttle/arrival/pre_game + icon_state = "shuttle2" + +/area/shuttle/arrival/station + icon_state = "shuttle" + dynamic_lighting = 0 + ambience = AMBIENCE_ARRIVALS + +/area/shuttle/escape/station + name = "\improper Emergency Shuttle Station" + icon_state = "shuttle2" + dynamic_lighting = 0 + +/area/shuttle/escape/centcom + name = "\improper Emergency Shuttle CentCom" + icon_state = "shuttle" + +/area/shuttle/escape/transit // the area to pass through for 3 minute transit + name = "\improper Emergency Shuttle Transit" + icon_state = "shuttle" + +/area/shuttle/escape_pod1/station + icon_state = "shuttle2" + +/area/shuttle/escape_pod1/centcom + icon_state = "shuttle" + +/area/shuttle/escape_pod1/transit + icon_state = "shuttle" + +/area/shuttle/escape_pod2/station + icon_state = "shuttle2" + +/area/shuttle/escape_pod2/centcom + icon_state = "shuttle" + +/area/shuttle/escape_pod2/transit + icon_state = "shuttle" + +/area/shuttle/escape_pod3/station + icon_state = "shuttle2" + +/area/shuttle/escape_pod3/centcom + icon_state = "shuttle" + +/area/shuttle/escape_pod3/transit + icon_state = "shuttle" + +/area/shuttle/escape_pod4/station + icon_state = "shuttle2" + +/area/shuttle/escape_pod4/centcom + icon_state = "shuttle" + +/area/shuttle/escape_pod4/transit + icon_state = "shuttle" + +/area/shuttle/escape_pod5/station + icon_state = "shuttle2" + +/area/shuttle/escape_pod5/centcom + icon_state = "shuttle" + +/area/shuttle/escape_pod5/transit + icon_state = "shuttle" + +/area/shuttle/escape_pod6/station + icon_state = "shuttle2" + +/area/shuttle/escape_pod6/centcom + icon_state = "shuttle" + +/area/shuttle/escape_pod6/transit + icon_state = "shuttle" + +/area/shuttle/large_escape_pod1/station + icon_state = "shuttle2" + +/area/shuttle/large_escape_pod1/centcom + icon_state = "shuttle" + +/area/shuttle/large_escape_pod1/transit + icon_state = "shuttle" + +/area/shuttle/large_escape_pod2/station + icon_state = "shuttle2" + +/area/shuttle/large_escape_pod2/centcom + icon_state = "shuttle" + +/area/shuttle/large_escape_pod2/transit + icon_state = "shuttle" + +/area/shuttle/cryo/station + icon_state = "shuttle2" + base_turf = /turf/simulated/mineral/floor/ignore_mapgen + +/area/shuttle/cryo/centcom + icon_state = "shuttle" + +/area/shuttle/cryo/transit + icon_state = "shuttle" + +/area/shuttle/mining/station + icon_state = "shuttle2" + +/area/shuttle/mining/outpost + icon_state = "shuttle" + +/area/shuttle/trade/centcom + name = "\improper Trade Shuttle CentCom" + icon_state = "shuttlered" + +/area/shuttle/trade/station + name = "\improper Trade Shuttle" + icon_state = "shuttlered" + +/area/shuttle/thunderdome/grnshuttle + name = "\improper Thunderdome GRN Shuttle" + icon_state = "green" + +/area/shuttle/thunderdome/grnshuttle/dome + name = "\improper GRN Shuttle" + icon_state = "shuttlegrn" + +/area/shuttle/thunderdome/grnshuttle/station + name = "\improper GRN Station" + icon_state = "shuttlegrn2" + +/area/shuttle/thunderdome/redshuttle + name = "\improper Thunderdome RED Shuttle" + icon_state = "red" + +/area/shuttle/thunderdome/redshuttle/dome + name = "\improper RED Shuttle" + icon_state = "shuttlered" + +/area/shuttle/thunderdome/redshuttle/station + name = "\improper RED Station" + icon_state = "shuttlered2" + +/area/shuttle/research/station + icon_state = "shuttle2" + +/area/shuttle/research/outpost + icon_state = "shuttle" + +/area/supply/station + name = "Supply Shuttle" + icon_state = "shuttle3" + requires_power = 0 + base_turf = /turf/space + +/area/supply/dock + name = "Supply Shuttle" + icon_state = "shuttle3" + requires_power = 0 + base_turf = /turf/space diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 87035942c4..35ff527da4 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -41,8 +41,7 @@ _preloader.load(src) // Pass our arguments to InitAtom so they can be passed to initialize(), but replace 1st with if-we're-during-mapload. - var/do_initialize = SSatoms && SSatoms.initialized // Workaround our non-ideal initialization order: SSatoms may not exist yet. - //var/do_initialize = SSatoms.initialized + var/do_initialize = SSatoms.initialized if(do_initialize > INITIALIZATION_INSSATOMS) args[1] = (do_initialize == INITIALIZATION_INNEW_MAPLOAD) if(SSatoms.InitAtom(src, args)) @@ -519,6 +518,9 @@ return TRUE return FALSE +/atom/proc/is_incorporeal() + return FALSE + /atom/proc/drop_location() var/atom/L = loc if(!L) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index c8f0b44c3d..846eb26961 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -24,6 +24,9 @@ var/datum/riding/riding_datum //VOREStation Add - Moved from /obj/vehicle var/does_spin = TRUE // Does the atom spin when thrown (of course it does :P) var/movement_type = NONE + + var/cloaked = FALSE //If we're cloaked or not + var/image/cloaked_selfimage //The image we use for our client to let them see where we are /atom/movable/Destroy() . = ..() @@ -46,7 +49,7 @@ QDEL_NULL(riding_datum) //VOREStation Add /atom/movable/vv_edit_var(var_name, var_value) - if(GLOB.VVpixelmovement[var_name]) //Pixel movement is not yet implemented, changing this will break everything irreversibly. + if(var_name in GLOB.VVpixelmovement) //Pixel movement is not yet implemented, changing this will break everything irreversibly. return FALSE return ..() @@ -453,36 +456,39 @@ if(z in using_map.sealed_levels) return - if(config.use_overmap) + if(using_map.use_overmap) overmap_spacetravel(get_turf(src), src) return var/move_to_z = src.get_transit_zlevel() if(move_to_z) - z = move_to_z + var/new_z = move_to_z + var/new_x + var/new_y if(x <= TRANSITIONEDGE) - x = world.maxx - TRANSITIONEDGE - 2 - y = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2) + new_x = world.maxx - TRANSITIONEDGE - 2 + new_y = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2) else if (x >= (world.maxx - TRANSITIONEDGE + 1)) - x = TRANSITIONEDGE + 1 - y = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2) + new_x = TRANSITIONEDGE + 1 + new_y = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2) else if (y <= TRANSITIONEDGE) - y = world.maxy - TRANSITIONEDGE -2 - x = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2) + new_y = world.maxy - TRANSITIONEDGE -2 + new_x = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2) else if (y >= (world.maxy - TRANSITIONEDGE + 1)) - y = TRANSITIONEDGE + 1 - x = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2) + new_y = TRANSITIONEDGE + 1 + new_x = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2) if(ticker && istype(ticker.mode, /datum/game_mode/nuclear)) //only really care if the game mode is nuclear var/datum/game_mode/nuclear/G = ticker.mode G.check_nuke_disks() - spawn(0) - if(loc) loc.Entered(src) + var/turf/T = locate(new_x, new_y, new_z) + if(istype(T)) + forceMove(T) //by default, transition randomly to another zlevel /atom/movable/proc/get_transit_zlevel() @@ -516,3 +522,93 @@ // Called when touching a lava tile. /atom/movable/proc/lava_act() fire_act(null, 10000, 1000) + + +// Procs to cloak/uncloak +/atom/movable/proc/cloak() + if(cloaked) + return FALSE + cloaked = TRUE + . = TRUE // We did work + + var/static/animation_time = 1 SECOND + cloaked_selfimage = get_cloaked_selfimage() + + //Wheeee + cloak_animation(animation_time) + + //Needs to be last so people can actually see the effect before we become invisible + plane = CLOAKED_PLANE + +/atom/movable/proc/uncloak() + if(!cloaked) + return FALSE + cloaked = FALSE + . = TRUE // We did work + + var/static/animation_time = 1 SECOND + QDEL_NULL(cloaked_selfimage) + + //Needs to be first so people can actually see the effect, so become uninvisible first + plane = initial(plane) + + //Oooooo + uncloak_animation(animation_time) + + +// Animations for cloaking/uncloaking +/atom/movable/proc/cloak_animation(var/length = 1 SECOND) + //Save these + var/initial_alpha = alpha + + //Animate alpha fade + animate(src, alpha = 0, time = length) + + //Animate a cloaking effect + var/our_filter = filters.len+1 //Filters don't appear to have a type that can be stored in a var and accessed. This is how the DM reference does it. + filters += filter(type="wave", x = 0, y = 16, size = 0, offset = 0, flags = WAVE_SIDEWAYS) + animate(filters[our_filter], offset = 1, size = 8, time = length, flags = ANIMATION_PARALLEL) + + //Wait for animations to finish + sleep(length+5) + + //Remove those + filters -= filters[our_filter] + + //Back to original alpha + alpha = initial_alpha + +/atom/movable/proc/uncloak_animation(var/length = 1 SECOND) + //Save these + var/initial_alpha = alpha + + //Put us back to normal, but no alpha + alpha = 0 + + //Animate alpha fade up + animate(src, alpha = initial_alpha, time = length) + + //Animate a cloaking effect + var/our_filter = filters.len+1 //Filters don't appear to have a type that can be stored in a var and accessed. This is how the DM reference does it. + filters += filter(type="wave", x=0, y = 16, size = 8, offset = 1, flags = WAVE_SIDEWAYS) + animate(filters[our_filter], offset = 0, size = 0, time = length, flags = ANIMATION_PARALLEL) + + //Wait for animations to finish + sleep(length+5) + + //Remove those + filters -= filters[our_filter] + + +// So cloaked things can see themselves, if necessary +/atom/movable/proc/get_cloaked_selfimage() + var/icon/selficon = icon(icon, icon_state) + selficon.MapColors(0,0,0, 0,0,0, 0,0,0, 1,1,1) //White + var/image/selfimage = image(selficon) + selfimage.color = "#0000FF" + selfimage.alpha = 100 + selfimage.layer = initial(layer) + selfimage.plane = initial(plane) + selfimage.loc = src + + return selfimage diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index daa87810fd..6e243e3232 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -51,10 +51,13 @@ #define DNA_UI_WING_STYLE 32 #define DNA_UI_WING_R 33 #define DNA_UI_WING_G 34 -#define DNA_UI_WING_B 35 // VOREStation snippet end. -#define DNA_UI_LENGTH 35 // VOREStation Edit to 35 +#define DNA_UI_WING_B 35 +#define DNA_UI_WING2_R 36 +#define DNA_UI_WING2_G 37 +#define DNA_UI_WING2_B 38 // VOREStation snippet end. +#define DNA_UI_LENGTH 38 // VOREStation Edit - Needs to match the highest number above. -#define DNA_SE_LENGTH 46 // VOREStation Edit (original was UI+11) +#define DNA_SE_LENGTH 49 // VOREStation Edit (original was UI+11) // For later: //#define DNA_SE_LENGTH 50 // Was STRUCDNASIZE, size 27. 15 new blocks added = 42, plus room to grow. @@ -230,6 +233,10 @@ var/global/list/datum/dna/gene/dna_genes[0] SetUIValueRange(DNA_UI_WING_G, character.g_wing, 255, 1) SetUIValueRange(DNA_UI_WING_B, character.b_wing, 255, 1) + SetUIValueRange(DNA_UI_WING2_R, character.r_wing2, 255, 1) + SetUIValueRange(DNA_UI_WING2_G, character.g_wing2, 255, 1) + SetUIValueRange(DNA_UI_WING2_B, character.b_wing2, 255, 1) + SetUIValueRange(DNA_UI_EARS_R, character.r_ears, 255, 1) SetUIValueRange(DNA_UI_EARS_G, character.g_ears, 255, 1) SetUIValueRange(DNA_UI_EARS_B, character.b_ears, 255, 1) diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index e4744693ab..c79a0e94be 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -46,7 +46,7 @@ icon_state = "scanner_0" density = 1 anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 50 active_power_usage = 300 interact_offline = 1 @@ -260,7 +260,7 @@ var/obj/item/weapon/disk/data/disk = null var/selected_menu_key = null anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 400 var/waiting_for_user_input=0 // Fix for #274 (Mash create block injector without answering dialog to make unlimited injectors) - N3X @@ -293,19 +293,15 @@ else return -/obj/machinery/computer/scan_consolenew/New() - ..() +/obj/machinery/computer/scan_consolenew/Initialize() + . = ..() for(var/i=0;i<3;i++) buffers[i+1]=new /datum/dna2/record - spawn(5) - for(dir in list(NORTH,EAST,SOUTH,WEST)) - connected = locate(/obj/machinery/dna_scannernew, get_step(src, dir)) - if(!isnull(connected)) - break - spawn(250) - src.injector_ready = 1 - return - return + for(dir in list(NORTH,EAST,SOUTH,WEST)) + connected = locate(/obj/machinery/dna_scannernew, get_step(src, dir)) + if(connected) + break + VARSET_IN(src, injector_ready, TRUE, 25 SECONDS) /obj/machinery/computer/scan_consolenew/proc/all_dna_blocks(var/list/buffer) var/list/arr = list() diff --git a/code/game/dna/genes/monkey.dm b/code/game/dna/genes/monkey.dm index 45e852551d..0089355ed3 100644 --- a/code/game/dna/genes/monkey.dm +++ b/code/game/dna/genes/monkey.dm @@ -69,7 +69,7 @@ O.take_overall_damage(M.getBruteLoss() + 40, M.getFireLoss()) O.adjustToxLoss(M.getToxLoss() + 20) O.adjustOxyLoss(M.getOxyLoss()) - O.stat = M.stat + O.set_stat(M.stat) O.a_intent = I_HURT for (var/obj/item/weapon/implant/I in implants) I.loc = O @@ -154,7 +154,7 @@ O.take_overall_damage(M.getBruteLoss(), M.getFireLoss()) O.adjustToxLoss(M.getToxLoss()) O.adjustOxyLoss(M.getOxyLoss()) - O.stat = M.stat + O.set_stat(M.stat) for (var/obj/item/weapon/implant/I in implants) I.loc = O I.implanted = O diff --git a/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm b/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm index d5be03c6b1..5d3c1a3be9 100644 --- a/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm +++ b/code/game/gamemodes/changeling/powers/epinephrine_overdose.dm @@ -29,7 +29,7 @@ var/mob/living/carbon/human/C = src to_chat(C, "Energy rushes through us. [C.lying ? "We arise." : ""]") - C.stat = 0 + C.set_stat(CONSCIOUS) C.SetParalysis(0) C.SetStunned(0) C.SetWeakened(0) diff --git a/code/game/gamemodes/changeling/powers/lesser_form.dm b/code/game/gamemodes/changeling/powers/lesser_form.dm index 9d7c4de3d1..d7b9cb0489 100644 --- a/code/game/gamemodes/changeling/powers/lesser_form.dm +++ b/code/game/gamemodes/changeling/powers/lesser_form.dm @@ -100,7 +100,7 @@ O.adjustBruteLoss(C.getBruteLoss()) O.setOxyLoss(C.getOxyLoss()) O.adjustFireLoss(C.getFireLoss()) - O.stat = C.stat + O.set_stat(C.stat) for (var/obj/item/weapon/implant/I in implants) I.loc = O I.implanted = O diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index 2439fbe38a..61a061170e 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -79,7 +79,7 @@ C.update_canmove() C.mind.changeling.purchased_powers -= C feedback_add_details("changeling_powers","CR") - C.stat = CONSCIOUS + C.set_stat(CONSCIOUS) C.forbid_seeing_deadchat = FALSE C.timeofdeath = null src.verbs -= /mob/proc/changeling_revive diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 633b1f4d02..b9d434902e 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -132,22 +132,6 @@ anchored = 1.0 var/spawnable = null -/obj/effect/gateway/Bumped(mob/M as mob|obj) - spawn(0) - return - return - -/obj/effect/gateway/Crossed(AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN - spawn(0) - return - return - /obj/effect/gateway/active light_range=5 light_color="#ff0000" @@ -169,19 +153,18 @@ /obj/effect/gateway/active/cult/cultify() return -/obj/effect/gateway/active/New() - spawn(rand(30,60) SECONDS) +/obj/effect/gateway/active/Initialize() + addtimer(CALLBACK(src, .proc/spawn_and_qdel), rand(30, 60) SECONDS) + +/obj/effect/gateway/active/proc/spawn_and_qdel() + if(LAZYLEN(spawnable)) var/t = pick(spawnable) - new t(src.loc) - qdel(src) + new t(get_turf(src)) + qdel(src) /obj/effect/gateway/active/Crossed(var/atom/A) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = A - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(A.is_incorporeal()) + return if(!istype(A, /mob/living)) return diff --git a/code/game/gamemodes/cult/hell_universe.dm b/code/game/gamemodes/cult/hell_universe.dm index ee79453933..27dd86df13 100644 --- a/code/game/gamemodes/cult/hell_universe.dm +++ b/code/game/gamemodes/cult/hell_universe.dm @@ -65,11 +65,11 @@ In short: for(var/datum/lighting_corner/L in world) L.update_lumcount(1, 0, 0) - for(var/turf/space/T in turfs) + for(var/turf/space/T in world) OnTurfChange(T) /datum/universal_state/hell/proc/MiscSet() - for(var/turf/simulated/floor/T in turfs) + for(var/turf/simulated/floor/T in world) if(!T.holy && prob(1)) new /obj/effect/gateway/active/cult(T) diff --git a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm index be85616143..88da43257d 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/blob.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/blob.dm @@ -14,8 +14,8 @@ var/next_check=0 var/list/avail_dirs = list(NORTH,SOUTH,EAST,WEST) -/turf/unsimulated/wall/supermatter/New() - ..() +/turf/unsimulated/wall/supermatter/Initialize(mapload) + . = ..() START_PROCESSING(SSturfs, src) next_check = world.time+5 SECONDS diff --git a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm index 0c0d4c1a40..8f4f861b42 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm @@ -98,7 +98,7 @@ The access requirements on the Asteroid Shuttles' consoles have now been revoked else L.update_lumcount(0.0, 0.4, 1) - for(var/turf/space/T in turfs) + for(var/turf/space/T in world) OnTurfChange(T) /datum/universal_state/supermatter_cascade/proc/MiscSet() diff --git a/code/game/gamemodes/events/dust.dm b/code/game/gamemodes/events/dust.dm index f41e040ee5..400ae1058d 100644 --- a/code/game/gamemodes/events/dust.dm +++ b/code/game/gamemodes/events/dust.dm @@ -7,27 +7,57 @@ No command report on the common version of this event. The "dust" will damage the hull of the station causin minor hull breaches. */ -/proc/dust_swarm(var/strength = "weak") +/proc/dust_swarm(var/strength = "weak", var/list/affecting_z) var/numbers = 1 + var/dust_type = /obj/effect/space_dust switch(strength) if("weak") - numbers = rand(2,4) - for(var/i = 0 to numbers) - new/obj/effect/space_dust/weak() + numbers = rand(2,4) + dust_type = /obj/effect/space_dust/weak if("norm") - numbers = rand(5,10) - for(var/i = 0 to numbers) - new/obj/effect/space_dust() + numbers = rand(5,10) + dust_type = /obj/effect/space_dust if("strong") - numbers = rand(10,15) - for(var/i = 0 to numbers) - new/obj/effect/space_dust/strong() + numbers = rand(10,15) + dust_type = /obj/effect/space_dust/strong if("super") - numbers = rand(15,25) - for(var/i = 0 to numbers) - new/obj/effect/space_dust/super() - return + numbers = rand(15,25) + dust_type = /obj/effect/space_dust/super + var/startside = pick(cardinal) + for(var/i = 0 to numbers) + var/startx = 0 + var/starty = 0 + var/endy = 0 + var/endx = 0 + switch(startside) + if(NORTH) + starty = world.maxy-TRANSITIONEDGE-1 + startx = rand(TRANSITIONEDGE+1, world.maxx-TRANSITIONEDGE-1) + endy = TRANSITIONEDGE + endx = rand(TRANSITIONEDGE+1, world.maxx-TRANSITIONEDGE-1) + if(EAST) + starty = rand(TRANSITIONEDGE+1, world.maxy-TRANSITIONEDGE-1) + startx = world.maxx-TRANSITIONEDGE-1 + endy = rand(TRANSITIONEDGE, world.maxy-TRANSITIONEDGE) + endx = TRANSITIONEDGE + if(SOUTH) + starty = TRANSITIONEDGE+1 + startx = rand(TRANSITIONEDGE+1, world.maxx-TRANSITIONEDGE-1) + endy = world.maxy-TRANSITIONEDGE + endx = rand(TRANSITIONEDGE, world.maxx-TRANSITIONEDGE) + if(WEST) + starty = rand(TRANSITIONEDGE+1, world.maxy-TRANSITIONEDGE-1) + startx = TRANSITIONEDGE+1 + endy = rand(TRANSITIONEDGE, world.maxy-TRANSITIONEDGE) + endx = world.maxx-TRANSITIONEDGE + + var/randomz = pick(affecting_z) + var/turf/startloc = locate(startx, starty, randomz) + var/turf/endloc = locate(endx, endy, randomz) + var/obj/effect/space_dust/D = new dust_type(startloc) + D.set_dir(GLOB.reverse_dir[startside]) + walk_towards(D, endloc, 1) /obj/effect/space_dust name = "Space Dust" @@ -39,96 +69,51 @@ The "dust" will damage the hull of the station causin minor hull breaches. var/strength = 2 //ex_act severity number var/life = 2 //how many things we hit before qdel(src) - weak - strength = 3 - life = 1 +/obj/effect/space_dust/weak + strength = 3 + life = 1 - strong - strength = 1 - life = 6 +/obj/effect/space_dust/strong + strength = 1 + life = 6 - super - strength = 1 - life = 40 +/obj/effect/space_dust/super + strength = 1 + life = 40 + +/obj/effect/space_dust/Destroy() + walk(src, 0) // Because we might have called walk_towards, we must stop the walk loop or BYOND keeps an internal reference to us forever. + return ..() + +/obj/effect/space_dust/touch_map_edge() + qdel(src) + +/obj/effect/space_dust/Bump(atom/A) + spawn(0) + if(prob(50)) + for(var/mob/M in range(10, src)) + if(!M.stat && !istype(M, /mob/living/silicon/ai)) + shake_camera(M, 3, 1) + if (A) + playsound(src.loc, 'sound/effects/meteorimpact.ogg', 40, 1) + + if(ismob(A)) + A.ex_act(strength)//This should work for now I guess + else if(!istype(A,/obj/machinery/power/emitter) && !istype(A,/obj/machinery/field_generator)) //Protect the singularity from getting released every round! + A.ex_act(strength) //Changing emitter/field gen ex_act would make it immune to bombs and C4 + + life-- + if(life <= 0) + walk(src,0) + qdel(src) + return 0 + return - New() - ..() - var/startx = 0 - var/starty = 0 - var/endy = 0 - var/endx = 0 - var/startside = pick(cardinal) +/obj/effect/space_dust/Bumped(atom/A) + Bump(A) + return - switch(startside) - if(NORTH) - starty = world.maxy-(TRANSITIONEDGE+1) - startx = rand((TRANSITIONEDGE+1), world.maxx-(TRANSITIONEDGE+1)) - endy = TRANSITIONEDGE - endx = rand(TRANSITIONEDGE, world.maxx-TRANSITIONEDGE) - if(EAST) - starty = rand((TRANSITIONEDGE+1),world.maxy-(TRANSITIONEDGE+1)) - startx = world.maxx-(TRANSITIONEDGE+1) - endy = rand(TRANSITIONEDGE, world.maxy-TRANSITIONEDGE) - endx = TRANSITIONEDGE - if(SOUTH) - starty = (TRANSITIONEDGE+1) - startx = rand((TRANSITIONEDGE+1), world.maxx-(TRANSITIONEDGE+1)) - endy = world.maxy-TRANSITIONEDGE - endx = rand(TRANSITIONEDGE, world.maxx-TRANSITIONEDGE) - if(WEST) - starty = rand((TRANSITIONEDGE+1), world.maxy-(TRANSITIONEDGE+1)) - startx = (TRANSITIONEDGE+1) - endy = rand(TRANSITIONEDGE,world.maxy-TRANSITIONEDGE) - endx = world.maxx-TRANSITIONEDGE - //VOREStation Edit - No space dust outside of space - var/list/z_levels = using_map.station_levels.Copy() - for(var/datum/planet/P in SSplanets.planets) - z_levels.Remove(P.expected_z_levels) - var/z_level = pick(z_levels) - //VOREStation Edit End - var/goal = locate(endx, endy, z_level) - src.x = startx - src.y = starty - src.z = z_level - spawn(0) - walk_towards(src, goal, 1) - return - - Destroy() - walk(src, 0) // Because we might have called walk_towards, we must stop the walk loop or BYOND keeps an internal reference to us forever. - return ..() - - touch_map_edge() - qdel(src) - - Bump(atom/A) - spawn(0) - if(prob(50)) - for(var/mob/M in range(10, src)) - if(!M.stat && !istype(M, /mob/living/silicon/ai)) - shake_camera(M, 3, 1) - if (A) - playsound(src.loc, 'sound/effects/meteorimpact.ogg', 40, 1) - - if(ismob(A)) - A.ex_act(strength)//This should work for now I guess - else if(!istype(A,/obj/machinery/power/emitter) && !istype(A,/obj/machinery/field_generator)) //Protect the singularity from getting released every round! - A.ex_act(strength) //Changing emitter/field gen ex_act would make it immune to bombs and C4 - - life-- - if(life <= 0) - walk(src,0) - qdel(src) - return 0 - return - - - Bumped(atom/A) - Bump(A) - return - - - ex_act(severity) - qdel(src) - return +/obj/effect/space_dust/ex_act(severity) + qdel(src) + return diff --git a/code/game/gamemodes/events/wormholes.dm b/code/game/gamemodes/events/wormholes.dm index 83f4246696..20f7da63f3 100644 --- a/code/game/gamemodes/events/wormholes.dm +++ b/code/game/gamemodes/events/wormholes.dm @@ -3,7 +3,7 @@ var/list/pick_turfs = list() var/list/Z_choices = list() Z_choices |= using_map.get_map_levels(1, FALSE) - for(var/turf/simulated/floor/T in turfs) + for(var/turf/simulated/floor/T in world) if(T.z in Z_choices) if(!T.block_tele) pick_turfs += T diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 05757c9b7d..d08c49d6a8 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -538,15 +538,15 @@ proc/get_nt_opposed() set category = "OOC" if(!ticker || !ticker.mode) - to_chat(usr, "Something is terribly wrong; there is no gametype.") + to_chat(usr, "Something is terribly wrong; there is no gametype.") return if(master_mode != "secret") - to_chat(usr, "The roundtype is [capitalize(ticker.mode.name)]") + to_chat(usr, "The roundtype is [capitalize(ticker.mode.name)]") if(ticker.mode.round_description) - to_chat(usr, "[ticker.mode.round_description]") + to_chat(usr, "[ticker.mode.round_description]") if(ticker.mode.extended_round_description) - to_chat(usr, "[ticker.mode.extended_round_description]") + to_chat(usr, "[ticker.mode.extended_round_description]") else - to_chat(usr, "Shhhh. It's a secret.") + to_chat(usr, "Shhhh. It's a secret.") return diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 73399e7269..bf05da7a3b 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -48,8 +48,9 @@ var/global/datum/controller/gameticker/ticker send2mainirc("Server lobby is loaded and open at byond://[config.serverurl ? config.serverurl : (config.server ? config.server : "[world.address]:[world.port]")]") + do - pregame_timeleft = 180 + pregame_timeleft = config.pregame_time to_chat(world, "Welcome to the pregame lobby!") to_chat(world, "Please set up your character and select ready. The round will start in [pregame_timeleft] seconds.") while(current_state == GAME_STATE_PREGAME) @@ -202,10 +203,10 @@ var/global/datum/controller/gameticker/ticker var/turf/T = get_turf(M) if(T && T.z in using_map.station_levels) //we don't use M.death(0) because it calls a for(/mob) loop and M.health = 0 - M.stat = DEAD + M.set_stat(DEAD) if(1) //on a z-level 1 turf. M.health = 0 - M.stat = DEAD + M.set_stat(DEAD) //Now animate the cinematic switch(station_missed) diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 1ac4779414..c49a4d693b 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -2,37 +2,53 @@ //set to at least 100 unless you want evarr ruining every round //Meteors probability of spawning during a given wave -/var/list/meteors_normal = list(/obj/effect/meteor/dust=3, /obj/effect/meteor/medium=8, /obj/effect/meteor/big=3, \ - /obj/effect/meteor/flaming=1, /obj/effect/meteor/irradiated=3) //for normal meteor event -/var/list/meteors_threatening = list(/obj/effect/meteor/medium=5, /obj/effect/meteor/big=10, \ - /obj/effect/meteor/flaming=3, /obj/effect/meteor/irradiated=3, /obj/effect/meteor/emp=3) //for threatening meteor event +//for space dust event +/var/list/meteors_dust = list(/obj/effect/meteor/dust) -/var/list/meteors_catastrophic = list(/obj/effect/meteor/medium=5, /obj/effect/meteor/big=75, \ - /obj/effect/meteor/flaming=10, /obj/effect/meteor/irradiated=10, /obj/effect/meteor/emp=10) //, /obj/effect/meteor/tunguska = 1) //for catastrophic meteor event +//for normal meteor event +/var/list/meteors_normal = list( + /obj/effect/meteor/dust=3, + /obj/effect/meteor/medium=8, + /obj/effect/meteor/big=3, + /obj/effect/meteor/flaming=1, + /obj/effect/meteor/irradiated=3 + ) + +//for threatening meteor event +/var/list/meteors_threatening = list( + /obj/effect/meteor/medium=5, + /obj/effect/meteor/big=10, + /obj/effect/meteor/flaming=3, + /obj/effect/meteor/irradiated=3, + /obj/effect/meteor/emp=3) + +//for catastrophic meteor event +/var/list/meteors_catastrophic = list( + /obj/effect/meteor/medium=5, + /obj/effect/meteor/big=75, + /obj/effect/meteor/flaming=10, + /obj/effect/meteor/irradiated=10, + /obj/effect/meteor/emp=10) -/var/list/meteors_dust = list(/obj/effect/meteor/dust) //for space dust event /////////////////////////////// //Meteor spawning global procs /////////////////////////////// -/proc/pick_meteor_start(var/startSide = pick(cardinal)) - var/startLevel = pick(using_map.station_levels - using_map.sealed_levels) - var/pickedstart = spaceDebrisStartLoc(startSide, startLevel) - - return list(startLevel, pickedstart) - -/proc/spawn_meteors(var/number = 10, var/list/meteortypes, var/startSide) +/proc/spawn_meteors(var/number = 10, var/list/meteortypes, var/startSide, var/zlevel) + log_debug("Spawning [number] meteors on the [dir2text(startSide)] of [zlevel]") for(var/i = 0; i < number; i++) - spawn_meteor(meteortypes, startSide) + spawn_meteor(meteortypes, startSide, zlevel) -/proc/spawn_meteor(var/list/meteortypes, var/startSide) - var/start = pick_meteor_start(startSide) +/proc/spawn_meteor(var/list/meteortypes, var/startSide, var/startLevel) + if(isnull(startSide)) + startSide = pick(cardinal) + if(isnull(startLevel)) + startLevel = pick(using_map.station_levels - using_map.sealed_levels) - var/startLevel = start[1] - var/turf/pickedstart = start[2] + var/turf/pickedstart = spaceDebrisStartLoc(startSide, startLevel) var/turf/pickedgoal = spaceDebrisFinishLoc(startSide, startLevel) var/Me = pickweight(meteortypes) @@ -110,10 +126,10 @@ // Multiply this and the hits var to get a rough idea of how penetrating a meteor is. var/wall_power = 100 -/obj/effect/meteor/New() - ..() +/obj/effect/meteor/Initialize() + . = ..() z_original = z - + GLOB.meteor_list += src /obj/effect/meteor/Move() if(z != z_original || loc == dest) @@ -133,6 +149,7 @@ /obj/effect/meteor/Destroy() walk(src,0) //this cancels the walk_towards() proc + GLOB.meteor_list -= src return ..() /obj/effect/meteor/New() @@ -243,7 +260,7 @@ /obj/effect/meteor/big/meteor_effect(var/explode) ..() if(explode) - explosion(src.loc, devastation_range = 2, heavy_impact_range = 4, light_impact_range = 6, flash_range = 12, adminlog = 0) + explosion(src.loc, 1, 2, 3, 4, 0) // 'Flaming' meteors do less overall damage but are spread out more due to a larger but weaker explosion at the end. /obj/effect/meteor/flaming @@ -257,7 +274,7 @@ /obj/effect/meteor/flaming/meteor_effect(var/explode) ..() if(explode) - explosion(src.loc, devastation_range = 1, heavy_impact_range = 2, light_impact_range = 8, flash_range = 16, adminlog = 0) + explosion(src.loc, 1, 2, 3, 4, 0, 0, 5) // Irradiated meteors do less physical damage but project a ten-tile ranged pulse of radiation upon exploding. /obj/effect/meteor/irradiated @@ -271,7 +288,7 @@ /obj/effect/meteor/irradiated/meteor_effect(var/explode) ..() if(explode) - explosion(src.loc, devastation_range = 0, heavy_impact_range = 0, light_impact_range = 4, flash_range = 6, adminlog = 0) + explosion(src.loc, 0, 0, 4, 3, 0) new /obj/effect/decal/cleanable/greenglow(get_turf(src)) SSradiation.radiate(src, 50) @@ -304,7 +321,7 @@ /obj/effect/meteor/tunguska/meteor_effect(var/explode) ..() if(explode) - explosion(src.loc, 5, 10, 15, 20, 0) + explosion(src.loc, 3, 6, 9, 20, 0) /obj/effect/meteor/tunguska/Bump() ..() diff --git a/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm b/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm index 4135269219..b9bc8bc2c4 100644 --- a/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm @@ -40,5 +40,4 @@ else L.electrocute_act(power, src, 0.75, BP_TORSO) - - adjust_instability(3) \ No newline at end of file + adjust_instability(3) diff --git a/code/game/gamemodes/technomancer/spells/chroma.dm b/code/game/gamemodes/technomancer/spells/chroma.dm index 6033d69466..b87a82a0ae 100644 --- a/code/game/gamemodes/technomancer/spells/chroma.dm +++ b/code/game/gamemodes/technomancer/spells/chroma.dm @@ -18,23 +18,20 @@ ..() set_light(6, 5, l_color = color_to_use) -/obj/effect/chroma +/obj/effect/temporary_effect/chroma name = "chroma" desc = "How are you examining what which cannot be seen?" invisibility = 101 - var/time_to_die = 2 MINUTES //Despawn after this time, if set. + time_to_die = 2 MINUTES //Despawn after this time, if set. -/obj/effect/chroma/New(var/newloc, var/new_color = "#FFFFFF") - ..() +/obj/effect/temporary_effect/chroma/Initialize(var/mapload, var/new_color = "#FFFFFF") + . = ..() set_light(6, 5, l_color = new_color) - if(time_to_die) - spawn(time_to_die) - qdel(src) /obj/item/weapon/spell/chroma/on_ranged_cast(atom/hit_atom, mob/user) var/turf/T = get_turf(hit_atom) if(T) - new /obj/effect/chroma(T, color_to_use) + new /obj/effect/temporary_effect/chroma(T, color_to_use) to_chat(user, "You shift the light onto \the [T].") qdel(src) diff --git a/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm b/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm index b16e9ea3c4..282d914d3c 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm @@ -24,4 +24,7 @@ icon_state = "force_missile" damage = 25 damage_type = BRUTE - check_armour = "melee" \ No newline at end of file + check_armour = "melee" + + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser + hitsound_wall = 'sound/weapons/effects/searwall.ogg' \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/spells/projectile/overload.dm b/code/game/gamemodes/technomancer/spells/projectile/overload.dm index d9c3628631..445c1bb577 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/overload.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/overload.dm @@ -27,6 +27,8 @@ icon_state = "bluespace" damage_type = BURN armor_penetration = 100 + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser + hitsound_wall = 'sound/weapons/effects/searwall.ogg' /obj/item/weapon/spell/projectile/overload/make_projectile(obj/item/projectile/projectile_type, mob/living/user) var/obj/item/projectile/overload/P = new projectile_type(get_turf(user)) diff --git a/code/game/gamemodes/technomancer/spells/reflect.dm b/code/game/gamemodes/technomancer/spells/reflect.dm index 8d54ebafc8..47ed0663f2 100644 --- a/code/game/gamemodes/technomancer/spells/reflect.dm +++ b/code/game/gamemodes/technomancer/spells/reflect.dm @@ -21,13 +21,12 @@ set_light(3, 2, l_color = "#006AFF") spark_system = new /datum/effect/effect/system/spark_spread() spark_system.set_up(5, 0, src) - to_chat(owner, "Your shield will expire in 3 seconds!") - spawn(5 SECONDS) - if(src) - to_chat(owner, "Your shield expires!") - qdel(src) + to_chat(owner, "Your shield will expire in 5 seconds!") + QDEL_IN(src, 5 SECONDS) /obj/item/weapon/spell/reflect/Destroy() + if(owner) + to_chat(owner, "Your shield expires!") spark_system = null return ..() diff --git a/code/game/gamemodes/technomancer/spells/resurrect.dm b/code/game/gamemodes/technomancer/spells/resurrect.dm index 61ad874cad..02c072b90d 100644 --- a/code/game/gamemodes/technomancer/spells/resurrect.dm +++ b/code/game/gamemodes/technomancer/spells/resurrect.dm @@ -32,7 +32,7 @@ if(istype(L, /mob/living/simple_mob)) var/mob/living/simple_mob/SM = L SM.health = SM.getMaxHealth() / 3 - SM.stat = CONSCIOUS + SM.set_stat(CONSCIOUS) dead_mob_list -= SM living_mob_list += SM SM.update_icon() @@ -43,9 +43,8 @@ if(!H.client && H.mind) //Don't force the dead person to come back if they don't want to. for(var/mob/observer/dead/ghost in player_list) if(ghost.mind == H.mind) - to_chat(ghost, "The Technomancer [user.real_name] is trying to \ - revive you. Return to your body if you want to be resurrected! \ - (Verbs -> Ghost -> Re-enter corpse)") + ghost.notify_revive("The Technomancer [user.real_name] is trying to revive you. \ + Re-enter your body if you want to be revived!", 'sound/effects/genetics.ogg') break H.adjustBruteLoss(-40) @@ -53,7 +52,7 @@ sleep(10 SECONDS) if(H.client) - L.stat = CONSCIOUS //Note that if whatever killed them in the first place wasn't fixed, they're likely to die again. + L.set_stat(CONSCIOUS) //Note that if whatever killed them in the first place wasn't fixed, they're likely to die again. dead_mob_list -= H living_mob_list += H H.timeofdeath = null diff --git a/code/game/gamemodes/technomancer/spells/spawner/destablize.dm b/code/game/gamemodes/technomancer/spells/spawner/destablize.dm index 29381701ca..aee8d2557b 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/destablize.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/destablize.dm @@ -35,12 +35,13 @@ var/instability_power = 5 var/instability_range = 6 -/obj/effect/temporary_effect/destablize/New() - ..() - spawn(0) - radiate_loop() +/obj/effect/temporary_effect/destablize/Initialize() + . = ..() + radiate_loop() /obj/effect/temporary_effect/destablize/proc/radiate_loop() + set waitfor = FALSE + while(pulses_remaining) sleep(5) for(var/mob/living/L in range(src, instability_range) ) diff --git a/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm b/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm index 6dcd2cf4b2..b56ea64e9c 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm @@ -31,11 +31,15 @@ var/pulse_delay = 2 SECONDS /obj/effect/temporary_effect/pulse/Initialize() - spawn(0) - pulse_loop() - return ..() + ..() + return INITIALIZE_HINT_LATELOAD + +/obj/effect/temporary_effect/pulse/LateInitialize() + pulse_loop() /obj/effect/temporary_effect/pulse/proc/pulse_loop() + set waitfor = FALSE + while(pulses_remaining) sleep(pulse_delay) on_pulse() diff --git a/code/game/jobs/job/_alt_title.dm b/code/game/jobs/job/_alt_title.dm new file mode 100644 index 0000000000..1cb7fde6b6 --- /dev/null +++ b/code/game/jobs/job/_alt_title.dm @@ -0,0 +1,8 @@ +///////////////////////////////////////// +// Alt Title Code +///////////////////////////////////////// + +/datum/alt_title + var/title = "GENERIC ALT TITLE" // What the Alt-Title is called + var/title_blurb = null // What's amended to the job description for this Job title. If nothing's added, leave null. + var/title_outfit = null // The outfit used by the alt-title. If it's the same as the base job, leave this null. \ No newline at end of file diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index d20e392599..c1270dab3e 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -1,7 +1,11 @@ +////////////////////////////////// +// Assistant +////////////////////////////////// /datum/job/assistant title = "Assistant" flag = ASSISTANT - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) + sorting_order = -1 department_flag = CIVILIAN faction = "Station" total_positions = -1 @@ -11,12 +15,12 @@ economic_modifier = 1 access = list() //See /datum/job/assistant/get_access() minimal_access = list() //See /datum/job/assistant/get_access() + outfit_type = /decl/hierarchy/outfit/job/assistant -/* alt_titles = list( - "Technical Assistant", - "Medical Intern", - "Research Assistant", - "Visitor" = /decl/hierarchy/outfit/job/assistant/visitor + job_description = "An Assistant does whatever is requested of them. Though they are part of the crew, they have no real authority." +/* alt_titles = list("Technical Assistant" = /datum/alt_title/tech_assist, + "Medical Intern"= /datum/alt_title/med_intern, "Research Assistant" = /datum/alt_title/research_assist, + "Visitor" = /datum/alt_title/visitor) ) */ //VOREStation Removal: no alt-titles for visitors /datum/job/assistant/get_access() @@ -24,3 +28,32 @@ return list(access_maint_tunnels) else return list() + +// Assistant Alt Titles +/datum/alt_title/tech_assist + title = "Technical Assistant" + title_blurb = "A Technical Assistant attempts to provide whatever the Engineering department needs. They are not proper Engineers, and are \ + often in training to become an Engineer. A Technical Assistant has no real authority." + +/datum/alt_title/med_intern + title = "Medical Intern" + title_blurb = "A Medical Intern attempts to provide whatever the Medical department needs. They are frequently asked to pay attention to \ + the suit sensors console. A Medical Intern has no real authority." + +/datum/alt_title/research_assist + title = "Research Assistant" + title_blurb = "A Research Assistant attempts to assist anyone working in the Research department. They are expected to follow the instruction \ + of proper Research staff, as it is frequently a matter of safety. A Research Assistant has no real authority." + +/datum/alt_title/visitor + title = "Visitor" + title_blurb = "A Visitor is anyone who has arrived on the station but does not have a specific job to do. Many off-duty crewmembers \ + who care to make use of the station's facilities arrive as Visitors. Properly registered Vistors are considered \ + to be part of the crew for most if not all purposes, but they have no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/visitor + +/datum/alt_title/resident // Just in case it makes a comeback + title = "Resident" + title_blurb = "A Resident is an individual who resides on the station, frequently in a different part of the station than what is seen. \ + They are considered to be part of the crew for most purposes, but have no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/resident diff --git a/code/game/jobs/job/assistant_vr.dm b/code/game/jobs/job/assistant_vr.dm index 212ca5f847..e342da3ab3 100644 --- a/code/game/jobs/job/assistant_vr.dm +++ b/code/game/jobs/job/assistant_vr.dm @@ -1,7 +1,11 @@ +////////////////////////////////// +// Intern +////////////////////////////////// + /datum/job/intern title = "Intern" flag = INTERN - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = ENGSEC // Ran out of bits faction = "Station" total_positions = -1 @@ -12,9 +16,67 @@ access = list() //See /datum/job/intern/get_access() minimal_access = list() //See /datum/job/intern/get_access() outfit_type = /decl/hierarchy/outfit/job/assistant/intern - alt_titles = list("Apprentice Engineer","Medical Intern","Lab Assistant","Security Cadet","Jr. Cargo Tech", "Jr. Explorer", "Server" = /decl/hierarchy/outfit/job/service/server) + alt_titles = list("Intern" = /datum/alt_title/intern, + "Apprentice Engineer" = /datum/alt_title/intern_eng, + "Medical Intern" = /datum/alt_title/intern_med, + "Lab Assistant" = /datum/alt_title/intern_sci, + "Security Cadet" = /datum/alt_title/intern_sec, + "Jr. Cargo Tech" = /datum/alt_title/intern_crg, + "Jr. Explorer" = /datum/alt_title/intern_exp, + "Server" = /datum/alt_title/server) + job_description = "An Intern does whatever is requested of them, often doing so in process of learning \ + another job. Though they are part of the crew, they have no real authority." timeoff_factor = 0 // Interns, noh +/datum/alt_title/intern + title = "Intern" + +/datum/alt_title/intern_eng + title = "Apprentice Engineer" + title_blurb = "An Apprentice Engineer attempts to provide whatever the Engineering department needs. They are not proper Engineers, and are \ + often in training to become an Engineer. A Technical Assistant has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/engineer + +/datum/alt_title/intern_med + title = "Medical Intern" + title_blurb = "A Medical Intern attempts to provide whatever the Medical department needs. They are not proper Doctors, and are \ + often in training to become a Doctor. A Medical Intern has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/medic + +/datum/alt_title/intern_sci + title = "Lab Assistant" + title_blurb = "A Lab Assistant attempts to provide whatever the Research department needs. They are not proper Scientists, and are \ + often in training to become a Scientist. A Lab Assistant has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/scientist + +/datum/alt_title/intern_sec + title = "Security Cadet" + title_blurb = "A Security Cadet attempts to provide whatever the Security department needs. They are not proper Officers, and are \ + often in training to become an Officer. A Security Cadet has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/officer + +/datum/alt_title/intern_crg + title = "Jr. Cargo Tech" + title_blurb = "A Jr. Cargo Tech attempts to provide whatever the Cargo department needs. They are not proper Cargo Technicians, and are \ + often in training to become a Cargo Technician. A Jr. Cargo Tech has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/cargo + +/datum/alt_title/intern_exp + title = "Jr. Explorer" + title_blurb = "A Jr. Explorer attempts to provide whatever the Exploration department needs. They are not proper Explorers, and are \ + often in training to become an Explorer. A Jr. Explorer has no real authority." + title_outfit = /decl/hierarchy/outfit/job/assistant/explorer + +/datum/alt_title/server + title = "Server" + title_blurb = "A Server helps out kitchen and diner staff with various tasks, primarily food delivery. A Server has no real authority." + title_outfit = /decl/hierarchy/outfit/job/service/server + + +////////////////////////////////// +// Visitor +////////////////////////////////// + /datum/job/intern/New() ..() if(config) @@ -30,6 +92,7 @@ /datum/job/assistant // Visitor title = USELESS_JOB supervisors = "nobody! You don't work here" + job_description = "A Visitor is just there to visit the place. They have no real authority or responsibility." timeoff_factor = 0 /datum/job/assistant/New() diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 078514f168..c65837e123 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -1,16 +1,21 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) +////////////////////////////////// +// Captain +////////////////////////////////// + /datum/job/captain title = "Colony Director" flag = CAPTAIN - department = "Command" - head_position = 1 + departments = list(DEPARTMENT_COMMAND) + sorting_order = 3 // Above everyone. + departments_managed = list(DEPARTMENT_COMMAND) department_flag = ENGSEC faction = "Station" total_positions = 1 spawn_positions = 1 supervisors = "company officials and Corporate Regulations" - selection_color = "#1D1D4F" + selection_color = "#2F2F7F" req_admin_notify = 1 access = list() //See get_access() minimal_access = list() //See get_access() @@ -21,7 +26,11 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) ideal_character_age = 70 // Old geezer captains ftw outfit_type = /decl/hierarchy/outfit/job/captain - alt_titles = list("Site Manager", "Overseer") + job_description = "The Colony Director manages the other Command Staff, and through them the rest of the station. Though they have access to everything, \ + they do not understand everything, and are expected to delegate tasks to the appropriate crew member. The Colony Director is expected to \ + have an understanding of Standard Operating Procedure, and is subject to it, and legal action, in the same way as every other crew member." + alt_titles = list("Site Manager" = /datum/alt_title/site_manager, + "Overseer" = /datum/alt_title/overseer) //YW UNCOMMENTINGSTART: REINSTATE LOYALTY IMPLANT /datum/job/captain/equip(var/mob/living/carbon/human/H) @@ -30,20 +39,33 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) H.implant_loyalty(src) //YW UNCOMMENTING END + /datum/job/captain/get_access() return get_all_station_access().Copy() + +// Captain Alt Titles +/datum/alt_title/site_manager + title = "Site Manager" + +/datum/alt_title/overseer + title = "Overseer" + +////////////////////////////////// +// Head of Personnel +////////////////////////////////// /datum/job/hop title = "Head of Personnel" flag = HOP - department = "Command" - head_position = 1 + departments = list(DEPARTMENT_COMMAND, DEPARTMENT_CIVILIAN, DEPARTMENT_CARGO) + sorting_order = 2 // Above the QM, below captain. + departments_managed = list(DEPARTMENT_CIVILIAN, DEPARTMENT_CARGO) department_flag = CIVILIAN faction = "Station" total_positions = 1 spawn_positions = 1 supervisors = "the Colony Director" - selection_color = "#2F2F7F" + selection_color = "#1D1D4F" req_admin_notify = 1 minimal_player_age = 10 economic_modifier = 10 @@ -52,7 +74,10 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) ideal_character_age = 50 outfit_type = /decl/hierarchy/outfit/job/hop - alt_titles = list("Crew Resources Officer") + job_description = "The Head of Personnel manages the Service department, the Exploration team, and most other civilians. They also \ + manage the Supply department, through the Quartermaster. In addition, the Head of Personnel oversees the personal accounts \ + of the crew, including their money and access. If necessary, the Head of Personnel is first in line to assume Acting Command." + alt_titles = list("Crew Resources Officer" = /datum/alt_title/cro) access = list(access_security, access_sec_doors, access_brig, access_forensics_lockers, access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, @@ -67,17 +92,25 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, access_hop, access_RC_announce, access_keycard_auth, access_gateway) +// HOP Alt Titles +/datum/alt_title/cro + title = "Crew Resources Officer" + +////////////////////////////////// +// Command Secretary +////////////////////////////////// + /datum/job/secretary title = "Command Secretary" flag = BRIDGE - department = "Command" - head_position = 1 + departments = list(DEPARTMENT_COMMAND) + department_accounts = list(DEPARTMENT_COMMAND) department_flag = CIVILIAN faction = "Station" total_positions = 2 spawn_positions = 2 supervisors = "command staff" - selection_color = "#2F2F7F" + selection_color = "#1D1D4F" minimal_player_age = 5 economic_modifier = 7 @@ -85,7 +118,6 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) minimal_access = list(access_heads, access_keycard_auth, access_RC_announce)//YAWN EDIT outfit_type = /decl/hierarchy/outfit/job/secretary - - - + job_description = "A Command Secretary handles paperwork duty for the Heads of Staff, so they can better focus on managing their departments. \ + They are not Heads of Staff, and have no real authority." diff --git a/code/game/jobs/job/captain_vr.dm b/code/game/jobs/job/captain_vr.dm index b6c38cae15..ea9f8ebed9 100644 --- a/code/game/jobs/job/captain_vr.dm +++ b/code/game/jobs/job/captain_vr.dm @@ -1,10 +1,13 @@ /datum/job/captain disallow_jobhop = TRUE + pto_type = PTO_CIVILIAN /datum/job/hop - disallow_jobhop = TRUE - alt_titles = list("Deputy Director", "Crew Resources Officer") + pto_type = PTO_CIVILIAN + + alt_titles = list("Crew Resources Officer" = /datum/alt_title/cro, + "Deputy Director" = /datum/alt_title/deputy_director) access = list(access_security, access_sec_doors, access_brig, access_forensics_lockers, access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, @@ -19,5 +22,9 @@ access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, access_hop, access_RC_announce, access_keycard_auth) +/datum/alt_title/deputy_director + title = "Deputy Director" + /datum/job/secretary - disallow_jobhop = TRUE \ No newline at end of file + disallow_jobhop = TRUE + pto_type = PTO_CIVILIAN \ No newline at end of file diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index c3b87f9ec0..b48ee239bf 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -1,65 +1,101 @@ //Food + +////////////////////////////////// +// Bartender +////////////////////////////////// + /datum/job/bartender title = "Bartender" flag = BARTENDER - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the head of personnel" + supervisors = "the Head of Personnel" selection_color = "#515151" access = list(access_hydroponics, access_bar, access_kitchen) minimal_access = list(access_bar) outfit_type = /decl/hierarchy/outfit/job/service/bartender - alt_titles = list("Barista" = /decl/hierarchy/outfit/job/service/bartender/barista) + job_description = "A Bartender mixes drinks for the crew. They generally have permission to charge for drinks or deny service to unruly patrons." + alt_titles = list("Barista" = /datum/alt_title/barista) +// Bartender Alt Titles +/datum/alt_title/barista + title = "Barista" + title_blurb = "A barista mans the Cafe, serving primarily non-alcoholic drinks to the crew. They generally have permission to charge for drinks \ + or deny service to unruly patrons." + title_outfit = /decl/hierarchy/outfit/job/service/bartender/barista + +////////////////////////////////// +// Chef +////////////////////////////////// /datum/job/chef title = "Chef" flag = CHEF - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the head of personnel" + supervisors = "the Head of Personnel" selection_color = "#515151" access = list(access_hydroponics, access_bar, access_kitchen) minimal_access = list(access_kitchen) outfit_type = /decl/hierarchy/outfit/job/service/chef - alt_titles = list("Cook") + job_description = "A Chef cooks food for the crew. They generally have permission to charge for food or deny service to unruly diners." + alt_titles = list("Cook" = /datum/alt_title/cook) + +// Chef Alt Titles +/datum/alt_title/cook + title = "Cook" + title_blurb = "A Cook has the same duties, though they may be less experienced." + +////////////////////////////////// +// Botanist +////////////////////////////////// /datum/job/hydro title = "Botanist" flag = BOTANIST - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN faction = "Station" total_positions = 2 spawn_positions = 1 - supervisors = "the head of personnel" + supervisors = "the Head of Personnel" selection_color = "#515151" access = list(access_hydroponics, access_bar, access_kitchen) minimal_access = list(access_hydroponics) outfit_type = /decl/hierarchy/outfit/job/service/gardener - alt_titles = list("Gardener") + job_description = "A Botanist grows plants for the Chef and Bartender." + alt_titles = list("Gardener" = /datum/alt_title/gardener) + +//Botanist Alt Titles +/datum/alt_title/gardener + title = "Gardener" + title_blurb = "A Gardener may be less professional than their counterparts, and are more likely to tend to the public gardens if they aren't needed elsewhere." //Cargo +////////////////////////////////// +// Quartermaster +////////////////////////////////// /datum/job/qm title = "Quartermaster" flag = QUARTERMASTER - department = "Cargo" - head_position = 1 + departments = list(DEPARTMENT_CARGO) + sorting_order = 1 // QM is above the cargo techs, but below the HoP. + departments_managed = list(DEPARTMENT_CARGO) department_flag = CIVILIAN faction = "Station" total_positions = 1 spawn_positions = 1 - supervisors = "the head of personnel" - selection_color = "#7a4f33" + supervisors = "the Head of Personnel" + selection_color = "#9b633e" economic_modifier = 5 access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) @@ -67,79 +103,123 @@ ideal_character_age = 40 outfit_type = /decl/hierarchy/outfit/job/cargo/qm - alt_titles = list("Supply Chief") + job_description = "The Quartermaster manages the Supply department, checking cargo orders and ensuring supplies get to where they are needed." + alt_titles = list("Supply Chief" = /datum/alt_title/supply_chief) +// Quartermaster Alt Titles +/datum/alt_title/supply_chief + title = "Supply Chief" + +////////////////////////////////// +// Cargo Tech +////////////////////////////////// /datum/job/cargo_tech title = "Cargo Technician" flag = CARGOTECH - department = "Cargo" + departments = list(DEPARTMENT_CARGO) department_flag = CIVILIAN faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the quartermaster and the head of personnel" - selection_color = "#9b633e" + supervisors = "the Quartermaster and the Head of Personnel" + selection_color = "#7a4f33" access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) outfit_type = /decl/hierarchy/outfit/job/cargo/cargo_tech + job_description = "A Cargo Technician fills and delivers cargo orders. They are encouraged to return delivered crates to the Cargo Shuttle, \ + because Central Command gives a partial refund." + +////////////////////////////////// +// Shaft Miner +////////////////////////////////// /datum/job/mining title = "Shaft Miner" flag = MINER - department = "Cargo" + departments = list(DEPARTMENT_CARGO) department_flag = CIVILIAN faction = "Station" total_positions = 3 spawn_positions = 3 - supervisors = "the quartermaster and the head of personnel" - selection_color = "#9b633e" + supervisors = "the Quartermaster and the Head of Personnel" + selection_color = "#7a4f33" economic_modifier = 5 access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) minimal_access = list(access_mining, access_mining_station, access_mailsorting) outfit_type = /decl/hierarchy/outfit/job/cargo/mining - alt_titles = list("Drill Technician") + job_description = "A Shaft Miner mines and processes minerals to be delivered to departments that need them." + alt_titles = list("Drill Technician" = /datum/alt_title/drill_tech) + +/datum/alt_title/drill_tech + title = "Drill Technician" + title_blurb = "A Drill Technician specializes in operating and maintaining the machinery needed to extract ore from veins deep below the surface." //Service +////////////////////////////////// +// Janitor +////////////////////////////////// /datum/job/janitor title = "Janitor" flag = JANITOR - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the head of personnel" + supervisors = "the Head of Personnel" selection_color = "#515151" access = list(access_janitor, access_maint_tunnels) minimal_access = list(access_janitor, access_maint_tunnels) outfit_type = /decl/hierarchy/outfit/job/service/janitor - alt_titles = list("Custodian") + job_description = "A Janitor keeps the station clean, as long as it doesn't interfere with active crime scenes." + alt_titles = list("Custodian" = /datum/alt_title/custodian) + +// Janitor Alt Titles +/datum/alt_title/custodian + title = "Custodian" //More or less assistants +////////////////////////////////// +// Librarian +////////////////////////////////// /datum/job/librarian title = "Librarian" flag = LIBRARIAN - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN faction = "Station" total_positions = 1 spawn_positions = 1 - supervisors = "the head of personnel" + supervisors = "the Head of Personnel" selection_color = "#515151" access = list(access_library, access_maint_tunnels) minimal_access = list(access_library) outfit_type = /decl/hierarchy/outfit/job/librarian - alt_titles = list("Journalist", "Writer") + job_description = "The Librarian curates the book selection in the Library, so the crew might enjoy it." + alt_titles = list("Journalist" = /datum/alt_title/journalist, "Writer" = /datum/alt_title/writer) + +// Librarian Alt Titles +/datum/alt_title/journalist + title = "Journalist" + title_blurb = "The Journalist uses the Library as a base of operations, from which they can report the news and goings-on on the station with their camera." + +/datum/alt_title/writer + title = "Writer" + title_blurb = "The Writer uses the Library as a quiet place to write whatever it is they choose to write." + +////////////////////////////////// +// Internal Affairs Agent +////////////////////////////////// //var/global/lawyer = 0//Checks for another lawyer //This changed clothes on 2nd lawyer, both IA get the same dreds. /datum/job/lawyer title = "Internal Affairs Agent" flag = LAWYER - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN faction = "Station" total_positions = 2 @@ -152,6 +232,9 @@ minimal_player_age = 7 outfit_type = /decl/hierarchy/outfit/job/internal_affairs_agent + job_description = "An Internal Affairs Agent makes sure that the crew is following Standard Operating Procedure. They also \ + handle complaints against crew members, and can have issues brought to the attention of Central Command, \ + assuming their paperwork is in order." //YW UNCOMMENTINGSTART: REINSTATE LOYALTY IMPLANT /datum/job/lawyer/equip(var/mob/living/carbon/human/H) diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index 12c2c9419d..2f208fb545 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -2,18 +2,24 @@ /datum/job/chaplain title = "Chaplain" flag = CHAPLAIN - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN faction = "Station" total_positions = 1 spawn_positions = 1 - supervisors = "the head of personnel" + supervisors = "the Head of Personnel" selection_color = "#515151" access = list(access_morgue, access_chapel_office, access_crematorium, access_maint_tunnels) minimal_access = list(access_chapel_office, access_crematorium) - alt_titles = list("Counselor") outfit_type = /decl/hierarchy/outfit/job/chaplain + job_description = "The Chaplain ministers to the spiritual needs of the crew." + alt_titles = list("Counselor" = /datum/alt_title/counselor) + +// Chaplain Alt Titles +/datum/alt_title/counselor + title = "Counselor" + title_blurb = "The Counselor attends to the emotional needs of the crew, without a specific medicinal or spiritual focus." /datum/job/chaplain/equip(var/mob/living/carbon/human/H, var/alt_title, var/ask_questions = TRUE) . = ..() diff --git a/code/game/jobs/job/civilian_vr.dm b/code/game/jobs/job/civilian_vr.dm index 9ade997b3e..2844108187 100644 --- a/code/game/jobs/job/civilian_vr.dm +++ b/code/game/jobs/job/civilian_vr.dm @@ -1,31 +1,54 @@ +/datum/job/bartender + pto_type = PTO_CIVILIAN + /datum/job/chef total_positions = 2 //IT TAKES A LOT TO MAKE A STEW spawn_positions = 2 //A PINCH OF SALT AND LAUGHTER, TOO + pto_type = PTO_CIVILIAN /datum/job/hydro spawn_positions = 2 + pto_type = PTO_CIVILIAN + +/datum/job/qm + pto_type = PTO_CARGO /datum/job/cargo_tech total_positions = 3 spawn_positions = 3 + pto_type = PTO_CARGO /datum/job/mining total_positions = 4 spawn_positions = 4 + pto_type = PTO_CARGO /datum/job/janitor //Lots of janitor substations on station. total_positions = 3 spawn_positions = 3 - alt_titles = list("Custodian", "Sanitation Technician", "Maid") + alt_titles = list("Custodian" = /datum/alt_title/custodian, "Sanitation Technician" = /datum/alt_title/sanitation_tech, "Maid" = /datum/alt_title/maid) + pto_type = PTO_CIVILIAN + +/datum/alt_title/sanitation_tech + title = "Sanitation Technician" + +/datum/alt_title/maid + title = "Maid" -//TFF 5/9/19 - restore librarian job slot to 2 /datum/job/librarian total_positions = 2 spawn_positions = 2 - alt_titles = list("Journalist", "Historian", "Writer") + alt_titles = list("Journalist" = /datum/alt_title/journalist, "Writer" = /datum/alt_title/writer, "Historian" = /datum/alt_title/historian) + pto_type = PTO_CIVILIAN + +/datum/alt_title/historian + title = "Historian" + title_blurb = "The Historian uses the Library as a base of operation to record any important events occuring on station." /datum/job/lawyer disallow_jobhop = TRUE + pto_type = PTO_CIVILIAN - +/datum/job/chaplain + pto_type = PTO_CIVILIAN diff --git a/code/game/jobs/job/department.dm b/code/game/jobs/job/department.dm new file mode 100644 index 0000000000..39bbc1c38c --- /dev/null +++ b/code/game/jobs/job/department.dm @@ -0,0 +1,80 @@ +// A datum that holds information about a specific department. +// It is held inside, and managed by, the SSjob subsystem automatically, +// just define a department, and put that department's name in one or more job datums' departments list. + +/datum/department + var/name = "NOPE" // Name used in UIs, and the index for the department assoc list in SSjob. + var/short_name = "NO" // Shorter name, used for things like external Topic() responses. + var/color = "#000000" // Color to use in UIs to represent this department. + var/list/jobs = list() // Assoc list. Key is the job title, and the value is a reference to the job datum. Populated by SSjob subsystem. + var/list/primary_jobs = list() // Same as above, but only jobs with their 'primary' department are put here. Primary being the first department in their list. + var/sorting_order = 0 // Used to sort departments, e.g. Command always being on top. + var/visible = TRUE // If false, it should not show up on things like the manifest or ID computer. + var/assignable = TRUE // Similar for above, but only for ID computers and such. Used for silicon department. + var/centcom_only = FALSE + +/datum/department/command + name = DEPARTMENT_COMMAND + short_name = "Heads" + color = "#3333FF" + sorting_order = 10 + +/datum/department/security + name = DEPARTMENT_SECURITY + short_name = "Sec" + color = "#8E0000" + sorting_order = 6 + +/datum/department/engineering + name = DEPARTMENT_ENGINEERING + short_name = "Eng" + color = "#B27300" + sorting_order = 5 + +/datum/department/medical + name = DEPARTMENT_MEDICAL + short_name = "Med" + color = "#006600" + sorting_order = 4 + +/datum/department/research + name = DEPARTMENT_RESEARCH + short_name = "Sci" + color = "#A65BA6" + sorting_order = 3 + +/datum/department/cargo + name = DEPARTMENT_CARGO + short_name = "Car" + color = "#BB9040" + sorting_order = 2 + +/datum/department/civilian + name = DEPARTMENT_CIVILIAN + short_name = "Civ" + color = "#A32800" + sorting_order = 1 + +// Mostly for if someone wanted to rewrite manifest code to be map-agnostic. +/datum/department/misc + name = "Miscellaneous" + short_name = "Misc" + color = "#666666" + sorting_order = 0 + assignable = FALSE + +/datum/department/synthetic + name = DEPARTMENT_SYNTHETIC + short_name = "Bot" + color = "#222222" + sorting_order = -1 + assignable = FALSE + +// This one isn't very useful since no real centcom jobs exist yet. +// Instead the jobs like ERT are hardcoded in. +/datum/department/centcom + name = "Central Command" + short_name = "Centcom" + color = "#A52A2A" + sorting_order = 20 // Above Command. + centcom_only = TRUE \ No newline at end of file diff --git a/code/game/jobs/job/department_vr.dm b/code/game/jobs/job/department_vr.dm new file mode 100644 index 0000000000..2af1d8e94f --- /dev/null +++ b/code/game/jobs/job/department_vr.dm @@ -0,0 +1,6 @@ +/datum/department/misc + name = "Off-Duty" + short_name = "Offduty" + color = "#666666" + sorting_order = -5 + assignable = FALSE \ No newline at end of file diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index cfa79ffc25..285c3dc814 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -1,8 +1,12 @@ +////////////////////////////////// +// Chief Engineer +////////////////////////////////// /datum/job/chief_engineer title = "Chief Engineer" flag = CHIEF - head_position = 1 - department = "Engineering" + departments_managed = list(DEPARTMENT_ENGINEERING) + departments = list(DEPARTMENT_ENGINEERING, DEPARTMENT_COMMAND) + sorting_order = 2 department_flag = ENGSEC faction = "Station" total_positions = 1 @@ -27,35 +31,63 @@ minimal_player_age = 7 outfit_type = /decl/hierarchy/outfit/job/engineering/chief_engineer + job_description = "The Chief Engineer manages the Engineering Department, ensuring that the Engineers work on what needs to be done, handling distribution \ + of manpower as much as they handle hands-on operations and repairs. They are also expected to keep the rest of the station informed of \ + any structural threats to the station that may be hazardous to health or disruptive to work." +////////////////////////////////// +// Engineer +////////////////////////////////// /datum/job/engineer title = "Station Engineer" flag = ENGINEER - department = "Engineering" + departments = list(DEPARTMENT_ENGINEERING) department_flag = ENGSEC faction = "Station" total_positions = 5 spawn_positions = 5 - supervisors = "the chief engineer" + supervisors = "the Chief Engineer" selection_color = "#5B4D20" economic_modifier = 5 access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics) minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction) - alt_titles = list("Maintenance Technician","Engine Technician","Electrician") + alt_titles = list("Maintenance Technician" = /datum/alt_title/maint_tech, + "Engine Technician" = /datum/alt_title/engine_tech, "Electrician" = /datum/alt_title/electrician) minimal_player_age = 3 outfit_type = /decl/hierarchy/outfit/job/engineering/engineer + job_description = "An Engineer keeps the station running. They repair damages, keep the atmosphere stable, and ensure that power is being \ + generated and distributed. On quiet shifts, they may be called upon to make cosmetic alterations to the station." +// Engineer Alt Titles +/datum/alt_title/maint_tech + title = "Maintenance Technician" + title_blurb = "A Maintenance Technician is generally a junior Engineer, and can be expected to run the mildly unpleasant or boring tasks that other \ + Engineers don't care to do." + +/datum/alt_title/engine_tech + title = "Engine Technician" + title_blurb = "An Engine Technician tends to the engine, most commonly a Supermatter crystal. They are expected to be able to keep it stable, and \ + possibly even run it beyond normal tolerances." + +/datum/alt_title/electrician + title = "Electrician" + title_blurb = "An Electrician's primary duty is making sure power is properly distributed thoughout the station, utilizing solars, substations, and other \ + methods to ensure every department has power in an emergency." + +////////////////////////////////// +// Atmos Tech +////////////////////////////////// /datum/job/atmos title = "Atmospheric Technician" flag = ATMOSTECH - department = "Engineering" + departments = list(DEPARTMENT_ENGINEERING) department_flag = ENGSEC faction = "Station" total_positions = 3 spawn_positions = 2 - supervisors = "the chief engineer" + supervisors = "the Chief Engineer" selection_color = "#5B4D20" economic_modifier = 5 access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_external_airlocks) @@ -63,4 +95,6 @@ minimal_player_age = 3 - outfit_type = /decl/hierarchy/outfit/job/engineering/atmos \ No newline at end of file + outfit_type = /decl/hierarchy/outfit/job/engineering/atmos + job_description = "An Atmospheric Technician is primarily concerned with keeping the station's atmosphere breathable. They are expected to have a good \ + understanding of the pipes, vents, and scrubbers that move gasses around the station, and to be familiar with proper firefighting procedure." diff --git a/code/game/jobs/job/engineering_vr.dm b/code/game/jobs/job/engineering_vr.dm index da4b94de38..10337d9881 100644 --- a/code/game/jobs/job/engineering_vr.dm +++ b/code/game/jobs/job/engineering_vr.dm @@ -1,5 +1,10 @@ /datum/job/chief_engineer disallow_jobhop = TRUE + pto_type = PTO_ENGINEERING + +/datum/job/engineer + pto_type = PTO_ENGINEERING /datum/job/atmos - spawn_positions = 3 \ No newline at end of file + spawn_positions = 3 + pto_type = PTO_ENGINEERING \ No newline at end of file diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index e22bb9030c..6bc533370a 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -13,11 +13,14 @@ var/current_positions = 0 // How many players have this job var/supervisors = null // Supervisors, who this person answers to directly var/selection_color = "#ffffff" // Selection screen color - var/list/alt_titles // List of alternate titles, if any + var/list/alt_titles = null // List of alternate titles; There is no need for an alt-title datum for the base job title. var/req_admin_notify // If this is set to 1, a text is printed to the player when jobs are assigned, telling him that he should let admins know that he has to disconnect. var/minimal_player_age = 0 // If you have use_age_restriction_for_jobs config option enabled and the database set up, this option will add a requirement for players to be at least minimal_player_age days old. (meaning they first signed in at least that many days before.) - var/department = null // Does this position have a department tag? - var/head_position = 0 // Is this position Command? + var/list/departments = list() // List of departments this job belongs to, if any. The first one on the list will be the 'primary' department. + var/sorting_order = 0 // Used for sorting jobs so boss jobs go above regular ones, and their boss's boss is above that. Higher numbers = higher in sorting. + var/departments_managed = null // Is this a management position? If yes, list of departments managed. Otherwise null. + var/department_accounts = null // Which department accounts should people with this position be given the pin for? + var/assignable = TRUE // Should it show up on things like the ID computer? var/minimum_character_age = 0 var/ideal_character_age = 30 var/has_headset = TRUE //Do people with this job need to be given headsets and told how to use them? E.g. Cyborgs don't. @@ -25,7 +28,14 @@ var/account_allowed = 1 // Does this job type come with a station account? var/economic_modifier = 2 // With how much does this job modify the initial account amount? - var/outfit_type + var/outfit_type // What outfit datum does this job use in its default title? + + // Description of the job's role and minimum responsibilities. + var/job_description = "This Job doesn't have a description! Please report it!" + +/datum/job/New() + . = ..() + department_accounts = department_accounts || departments_managed /datum/job/proc/equip(var/mob/living/carbon/human/H, var/alt_title) var/decl/hierarchy/outfit/outfit = get_outfit(H, alt_title) @@ -36,7 +46,9 @@ /datum/job/proc/get_outfit(var/mob/living/carbon/human/H, var/alt_title) if(alt_title && alt_titles) - . = alt_titles[alt_title] + var/datum/alt_title/A = alt_titles[alt_title] + if(A && initial(A.title_outfit)) + . = initial(A.title_outfit) . = . || outfit_type . = outfit_by_type(.) @@ -110,4 +122,37 @@ return (current_positions < total_positions) || (total_positions == -1) /datum/job/proc/has_alt_title(var/mob/H, var/supplied_title, var/desired_title) - return (supplied_title == desired_title) || (H.mind && H.mind.role_alt_title == desired_title) \ No newline at end of file + return (supplied_title == desired_title) || (H.mind && H.mind.role_alt_title == desired_title) + +/datum/job/proc/get_description_blurb(var/alt_title) + var/list/message = list() + message |= job_description + + if(alt_title && alt_titles) + var/typepath = alt_titles[alt_title] + if(typepath) + var/datum/alt_title/A = new typepath() + if(A.title_blurb) + message |= A.title_blurb + return message + +/datum/job/proc/get_job_icon() + if(!job_master.job_icons[title]) + var/mob/living/carbon/human/dummy/mannequin/mannequin = get_mannequin("#job_icon") + dress_mannequin(mannequin) + mannequin.dir = SOUTH + COMPILE_OVERLAYS(mannequin) + var/icon/preview_icon = getFlatIcon(mannequin) + + preview_icon.Scale(preview_icon.Width() * 2, preview_icon.Height() * 2) // Scaling here to prevent blurring in the browser. + job_master.job_icons[title] = preview_icon + + return job_master.job_icons[title] + +/datum/job/proc/dress_mannequin(var/mob/living/carbon/human/dummy/mannequin/mannequin) + mannequin.delete_inventory(TRUE) + equip_preview(mannequin) + if(mannequin.back) + var/obj/O = mannequin.back + mannequin.drop_from_inventory(O) + qdel(O) \ No newline at end of file diff --git a/code/game/jobs/job/job_vr.dm b/code/game/jobs/job/job_vr.dm index 060aee6fef..ce982aaab9 100644 --- a/code/game/jobs/job/job_vr.dm +++ b/code/game/jobs/job/job_vr.dm @@ -8,9 +8,12 @@ //Every hour playing this role gains this much time off. (Can be negative for off duty jobs!) var/timeoff_factor = 3 + //What type of PTO is that job earning? + var/pto_type + //Disallow joining as this job midround from off-duty position via going on-duty var/disallow_jobhop = FALSE // Check client-specific availability rules. /datum/job/proc/player_has_enough_pto(client/C) - return timeoff_factor >= 0 || (C && LAZYACCESS(C.department_hours, department) > 0) + return timeoff_factor >= 0 || (C && LAZYACCESS(C.department_hours, pto_type) > 0) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index c855411303..d276c96648 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -1,8 +1,12 @@ +////////////////////////////////// +// Chief Medical Officer +////////////////////////////////// /datum/job/cmo title = "Chief Medical Officer" flag = CMO - head_position = 1 - department = "Medical" + departments_managed = list(DEPARTMENT_MEDICAL) + departments = list(DEPARTMENT_MEDICAL, DEPARTMENT_COMMAND) + sorting_order = 2 department_flag = MEDSCI faction = "Station" total_positions = 1 @@ -23,93 +27,168 @@ ideal_character_age = 50 outfit_type = /decl/hierarchy/outfit/job/medical/cmo + job_description = "The CMO manages the Medical department and is a position requiring experience and skill; their goal is to ensure that their \ + staff keep the station's crew healthy and whole. They are primarily interested in making sure that patients are safely found and \ + transported to Medical for treatment. They are expected to keep the crew informed about threats to their health and safety, and \ + about the importance of Suit Sensors." +////////////////////////////////// +// Medical Doctor +////////////////////////////////// /datum/job/doctor title = "Medical Doctor" flag = DOCTOR - department = "Medical" + departments = list(DEPARTMENT_MEDICAL) department_flag = MEDSCI faction = "Station" total_positions = 5 spawn_positions = 3 - supervisors = "the chief medical officer" + supervisors = "the Chief Medical Officer" selection_color = "#013D3B" economic_modifier = 7 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_eva) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology, access_eva) outfit_type = /decl/hierarchy/outfit/job/medical/doctor + job_description = "A Medical Doctor is a Jack-of-All-Trades Medical title, covering a variety of skill levels and minor specializations. They are likely \ + familiar with basic first aid, and a number of accompanying medications, and can generally save, if not cure, a majority of the \ + patients they encounter." alt_titles = list( - "Surgeon" = /decl/hierarchy/outfit/job/medical/doctor/surgeon, - "Emergency Physician" = /decl/hierarchy/outfit/job/medical/doctor/emergency_physician, - "Nurse" = /decl/hierarchy/outfit/job/medical/doctor/nurse, - "Virologist" = /decl/hierarchy/outfit/job/medical/doctor/virologist) + "Surgeon" = /datum/alt_title/surgeon, + "Emergency Physician" = /datum/alt_title/emergency_physician, + "Nurse" = /datum/alt_title/nurse, + "Virologist" = /datum/alt_title/virologist) + +//Medical Doctor Alt Titles +/datum/alt_title/surgeon + title = "Surgeon" + title_blurb = "A Surgeon specializes in providing surgical aid to injured patients, up to and including amputation and limb reattachement. They are expected \ + to know the ins and outs of anesthesia and surgery." + title_outfit = /decl/hierarchy/outfit/job/medical/doctor/surgeon + +/datum/alt_title/emergency_physician + title = "Emergency Physician" + title_blurb = "An Emergency Physician is a Medical professional trained for stabilizing and treating severely injured and/or dying patients. \ + They are generally the first response for any such individual brought to the Medbay, and can sometimes be expected to help their patients \ + make a full recovery." + title_outfit = /decl/hierarchy/outfit/job/medical/doctor/emergency_physician + +/datum/alt_title/nurse + title = "Nurse" + title_blurb = "A Nurse acts as a general purpose Doctor's Aide, providing basic care to non-critical patients, and stabilizing critical patients during \ + busy periods. They frequently watch the suit sensors console, to help manage the time of other Doctors. In rare occasions, a Nurse can be \ + called upon to revive deceased crew members." + title_outfit = /decl/hierarchy/outfit/job/medical/doctor/nurse + +/datum/alt_title/virologist + title = "Virologist" + title_blurb = "A Virologist cures active diseases in the crew, and prepares antibodies for possible infections. They also have the skills \ + to produce the various types of virus foods or mutagens." + title_outfit = /decl/hierarchy/outfit/job/medical/doctor/virologist //Chemist is a medical job damnit //YEAH FUCK YOU SCIENCE -Pete //Guys, behave -Erro +////////////////////////////////// +// Chemist +////////////////////////////////// /datum/job/chemist title = "Chemist" flag = CHEMIST - department = "Medical" + departments = list(DEPARTMENT_MEDICAL) department_flag = MEDSCI faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the chief medical officer" + supervisors = "the Chief Medical Officer" selection_color = "#013D3B" economic_modifier = 5 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) minimal_access = list(access_medical, access_medical_equip, access_chemistry) - alt_titles = list("Pharmacist") - minimal_player_age = 3 outfit_type = /decl/hierarchy/outfit/job/medical/chemist + job_description = "A Chemist produces and maintains a stock of basic to advanced chemicals for medical and occasionally research use. \ + They are likely to know the use and dangers of many lab-produced chemicals." + alt_titles = list("Pharmacist" = /datum/alt_title/pharmacist) + +// Chemist Alt Titles +/datum/alt_title/pharmacist + title = "Pharmacist" + title_blurb = "A Pharmacist focuses on the chemical needs of the Medical Department, and often offers to fill crew prescriptions at their discretion." /* I'm commenting out Geneticist so you can't actually see it in the job menu, given that you can't play as one - Jon. +////////////////////////////////// +// Geneticist +////////////////////////////////// /datum/job/geneticist title = "Geneticist" flag = GENETICIST - department = "Medical" + departments = list(DEPARTMENT_MEDICAL, DEPARTMENT_RESEARCH) department_flag = MEDSCI faction = "Station" total_positions = 0 spawn_positions = 0 - supervisors = "the chief medical officer and research director" + supervisors = "the Chief Medical Officer and Research Director" selection_color = "#013D3B" economic_modifier = 7 access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research) minimal_access = list(access_medical, access_morgue, access_genetics, access_research) outfit_type = /decl/hierarchy/outfit/job/medical/geneticist + job_description = "A Geneticist operates genetic manipulation equipment to repair any genetic defects encountered in crew, from cloning or radiation as examples. \ + When required, geneticists have the skills to clone, and are the superior choice when available for doing so." */ +////////////////////////////////// +// Psychiatrist +////////////////////////////////// /datum/job/psychiatrist title = "Psychiatrist" flag = PSYCHIATRIST - department = "Medical" + departments = list(DEPARTMENT_MEDICAL) department_flag = MEDSCI faction = "Station" total_positions = 1 spawn_positions = 1 economic_modifier = 5 - supervisors = "the chief medical officer" + supervisors = "the Chief Medical Officer" selection_color = "#013D3B" access = list(access_medical, access_medical_equip, access_morgue, access_psychiatrist) minimal_access = list(access_medical, access_medical_equip, access_psychiatrist) outfit_type = /decl/hierarchy/outfit/job/medical/psychiatrist - alt_titles = list("Psychologist" = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist) + job_description = "A Psychiatrist provides mental health services to crew members in need. They may also be called upon to determine whatever \ + ails the mentally unwell, frequently under Security supervision. They understand the effects of various psychoactive drugs." + alt_titles = list("Psychologist" = /datum/alt_title/psychologist) +//Psychiatrist Alt Titles +/datum/alt_title/psychologist + title = "Psychologist" + title_blurb = "A Psychologist provides mental health services to crew members in need, focusing more on therapy than medication. They may also be \ + called upon to determine whatever ails the mentally unwell, frequently under Security supervision." + title_outfit = /decl/hierarchy/outfit/job/medical/psychiatrist/psychologist + +////////////////////////////////// +// Paramedic +////////////////////////////////// /datum/job/paramedic title = "Paramedic" flag = PARAMEDIC - department = "Medical" + departments = list(DEPARTMENT_MEDICAL) department_flag = MEDSCI faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the chief medical officer" + supervisors = "the Chief Medical Officer" selection_color = "#013D3B" economic_modifier = 4 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks) outfit_type = /decl/hierarchy/outfit/job/medical/paramedic - alt_titles = list("Emergency Medical Technician" = /decl/hierarchy/outfit/job/medical/paramedic/emt) \ No newline at end of file + job_description = "A Paramedic is primarily concerned with the recovery of patients who are unable to make it to the Medical Department on their own. \ + They may also be called upon to keep patients stable when Medical is busy or understaffed." + alt_titles = list("Emergency Medical Technician" = /datum/alt_title/emt) + +// Paramedic Alt Titles +/datum/alt_title/emt + title = "Emergency Medical Technician" + title_blurb = "An Emergency Medical Technician is primarily concerned with the recovery of patients who are unable to make it to the Medical Department on their \ + own. They are capable of keeping a patient stabilized until they reach the hands of someone with more training." + title_outfit = /decl/hierarchy/outfit/job/medical/paramedic/emt \ No newline at end of file diff --git a/code/game/jobs/job/medical_vr.dm b/code/game/jobs/job/medical_vr.dm index bd541fb00a..306fe9acaa 100644 --- a/code/game/jobs/job/medical_vr.dm +++ b/code/game/jobs/job/medical_vr.dm @@ -1,5 +1,16 @@ /datum/job/cmo disallow_jobhop = TRUE + pto_type = PTO_MEDICAL /datum/job/doctor - spawn_positions = 5 \ No newline at end of file + spawn_positions = 5 + pto_type = PTO_MEDICAL + +/datum/job/chemist + pto_type = PTO_MEDICAL + +/datum/job/psychiatrist + pto_type = PTO_MEDICAL + +/datum/job/paramedic + pto_type = PTO_MEDICAL \ No newline at end of file diff --git a/code/game/jobs/job/offduty_vr.dm b/code/game/jobs/job/offduty_vr.dm index 8e18827c06..416543956c 100644 --- a/code/game/jobs/job/offduty_vr.dm +++ b/code/game/jobs/job/offduty_vr.dm @@ -8,12 +8,17 @@ timeoff_factor = -1 total_positions = -1 faction = "Station" - department = "Civilian" + departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#9b633e" access = list(access_maint_tunnels) minimal_access = list(access_maint_tunnels) outfit_type = /decl/hierarchy/outfit/job/assistant/worker + job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off." + pto_type = PTO_CIVILIAN + +/datum/alt_title/offduty_civ + title = "Off-duty Worker" /datum/job/offduty_cargo title = "Off-duty Cargo" @@ -21,12 +26,17 @@ timeoff_factor = -1 total_positions = -1 faction = "Station" - department = "Cargo" + departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#9b633e" access = list(access_maint_tunnels) minimal_access = list(access_maint_tunnels) outfit_type = /decl/hierarchy/outfit/job/assistant/cargo + job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off." + pto_type = PTO_CARGO + +/datum/alt_title/offduty_crg + title = "Off-duty Cargo" /datum/job/offduty_engineering title = "Off-duty Engineer" @@ -34,12 +44,17 @@ timeoff_factor = -1 total_positions = -1 faction = "Station" - department = "Engineering" + departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#5B4D20" access = list(access_maint_tunnels, access_external_airlocks, access_construction) minimal_access = list(access_maint_tunnels, access_external_airlocks) outfit_type = /decl/hierarchy/outfit/job/assistant/engineer + job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off." + pto_type = PTO_ENGINEERING + +/datum/alt_title/offduty_eng + title = "Off-duty Engineer" /datum/job/offduty_medical title = "Off-duty Medic" @@ -47,12 +62,17 @@ timeoff_factor = -1 total_positions = -1 faction = "Station" - department = "Medical" + departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#013D3B" access = list(access_maint_tunnels, access_external_airlocks) minimal_access = list(access_maint_tunnels, access_external_airlocks) outfit_type = /decl/hierarchy/outfit/job/assistant/medic + job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off." + pto_type = PTO_MEDICAL + +/datum/alt_title/offduty_med + title = "Off-duty Medic" /datum/job/offduty_science title = "Off-duty Scientist" @@ -60,12 +80,17 @@ timeoff_factor = -1 total_positions = -1 faction = "Station" - department = "Science" + departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#633D63" access = list(access_maint_tunnels) minimal_access = list(access_maint_tunnels) outfit_type = /decl/hierarchy/outfit/job/assistant/scientist + job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off." + pto_type = PTO_SCIENCE + +/datum/alt_title/offduty_sci + title = "Off-duty Scientist" /datum/job/offduty_security title = "Off-duty Officer" @@ -73,9 +98,14 @@ timeoff_factor = -1 total_positions = -1 faction = "Station" - department = "Security" + departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#601C1C" access = list(access_maint_tunnels) minimal_access = list(access_maint_tunnels) outfit_type = /decl/hierarchy/outfit/job/assistant/officer + job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off." + pto_type = PTO_SECURITY + +/datum/alt_title/offduty_sec + title = "Off-duty Officer" diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index c7ed91a5f9..71159d5b81 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -1,8 +1,12 @@ +////////////////////////////////// +// Research Director +////////////////////////////////// /datum/job/rd title = "Research Director" flag = RD - head_position = 1 - department = "Science" + departments_managed = list(DEPARTMENT_RESEARCH) + departments = list(DEPARTMENT_RESEARCH, DEPARTMENT_COMMAND) + sorting_order = 2 department_flag = MEDSCI faction = "Station" total_positions = 1 @@ -26,17 +30,28 @@ ideal_character_age = 50 outfit_type = /decl/hierarchy/outfit/job/science/rd - alt_titles = list("Research Supervisor") + job_description = "The Research Director manages and maintains the Research department. They are required to ensure the safety of the entire crew, \ + at least with regards to anything occuring in the Research department, and to inform the crew of any disruptions that \ + might originate from Research. The Research Director often has at least passing knowledge of most of the Research department, but \ + are encouraged to allow their staff to perform their own duties." + alt_titles = list("Research Supervisor" = /datum/alt_title/research_supervisor) +// Research Director Alt Titles +/datum/alt_title/research_supervisor + title = "Research Supervisor" + +////////////////////////////////// +// Scientist +////////////////////////////////// /datum/job/scientist title = "Scientist" flag = SCIENTIST - department = "Science" + departments = list(DEPARTMENT_RESEARCH) department_flag = MEDSCI faction = "Station" total_positions = 5 spawn_positions = 3 - supervisors = "the research director" + supervisors = "the Research Director" selection_color = "#633D63" economic_modifier = 7 access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch) @@ -45,17 +60,41 @@ minimal_player_age = 3 outfit_type = /decl/hierarchy/outfit/job/science/scientist - alt_titles = list("Xenoarchaeologist", "Anomalist", "Phoron Researcher") + job_description = "A Scientist is a generalist working in the Research department, with general knowledge of the scientific process, as well as \ + the principles and requirements of Research and Development. They may also formulate experiments of their own devising, if \ + they find an appropriate topic." + alt_titles = list("Xenoarchaeologist" = /datum/alt_title/xenoarch, "Anomalist" = /datum/alt_title/anomalist, \ + "Phoron Researcher" = /datum/alt_title/phoron_research) +// Scientist Alt Titles +/datum/alt_title/xenoarch + title = "Xenoarchaeologist" + title_blurb = "A Xenoarchaeologist enters digsites in search of artifacts of alien origin. These digsites are frequently in vacuum or other inhospitable \ + locations, and as such a Xenoarchaeologist should be prepared to handle hostile evironmental conditions." + +/datum/alt_title/anomalist + title = "Anomalist" + title_blurb = "An Anomalist is a Scientist whose expertise is analyzing alien artifacts. They are familar with the most common methods of testing artifact \ + function. They work closely with Xenoarchaeologists, or Miners, if either role is present." + +/datum/alt_title/phoron_research + title = "Phoron Researcher" + title_blurb = "A Phoron Researcher is a specialist in the practical applications of phoron, and has knowledge of its practical uses and dangers. \ + Many Phoron Researchers are interested in the combustability and explosive properties of gaseous phoron, as well as the specific hazards \ + of working with the substance in that state." + +////////////////////////////////// +// Xenobiologist +////////////////////////////////// /datum/job/xenobiologist title = "Xenobiologist" flag = XENOBIOLOGIST - department = "Science" + departments = list(DEPARTMENT_RESEARCH) department_flag = MEDSCI faction = "Station" total_positions = 3 spawn_positions = 2 - supervisors = "the research director" + supervisors = "the Research Director" selection_color = "#633D63" economic_modifier = 7 access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_hydroponics) @@ -64,17 +103,28 @@ minimal_player_age = 3 outfit_type = /decl/hierarchy/outfit/job/science/xenobiologist - alt_titles = list("Xenobotanist") + job_description = "A Xenobiologist studies esoteric lifeforms, usually in the relative safety of their lab. They attempt to find ways to benefit \ + from the byproducts of these lifeforms, and their main subject at present is the Giant Slime." + alt_titles = list("Xenobotanist" = /datum/alt_title/xenobot) +// Xenibiologist Alt Titles +/datum/alt_title/xenobot + title = "Xenobotanist" + title_blurb = "A Xenobotanist grows and cares for a variety of abnormal, custom made, and frequently dangerous plant life. When the products of these plants \ + is both safe and beneficial to the station, they may choose to introduce it to the rest of the crew." + +////////////////////////////////// +// Roboticist +////////////////////////////////// /datum/job/roboticist title = "Roboticist" flag = ROBOTICIST - department = "Science" + departments = list(DEPARTMENT_RESEARCH) department_flag = MEDSCI faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "research director" + supervisors = "the Research Director" selection_color = "#633D63" economic_modifier = 5 access = list(access_robotics, access_tox, access_tox_storage, access_tech_storage, access_morgue, access_research) //As a job that handles so many corpses, it makes sense for them to have morgue access. @@ -82,4 +132,17 @@ minimal_player_age = 3 outfit_type = /decl/hierarchy/outfit/job/science/roboticist - alt_titles = list("Biomechanical Engineer","Mechatronic Engineer") + job_description = "A Roboticist maintains and repairs the station's synthetics, including crew with prosthetic limbs. \ + They can also assist the station by producing simple robots and even pilotable exosuits." + alt_titles = list("Biomechanical Engineer" = /datum/alt_title/biomech, "Mechatronic Engineer" = /datum/alt_title/mech_tech) + +// Roboticist Alt Titles +/datum/alt_title/biomech + title = "Biomechanical Engineer" + title_blurb = "A Biomechanical Engineer primarily works on prosthetics, and the organic parts attached to them. They may have some \ + knowledge of the relatively simple surgical procedures used in making cyborgs and attaching prosthesis." + +/datum/alt_title/mech_tech + title = "Mechatronic Engineer" + title_blurb = "A Mechatronic Engineer focuses on the construction and maintenance of Exosuits, and should be well versed in their use. \ + They may also be called upon to work on synthetics and prosthetics, if needed." \ No newline at end of file diff --git a/code/game/jobs/job/science_vr.dm b/code/game/jobs/job/science_vr.dm index acfff12fda..c9092753e7 100644 --- a/code/game/jobs/job/science_vr.dm +++ b/code/game/jobs/job/science_vr.dm @@ -1,5 +1,6 @@ /datum/job/rd disallow_jobhop = TRUE + pto_type = PTO_SCIENCE access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, access_tox_storage, access_teleporter, access_sec_doors, @@ -12,10 +13,19 @@ /datum/job/scientist spawn_positions = 5 - alt_titles = list("Xenoarcheologist", "Anomalist", "Phoron Researcher", "Circuit Designer") + pto_type = PTO_SCIENCE + alt_titles = list("Xenoarchaeologist" = /datum/alt_title/xenoarch, "Anomalist" = /datum/alt_title/anomalist, \ + "Phoron Researcher" = /datum/alt_title/phoron_research, "Circuit Designer" = /datum/alt_title/circuit_designer) + +/datum/alt_title/circuit_designer + title = "Circuit Designer" + title_blurb = "A Circuit Designer is a Scientist whose expertise is working with integrated circuits. They are familar with the workings and programming of those devices. \ + They work to create various useful devices using the capabilities of integrated circuitry." /datum/job/xenobiologist spawn_positions = 3 + pto_type = PTO_SCIENCE /datum/job/roboticist - total_positions = 3 \ No newline at end of file + total_positions = 3 + pto_type = PTO_SCIENCE \ No newline at end of file diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index a4546f066d..05a4ebb775 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -1,8 +1,12 @@ +////////////////////////////////// +// Head of Security +////////////////////////////////// /datum/job/hos title = "Head of Security" flag = HOS - head_position = 1 - department = "Security" + departments_managed = list(DEPARTMENT_SECURITY) + departments = list(DEPARTMENT_SECURITY, DEPARTMENT_COMMAND) + sorting_order = 2 department_flag = ENGSEC faction = "Station" total_positions = 1 @@ -23,7 +27,10 @@ minimal_player_age = 14 outfit_type = /decl/hierarchy/outfit/job/security/hos - alt_titles = list("Security Commander", "Chief of Security") + job_description = " The Head of Security manages the Security Department, keeping the station safe and making sure the rules are followed. They are expected to \ + keep the other Department Heads, and the rest of the crew, aware of developing situations that may be a threat. If necessary, the HoS may \ + perform the duties of absent Security roles, such as distributing gear from the Armory." + alt_titles = list("Security Commander" = /datum/alt_title/sec_commander, "Chief of Security" = /datum/alt_title/sec_chief) //YW ADDITION START: LOYALTY IMPLANT FOR HOS /datum/job/hos/equip(var/mob/living/carbon/human/H) @@ -35,49 +42,81 @@ /datum/job/warden title = "Warden" flag = WARDEN - department = "Security" + departments = list(DEPARTMENT_SECURITY) + sorting_order = 1 department_flag = ENGSEC faction = "Station" total_positions = 1 spawn_positions = 1 - supervisors = "the head of security" + supervisors = "the Head of Security" selection_color = "#601C1C" economic_modifier = 5 access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_external_airlocks) minimal_player_age = 5 - outfit_type = /decl/hierarchy/outfit/job/security/warden + outfit_type = /decl/hierarchy/outfit/job/security/warden + job_description = "The Warden watches over the physical Security Department, making sure the Brig and Armoury are secure and in order at all times. They oversee \ + prisoners that have been processed and brigged, and are responsible for their well being. The Warden is also in charge of distributing \ + Armoury gear in a crisis, and retrieving it when the crisis has passed. In an emergency, the Warden may be called upon to direct the \ + Security Department as a whole." + +////////////////////////////////// +// Detective +////////////////////////////////// /datum/job/detective title = "Detective" flag = DETECTIVE - department = "Security" + departments = list(DEPARTMENT_SECURITY) department_flag = ENGSEC faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the head of security" + supervisors = "the Head of Security" selection_color = "#601C1C" access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_eva, access_external_airlocks) minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_eva, access_external_airlocks) economic_modifier = 5 minimal_player_age = 3 - outfit_type = /decl/hierarchy/outfit/job/security/detective - alt_titles = list("Forensic Technician" = /decl/hierarchy/outfit/job/security/detective/forensic, "Investigator") + outfit_type = /decl/hierarchy/outfit/job/security/detective + job_description = "A Detective works to help Security find criminals who have not properly been identified, through interviews and forensic work. \ + For crimes only witnessed after the fact, or those with no survivors, they attempt to piece together what they can from pure evidence." + alt_titles = list("Forensic Technician" = /datum/alt_title/forensic_tech) + +// Detective Alt Titles +/datum/alt_title/forensic_tech + title = "Forensic Technician" + title_blurb = "A Forensic Technician works more with hard evidence and labwork than a Detective, but they share the purpose of solving crimes." + title_outfit = /decl/hierarchy/outfit/job/security/detective/forensic + +////////////////////////////////// +// Security Officer +////////////////////////////////// /datum/job/officer title = "Security Officer" flag = OFFICER - department = "Security" + departments = list(DEPARTMENT_SECURITY) department_flag = ENGSEC faction = "Station" total_positions = 4 spawn_positions = 4 - supervisors = "the head of security" + supervisors = "the Head of Security" selection_color = "#601C1C" economic_modifier = 4 access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_external_airlocks) minimal_player_age = 3 + outfit_type = /decl/hierarchy/outfit/job/security/officer - alt_titles = list("Junior Officer") \ No newline at end of file + job_description = "A Security Officer is concerned with maintaining the safety and security of the station as a whole, dealing with external threats and \ + apprehending criminals. A Security Officer is responsible for the health, safety, and processing of any prisoner they arrest. \ + No one is above the Law, not Security or Command." + alt_titles = list("Junior Officer" = /datum/alt_title/junior_officer) + +// Security Officer Alt Titles +/datum/alt_title/junior_officer + title = "Junior Officer" + title_blurb = "A Junior Officer is an inexperienced Security Officer. They likely have training, but not experience, and are frequently \ + paired off with a more senior co-worker. Junior Officers may also be expected to take over the boring duties of other Officers \ + including patrolling the station or maintaining specific posts." \ No newline at end of file diff --git a/code/game/jobs/job/security_vr.dm b/code/game/jobs/job/security_vr.dm index 4b390b2519..e969dcff56 100644 --- a/code/game/jobs/job/security_vr.dm +++ b/code/game/jobs/job/security_vr.dm @@ -1,5 +1,6 @@ /datum/job/hos disallow_jobhop = TRUE + pto_type = PTO_SECURITY access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, @@ -10,6 +11,13 @@ access_research, access_engine, access_mining, access_construction, access_mailsorting, access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks) +/datum/job/warden + pto_type = PTO_SECURITY + +/datum/job/detective + pto_type = PTO_SECURITY + /datum/job/officer total_positions = 5 - spawn_positions = 5 \ No newline at end of file + spawn_positions = 5 + pto_type = PTO_SECURITY \ No newline at end of file diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index 9aed52c023..6f89adcd07 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -1,18 +1,29 @@ +////////////////////////////////// +// AI +////////////////////////////////// /datum/job/ai title = "AI" flag = AI + departments = list(DEPARTMENT_SYNTHETIC) + sorting_order = 1 // Be above their borgs. department_flag = ENGSEC faction = "Station" total_positions = 0 // Not used for AI, see is_position_available below and modules/mob/living/silicon/ai/latejoin.dm spawn_positions = 1 selection_color = "#3F823F" - supervisors = "your laws" + supervisors = "your Laws" req_admin_notify = 1 minimal_player_age = 7 account_allowed = 0 economic_modifier = 0 has_headset = FALSE + assignable = FALSE + outfit_type = /decl/hierarchy/outfit/job/silicon/ai + job_description = "The AI oversees the operation of the station and its crew, but has no real authority over them. \ + The AI is required to follow its Laws, and Lawbound Synthetics that are linked to it are expected to follow \ + the AI's commands, and their own Laws." +// AI procs /datum/job/ai/equip(var/mob/living/carbon/human/H) if(!H) return 0 return 1 @@ -25,21 +36,41 @@ H.equip_to_slot_or_del(new /obj/item/clothing/head/cardborg(H), slot_head) return 1 +////////////////////////////////// +// Cyborg +////////////////////////////////// /datum/job/cyborg title = "Cyborg" flag = CYBORG + departments = list(DEPARTMENT_SYNTHETIC) department_flag = ENGSEC faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "your laws and the AI" //Nodrak + supervisors = "your Laws and the AI" //Nodrak selection_color = "#254C25" minimal_player_age = 1 - alt_titles = list("Robot", "Drone") account_allowed = 0 economic_modifier = 0 has_headset = FALSE + assignable = FALSE + outfit_type = /decl/hierarchy/outfit/job/silicon/cyborg + job_description = "A Cyborg is a mobile station synthetic, piloted by a cybernetically preserved brain. It is considered a person, but is still required \ + to follow its Laws." + alt_titles = list("Robot" = /datum/alt_title/robot, "Drone" = /datum/alt_title/drone) +// Cyborg Alt Titles +/datum/alt_title/robot + title = "Robot" + title_blurb = "A Robot is a mobile station synthetic, piloted by an advanced piece of technology called a Positronic Brain. It is considered a person, \ + legally, but is required to follow its Laws." + +/datum/alt_title/drone + title = "Drone" + title_blurb = "A Drone is a mobile station synthetic, piloted by a simple computer-based AI. As such, it is not a person, but rather an expensive and \ + and important piece of station property, and is expected to follow its Laws." + +// Cyborg procs /datum/job/cyborg/equip(var/mob/living/carbon/human/H) if(!H) return 0 return 1 diff --git a/code/game/jobs/job/special_vr.dm b/code/game/jobs/job/special_vr.dm index 7d4c9bbaed..7a68691a56 100644 --- a/code/game/jobs/job/special_vr.dm +++ b/code/game/jobs/job/special_vr.dm @@ -1,7 +1,7 @@ /datum/job/centcom_officer //For Business title = "CentCom Officer" - department = "Command" - head_position = 1 + departments = list("Central Command") + department_accounts = list(DEPARTMENT_COMMAND, DEPARTMENT_ENGINEERING, DEPARTMENT_MEDICAL, DEPARTMENT_RESEARCH, DEPARTMENT_SECURITY, DEPARTMENT_CARGO, DEPARTMENT_PLANET, DEPARTMENT_CIVILIAN) faction = "Station" total_positions = 2 spawn_positions = 1 @@ -14,10 +14,13 @@ whitelist_only = 1 latejoin_only = 1 outfit_type = /decl/hierarchy/outfit/job/centcom_officer + job_description = "A Central Command Officer is there on official business. Most of time. Whatever it is, they're a VIP." minimum_character_age = 25 ideal_character_age = 40 + pto_type = PTO_CIVILIAN + get_access() return get_all_accesses().Copy() @@ -73,7 +76,7 @@ /datum/job/clown title = "Clown" flag = CLOWN - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN faction = "Station" total_positions = -1 @@ -83,10 +86,21 @@ economic_modifier = 1 access = list() minimal_access = list() - alt_titles = list("Comedian","Jester") + job_description = "A Clown is there to entertain the crew and keep high morale using various harmless pranks and ridiculous jokes!" + alt_titles = list("Clown" = /datum/alt_title/clown, "Comedian" = /datum/alt_title/comedian, "Jester" = /datum/alt_title/jester) whitelist_only = 1 latejoin_only = 1 outfit_type = /decl/hierarchy/outfit/job/clown + pto_type = PTO_CIVILIAN + +/datum/alt_title/clown + title = "Clown" + +/datum/alt_title/comedian + title = "Comedian" + +/datum/alt_title/jester + title = "Jester" /datum/job/clown/get_access() if(config.assistant_maint) @@ -97,7 +111,7 @@ /datum/job/mime title = "Mime" flag = MIME - department = "Civilian" + departments = list(DEPARTMENT_CIVILIAN) department_flag = CIVILIAN faction = "Station" total_positions = -1 @@ -107,10 +121,21 @@ economic_modifier = 1 access = list() minimal_access = list() - alt_titles = list("Performer","Interpretive Dancer") + job_description = "A Mime is there to entertain the crew and keep high morale using unbelievable performances and acting skills!" + alt_titles = list("Mime" = /datum/alt_title/mime, "Performer" = /datum/alt_title/performer, "Interpretive Dancer" = /datum/alt_title/interpretive_dancer) whitelist_only = 1 latejoin_only = 1 outfit_type = /decl/hierarchy/outfit/job/mime + pto_type = PTO_CIVILIAN + +/datum/alt_title/mime + title = "Mime" + +/datum/alt_title/performer + title = "Performer" + +/datum/alt_title/interpretive_dancer + title = "Interpretive Dancer" /datum/job/mime/get_access() if(config.assistant_maint) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index f729bb1bc9..3d6fa2045c 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -11,7 +11,8 @@ var/global/datum/controller/occupations/job_master var/list/unassigned = list() //Debug info var/list/job_debug = list() - + //Cache of icons for job info window + var/list/job_icons = list() proc/SetupOccupations(var/faction = "Station") occupations = list() @@ -120,7 +121,7 @@ var/global/datum/controller/occupations/job_master if(istype(job, GetJob(USELESS_JOB))) // We don't want to give him assistant, that's boring! //VOREStation Edit - Visitor not Assistant continue - if(job.title in command_positions) //If you want a command position, select it! + if(SSjob.is_job_in_department(job.title, DEPARTMENT_COMMAND)) //If you want a command position, select it! continue if(jobban_isbanned(player, job.title)) @@ -156,7 +157,7 @@ var/global/datum/controller/occupations/job_master ///This proc is called before the level loop of DivideOccupations() and will try to select a head, ignoring ALL non-head preferences for every level until it locates a head or runs out of levels to check proc/FillHeadPosition() for(var/level = 1 to 3) - for(var/command_position in command_positions) + for(var/command_position in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND)) var/datum/job/job = GetJob(command_position) if(!job) continue var/list/candidates = FindOccupationCandidates(job, level) @@ -196,7 +197,7 @@ var/global/datum/controller/occupations/job_master ///This proc is called at the start of the level loop of DivideOccupations() and will cause head jobs to be checked before any other jobs of the same level proc/CheckHeadPositions(var/level) - for(var/command_position in command_positions) + for(var/command_position in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND)) var/datum/job/job = GetJob(command_position) if(!job) continue var/list/candidates = FindOccupationCandidates(job, level) @@ -435,14 +436,14 @@ var/global/datum/controller/occupations/job_master log_game("SPECIES [key_name(H)] is a: \"[H.species.name]\"") //VOREStation Add // If they're head, give them the account info for their department - if(H.mind && job.head_position) + if(H.mind && job.department_accounts) var/remembered_info = "" - var/datum/money_account/department_account = department_accounts[job.department] - - if(department_account) - remembered_info += "Your department's account number is: #[department_account.account_number]
" - remembered_info += "Your department's account pin is: [department_account.remote_access_pin]
" - remembered_info += "Your department's account funds are: $[department_account.money]
" + for(var/D in job.department_accounts) + var/datum/money_account/department_account = department_accounts[D] + if(department_account) + remembered_info += "Department account number ([D]): #[department_account.account_number]
" + remembered_info += "Department account pin ([D]): [department_account.remote_access_pin]
" + remembered_info += "Department account funds ([D]): $[department_account.money]
" H.mind.store_memory(remembered_info) diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 21e6593fb5..fce7e5325d 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -134,7 +134,7 @@ var/list/nonhuman_positions = list( /proc/guest_jobbans(var/job) - return ((job in command_positions) || (job in nonhuman_positions) || (job in security_positions)) + return ( (job in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND)) || (job in SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC)) || (job in SSjob.get_job_titles_in_department(DEPARTMENT_SECURITY)) ) /proc/get_job_datums() var/list/occupations = list() diff --git a/code/game/jobs/whitelist.dm b/code/game/jobs/whitelist.dm index 9a13e066a5..9963c1580c 100644 --- a/code/game/jobs/whitelist.dm +++ b/code/game/jobs/whitelist.dm @@ -75,7 +75,7 @@ var/list/whitelist = list() /proc/whitelist_overrides(mob/M) if(!config.usealienwhitelist) return 1 - if(check_rights(R_ADMIN, 0, M)) + if(check_rights(R_ADMIN|R_EVENT, 0, M)) return 1 return 0 diff --git a/code/game/machinery/Beacon.dm b/code/game/machinery/Beacon.dm index b34d1565a0..b6f6cb25ac 100644 --- a/code/game/machinery/Beacon.dm +++ b/code/game/machinery/Beacon.dm @@ -6,7 +6,7 @@ level = 1 // underfloor layer = UNDER_JUNK_LAYER anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 0 var/obj/item/device/radio/beacon/Beacon diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm index 8eae094aeb..5de1543426 100644 --- a/code/game/machinery/OpTable.dm +++ b/code/game/machinery/OpTable.dm @@ -5,7 +5,7 @@ icon_state = "table2-idle" density = 1 anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 1 active_power_usage = 5 surgery_odds = 100 diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 8d112b4138..67b34ac19b 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -7,10 +7,12 @@ anchored = 1 //About time someone fixed this. density = 1 //VOREStation Edit - Big console dir = 8 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 40 interact_offline = 1 circuit = /obj/item/weapon/circuitboard/sleeper_console + clicksound = 'sound/machines/buttonbeep.ogg' + clickvol = 30 /obj/machinery/sleep_console/New() ..() @@ -177,7 +179,7 @@ var/stasis_level = 0 //Every 'this' life ticks are applied to the mob (when life_ticks%stasis_level == 1) var/stasis_choices = list("Complete (1%)" = 100, "Deep (10%)" = 10, "Moderate (20%)" = 5, "Light (50%)" = 2, "None (100%)" = 0) - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 15 active_power_usage = 200 //builtin health analyzer, dialysis machine, injectors. @@ -386,7 +388,7 @@ M.client.perspective = EYE_PERSPECTIVE M.client.eye = src M.loc = src - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) occupant = M update_icon() @@ -406,7 +408,7 @@ if(A in component_parts) continue A.loc = src.loc - update_use_power(1) + update_use_power(USE_POWER_IDLE) update_icon() toggle_filter() toggle_pump() diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 1e3afe8150..f5034bcf71 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -9,7 +9,7 @@ density = 1 anchored = 1 circuit = /obj/item/weapon/circuitboard/body_scanner - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 60 active_power_usage = 10000 //10 kW. It's a big all-body scanner. light_color = "#00FF00" diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm index 2e4ec6956d..aead0c79f1 100644 --- a/code/game/machinery/ai_slipper.dm +++ b/code/game/machinery/ai_slipper.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/device.dmi' icon_state = "liquid_dispenser" anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 var/uses = 20 var/disabled = 1 diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/air_alarm.dm similarity index 69% rename from code/game/machinery/alarm.dm rename to code/game/machinery/air_alarm.dm index 53bd435d44..5a7131dae9 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/air_alarm.dm @@ -1,7 +1,3 @@ -//////////////////////////////////////// -//CONTAINS: Air Alarms and Fire Alarms// -//////////////////////////////////////// - #define AALARM_MODE_SCRUBBING 1 #define AALARM_MODE_REPLACEMENT 2 //like scrubbing, but faster. #define AALARM_MODE_PANIC 3 //constantly sucks all air @@ -17,10 +13,6 @@ #define AALARM_REPORT_TIMEOUT 100 -#define RCON_NO 1 -#define RCON_AUTO 2 -#define RCON_YES 3 - #define MAX_TEMPERATURE 90 #define MIN_TEMPERATURE -40 @@ -35,16 +27,18 @@ /obj/machinery/alarm name = "alarm" desc = "Used to control various station atmospheric systems. The light indicates the current air status of the area." - icon = 'icons/obj/monitors.dmi' + icon = 'icons/obj/monitors_vr.dmi' //VOREStation Edit - Other icons icon_state = "alarm0" plane = TURF_PLANE layer = ABOVE_TURF_LAYER anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 80 active_power_usage = 1000 //For heating/cooling rooms. 1000 joules equates to about 1 degree every 2 seconds for a single tile of air. power_channel = ENVIRON req_one_access = list(access_atmospherics, access_engine_equip) + clicksound = "button" + clickvol = 30 var/alarm_id = null var/breach_detection = 1 // Whether to use automatic breach detection or not var/frequency = 1439 @@ -96,8 +90,8 @@ /obj/machinery/alarm/alarms_hidden alarms_hidden = TRUE -/obj/machinery/alarm/server/New() - ..() +/obj/machinery/alarm/server/Initialize(mapload) + . = ..() req_access = list(access_rd, access_atmospherics, access_engine_equip) TLV["oxygen"] = list(-1.0, -1.0,-1.0,-1.0) // Partial pressure, kpa TLV["carbon dioxide"] = list(-1.0, -1.0, 5, 10) // Partial pressure, kpa @@ -107,6 +101,10 @@ TLV["temperature"] = list(20, 40, 140, 160) // K target_temperature = 90 +/obj/machinery/alarm/Initialize(mapload) + . = ..() + first_run() + /obj/machinery/alarm/Destroy() unregister_radio(src, frequency) qdel(wires) @@ -116,10 +114,6 @@ elect_master(exclude_self = TRUE) return ..() -/obj/machinery/alarm/New() - ..() - first_run() - /obj/machinery/alarm/proc/first_run() alarm_area = get_area(src) area_uid = alarm_area.uid @@ -137,6 +131,10 @@ TLV["pressure"] = list(ONE_ATMOSPHERE * 0.80, ONE_ATMOSPHERE * 0.90, ONE_ATMOSPHERE * 1.10, ONE_ATMOSPHERE * 1.20) /* kpa */ TLV["temperature"] = list(T0C - 26, T0C, T0C + 40, T0C + 66) // K + //VOREStation Add + pixel_x = (src.dir & 3)? 0 : (src.dir == 4 ? -28 : 28) + pixel_y = (src.dir & 3)? (src.dir ==1 ? -28 : 28) : 0 + //VOREStation Add End /obj/machinery/alarm/Initialize() . = ..() @@ -190,7 +188,7 @@ if(!regulating_temperature) //check for when we should start adjusting temperature if(!get_danger_level(target_temperature, TLV["temperature"]) && abs(environment.temperature - target_temperature) > 2.0) - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) regulating_temperature = 1 audible_message("\The [src] clicks as it starts [environment.temperature > target_temperature ? "cooling" : "heating"] the room.",\ "You hear a click and a faint electronic hum.") @@ -198,7 +196,7 @@ else //check for when we should stop adjusting temperature if(get_danger_level(target_temperature, TLV["temperature"]) || abs(environment.temperature - target_temperature) <= 0.5) - update_use_power(1) + update_use_power(USE_POWER_IDLE) regulating_temperature = 0 audible_message("\The [src] clicks quietly as it stops [environment.temperature > target_temperature ? "cooling" : "heating"] the room.",\ "You hear a click as a faint electronic humming stops.") @@ -276,7 +274,6 @@ if(environment_pressure <= pressure_levels[1]) //low pressures if(!(mode == AALARM_MODE_PANIC || mode == AALARM_MODE_CYCLE)) - playsound(src.loc, 'sound/machines/airalarm.ogg', 25, 0, 4) return 1 return 0 @@ -311,7 +308,7 @@ return var/icon_level = danger_level - if(alarm_area.atmosalm) + if(alarm_area?.atmosalm) icon_level = max(icon_level, 1) //if there's an atmos alarm but everything is okay locally, no need to go past yellow var/new_color = null @@ -791,343 +788,3 @@ ..() spawn(rand(0,15)) update_icon() - -/obj/machinery/alarm/examine(mob/user) - ..(user) - -/* -AIR ALARM CIRCUIT -Just a object used in constructing air alarms - -/obj/item/weapon/airalarm_electronics - name = "air alarm electronics" - icon = 'icons/obj/doors/door_assembly.dmi' - icon_state = "door_electronics" - desc = "Looks like a circuit. Probably is." - w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) -*/ -/* -FIRE ALARM -*/ -/obj/machinery/firealarm - name = "fire alarm" - desc = "\"Pull this in case of emergency\". Thus, keep pulling it forever." - icon = 'icons/obj/monitors.dmi' - icon_state = "fire0" - plane = TURF_PLANE - layer = ABOVE_TURF_LAYER - var/detecting = 1.0 - var/working = 1.0 - var/time = 10.0 - var/timing = 0.0 - var/lockdownbyai = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 6 - power_channel = ENVIRON - var/last_process = 0 - panel_open = 0 - var/seclevel - circuit = /obj/item/weapon/circuitboard/firealarm - var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles - -/obj/machinery/firealarm/alarms_hidden - alarms_hidden = TRUE - -/obj/machinery/firealarm/update_icon() - cut_overlays() - - if(panel_open) - set_light(0) - return - - if(stat & BROKEN) - icon_state = "firex" - set_light(0) - else if(stat & NOPOWER) - icon_state = "firep" - set_light(0) - else - if(!detecting) - icon_state = "fire1" - set_light(l_range = 4, l_power = 0.9, l_color = "#ff0000") - else - icon_state = "fire0" - switch(seclevel) - if("green") set_light(l_range = 2, l_power = 0.25, l_color = "#00ff00") - if("yellow") set_light(l_range = 2, l_power = 0.25, l_color = "#ffff00") - if("violet") set_light(l_range = 2, l_power = 0.25, l_color = "#9933ff") - if("orange") set_light(l_range = 2, l_power = 0.25, l_color = "#ff9900") - if("blue") set_light(l_range = 2, l_power = 0.25, l_color = "#1024A9") - if("red") set_light(l_range = 4, l_power = 0.9, l_color = "#ff0000") - if("delta") set_light(l_range = 4, l_power = 0.9, l_color = "#FF6633") - add_overlay("overlay_[seclevel]") - -/obj/machinery/firealarm/fire_act(datum/gas_mixture/air, temperature, volume) - if(detecting) - if(temperature > T0C + 200) - alarm() // added check of detector status here - return - -/obj/machinery/firealarm/attack_ai(mob/user as mob) - return attack_hand(user) - -/obj/machinery/firealarm/bullet_act() - return alarm() - -/obj/machinery/firealarm/emp_act(severity) - if(prob(50 / severity)) - alarm(rand(30 / severity, 60 / severity)) - ..() - -/obj/machinery/firealarm/attackby(obj/item/W as obj, mob/user as mob) - add_fingerprint(user) - - if(alarm_deconstruction_screwdriver(user, W)) - return - if(alarm_deconstruction_wirecutters(user, W)) - return - - if(panel_open) - if(istype(W, /obj/item/device/multitool)) - detecting = !(detecting) - if(detecting) - user.visible_message("\The [user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.") - else - user.visible_message("\The [user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.") - return - - alarm() - return - -/obj/machinery/firealarm/process()//Note: this processing was mostly phased out due to other code, and only runs when needed - if(stat & (NOPOWER|BROKEN)) - return - - if(timing) - if(time > 0) - time = time - ((world.timeofday - last_process) / 10) - else - alarm() - time = 0 - timing = 0 - STOP_PROCESSING(SSobj, src) - updateDialog() - last_process = world.timeofday - - if(locate(/obj/fire) in src.loc) - alarm() - - return - -/obj/machinery/firealarm/power_change() - ..() - spawn(rand(0,15)) - update_icon() - -/obj/machinery/firealarm/attack_hand(mob/user as mob) - if(user.stat || stat & (NOPOWER | BROKEN)) - return - - user.set_machine(src) - var/area/A = src.loc - var/d1 - var/d2 - if(istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon)) - A = A.loc - - if(A.fire) - d1 = text("Reset - Lockdown", src) - else - d1 = text("Alarm - Lockdown", src) - if(timing) - d2 = text("Stop Time Lock", src) - else - d2 = text("Initiate Time Lock", src) - var/second = round(time) % 60 - var/minute = (round(time) - second) / 60 - var/dat = "Fire alarm [d1]\n
The current alert level is: [get_security_level()]

\nTimer System: [d2]
\nTime Left: [(minute ? "[minute]:" : null)][second] - - + +\n
" - user << browse(dat, "window=firealarm") - onclose(user, "firealarm") - else - A = A.loc - if(A.fire) - d1 = text("[]", src, stars("Reset - Lockdown")) - else - d1 = text("[]", src, stars("Alarm - Lockdown")) - if(timing) - d2 = text("[]", src, stars("Stop Time Lock")) - else - d2 = text("[]", src, stars("Initiate Time Lock")) - var/second = round(time) % 60 - var/minute = (round(time) - second) / 60 - var/dat = "[stars("Fire alarm")] [d1]\n
The current alert level is: [stars(get_security_level())]

\nTimer System: [d2]
\nTime Left: [(minute ? text("[]:", minute) : null)][second] - - + +\n
" - user << browse(dat, "window=firealarm") - onclose(user, "firealarm") - return - -/obj/machinery/firealarm/Topic(href, href_list) - ..() - if(usr.stat || stat & (BROKEN | NOPOWER)) - return - - if((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - usr.set_machine(src) - if(href_list["reset"]) - reset() - else if(href_list["alarm"]) - alarm() - else if(href_list["time"]) - timing = text2num(href_list["time"]) - last_process = world.timeofday - START_PROCESSING(SSobj, src) - else if(href_list["tp"]) - var/tp = text2num(href_list["tp"]) - time += tp - time = min(max(round(time), 0), 120) - - updateUsrDialog() - - add_fingerprint(usr) - else - usr << browse(null, "window=firealarm") - return - return - -/obj/machinery/firealarm/proc/reset() - if(!(working)) - return - var/area/area = get_area(src) - for(var/obj/machinery/firealarm/FA in area) - fire_alarm.clearAlarm(src.loc, FA) - update_icon() - return - -/obj/machinery/firealarm/proc/alarm(var/duration = 0) - if(!(working)) - return - var/area/area = get_area(src) - for(var/obj/machinery/firealarm/FA in area) - fire_alarm.triggerAlarm(loc, FA, duration, hidden = alarms_hidden) - update_icon() - playsound(src.loc, 'sound/machines/airalarm.ogg', 25, 0, 4) - return - -/obj/machinery/firealarm/proc/set_security_level(var/newlevel) - if(seclevel != newlevel) - seclevel = newlevel - update_icon() - -/obj/machinery/firealarm/Initialize() - . = ..() - if(z in using_map.contact_levels) - set_security_level(security_level? get_security_level() : "green") - -/* -FIRE ALARM CIRCUIT -Just a object used in constructing fire alarms - -/obj/item/weapon/firealarm_electronics - name = "fire alarm electronics" - icon = 'icons/obj/doors/door_assembly.dmi' - icon_state = "door_electronics" - desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\"" - w_class = ITEMSIZE_SMALL - matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) -*/ -/obj/machinery/partyalarm - name = "\improper PARTY BUTTON" - desc = "Cuban Pete is in the house!" - icon = 'icons/obj/monitors.dmi' - icon_state = "fire0" - var/detecting = 1.0 - var/working = 1.0 - var/time = 10.0 - var/timing = 0.0 - var/lockdownbyai = 0 - anchored = 1.0 - use_power = 1 - idle_power_usage = 2 - active_power_usage = 6 - -/obj/machinery/partyalarm/attack_hand(mob/user as mob) - if(user.stat || stat & (NOPOWER|BROKEN)) - return - - user.machine = src - var/area/A = get_area(src) - ASSERT(isarea(A)) - var/d1 - var/d2 - if(istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai)) - - if(A.party) - d1 = text("No Party :(", src) - else - d1 = text("PARTY!!!", src) - if(timing) - d2 = text("Stop Time Lock", src) - else - d2 = text("Initiate Time Lock", src) - var/second = time % 60 - var/minute = (time - second) / 60 - var/dat = text("Party Button []\n
\nTimer System: []
\nTime Left: [][] - - + +\n
", d1, d2, (minute ? text("[]:", minute) : null), second, src, src, src, src) - user << browse(dat, "window=partyalarm") - onclose(user, "partyalarm") - else - if(A.fire) - d1 = text("[]", src, stars("No Party :(")) - else - d1 = text("[]", src, stars("PARTY!!!")) - if(timing) - d2 = text("[]", src, stars("Stop Time Lock")) - else - d2 = text("[]", src, stars("Initiate Time Lock")) - var/second = time % 60 - var/minute = (time - second) / 60 - var/dat = text("[] []\n
\nTimer System: []
\nTime Left: [][] - - + +\n
", stars("Party Button"), d1, d2, (minute ? text("[]:", minute) : null), second, src, src, src, src) - user << browse(dat, "window=partyalarm") - onclose(user, "partyalarm") - return - -/obj/machinery/partyalarm/proc/reset() - if(!(working)) - return - var/area/A = get_area(src) - ASSERT(isarea(A)) - A.partyreset() - return - -/obj/machinery/partyalarm/proc/alarm() - if(!(working)) - return - var/area/A = get_area(src) - ASSERT(isarea(A)) - A.partyalert() - return - -/obj/machinery/partyalarm/Topic(href, href_list) - ..() - if(usr.stat || stat & (BROKEN|NOPOWER)) - return - if((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if(href_list["reset"]) - reset() - else if(href_list["alarm"]) - alarm() - else if(href_list["time"]) - timing = text2num(href_list["time"]) - else if(href_list["tp"]) - var/tp = text2num(href_list["tp"]) - time += tp - time = min(max(round(time), 0), 120) - updateUsrDialog() - - add_fingerprint(usr) - else - usr << browse(null, "window=partyalarm") - return - return diff --git a/code/game/machinery/airconditioner_vr.dm b/code/game/machinery/airconditioner_vr.dm index 0d4f3b550f..90916c82ca 100644 --- a/code/game/machinery/airconditioner_vr.dm +++ b/code/game/machinery/airconditioner_vr.dm @@ -10,7 +10,7 @@ density = 1 anchored = 0 - use_power = 0 //is powered directly from cables + use_power = USE_POWER_OFF //is powered directly from cables active_power_usage = 150 KILOWATTS //BIG POWER idle_power_usage = 500 diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index e462e0eed6..3833c72ee4 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -18,7 +18,7 @@ pressure_resistance = 7 * ONE_ATMOSPHERE var/temperature_resistance = 1000 + T0C volume = 1000 - use_power = 0 + use_power = USE_POWER_OFF interact_offline = 1 // Allows this to be used when not in powered area. var/release_log = "" var/update_flag = 0 @@ -395,16 +395,13 @@ update_flag return 1 //Dirty way to fill room with gas. However it is a bit easier to do than creating some floor/engine/n2o -rastaf0 -/obj/machinery/portable_atmospherics/canister/sleeping_agent/roomfiller/New() - ..() +/obj/machinery/portable_atmospherics/canister/sleeping_agent/roomfiller/Initialize() + . = ..() air_contents.gas["sleeping_agent"] = 9*4000 - spawn(10) - var/turf/simulated/location = src.loc - if (istype(src.loc)) - while (!location.air) - sleep(10) - location.assume_air(air_contents) - air_contents = new + var/turf/simulated/location = src.loc + if (istype(src.loc)) + location.assume_air(air_contents) + air_contents = new return 1 /obj/machinery/portable_atmospherics/canister/nitrogen/New() diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index e1fe956e63..13d782f18f 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -9,7 +9,7 @@ power_channel = ENVIRON var/frequency = 0 var/id - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 15 /obj/machinery/meter/Initialize() diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm index 085c070f7d..915fb8fac1 100644 --- a/code/game/machinery/atmoalter/portable_atmospherics.dm +++ b/code/game/machinery/atmoalter/portable_atmospherics.dm @@ -1,6 +1,6 @@ /obj/machinery/portable_atmospherics name = "atmoalter" - use_power = 0 + use_power = USE_POWER_OFF layer = OBJ_LAYER // These are mobile, best not be under everything. var/datum/gas_mixture/air_contents = new @@ -21,18 +21,20 @@ return 1 +/obj/machinery/portable_atmospherics/Initialize() + ..() + return INITIALIZE_HINT_LATELOAD + +/obj/machinery/portable_atmospherics/LateInitialize() + var/obj/machinery/atmospherics/portables_connector/port = locate() in loc + if(port) + connect(port) + update_icon() + /obj/machinery/portable_atmospherics/Destroy() QDEL_NULL(air_contents) QDEL_NULL(holding) - . = ..() - -/obj/machinery/portable_atmospherics/Initialize() - . = ..() - spawn() - var/obj/machinery/atmospherics/portables_connector/port = locate() in loc - if(port) - connect(port) - update_icon() + return ..() /obj/machinery/portable_atmospherics/process() if(!connected_port) //only react when pipe_network will ont it do it for you diff --git a/code/game/machinery/atmoalter/pump_vr.dm b/code/game/machinery/atmoalter/pump_vr.dm index 79e6610279..ce1376503a 100644 --- a/code/game/machinery/atmoalter/pump_vr.dm +++ b/code/game/machinery/atmoalter/pump_vr.dm @@ -5,7 +5,7 @@ anchored = 1 volume = 500000 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 50 //internal circuitry, friction losses and stuff active_power_usage = 1000 // Blowers running power_rating = 100000 //100 kW ~ 135 HP diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 34f4bf9bc3..dd81a92616 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -152,10 +152,10 @@ volume = 500000 volume_rate = 7000 - use_power = 1 - idle_power_usage = 50 //internal circuitry, friction losses and stuff - active_power_usage = 1000 // Blowers running - power_rating = 100000 //100 kW ~ 135 HP + use_power = USE_POWER_IDLE + idle_power_usage = 50 //VOREStation Edit //internal circuitry, friction losses and stuff + active_power_usage = 1000 //VOREStation Edit // Blowers running + power_rating = 100000 //VOREStation Add //100 kW ~ 135 HP var/global/gid = 1 var/id = 0 diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index fa71e66022..653d3bb374 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -5,9 +5,12 @@ icon_state = "autolathe" density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 2000 + clicksound = "keyboard" + clickvol = 30 + circuit = /obj/item/weapon/circuitboard/autolathe var/datum/category_collection/autolathe/machine_recipes var/list/stored_material = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0) @@ -108,12 +111,6 @@ dat += "[R.hidden ? "*" : ""][can_make ? "" : ""][R.name][can_make ? "" : ""][R.hidden ? "*" : ""][multiplier_string.Join()][material_string.Join()]" dat += "
" - //Hacking. - if(panel_open) - dat += "

Maintenance Panel

" - dat += wires.GetInteractWindow() - - dat += "
" user << browse(dat.Join(), "window=autolathe") onclose(user, "autolathe") @@ -136,8 +133,8 @@ if(panel_open) //Don't eat multitools or wirecutters used on an open lathe. - if(istype(O, /obj/item/device/multitool) || O.is_wirecutter()) - attack_hand(user) + if(O.is_multitool() || O.is_wirecutter()) + wires.Interact(user) return if(O.loc != user && !(istype(O,/obj/item/stack))) @@ -250,7 +247,7 @@ return busy = 1 - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) //Check if we still have the materials. var/coeff = (making.no_scale ? 1 : mat_efficiency) //stacks are unaffected by production coefficient @@ -269,7 +266,7 @@ sleep(build_time) busy = 0 - update_use_power(1) + update_use_power(USE_POWER_IDLE) update_icon() // So lid opens //Sanity check. diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index d886a0faf1..de52a9cc06 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -6,7 +6,7 @@ density = 1 anchored = 1 circuit = /obj/item/weapon/circuitboard/biogenerator - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 40 var/processing = 0 var/obj/item/weapon/reagent_containers/glass/beaker = null @@ -107,7 +107,7 @@ dat += "Food:
" dat += "10 milk ([round(20/build_eff)]) | x5
" dat += "10 cream ([round(20/build_eff)]) | x5
" - dat += "Slab of meat ([round(50/build_eff)]) | x5
" + dat += "Slab of meat ([round(50/build_eff)]) | x5
" dat += "Nutrient:
" dat += "E-Z-Nutrient ([round(60/build_eff)]) | x5
" dat += "Left 4 Zed ([round(120/build_eff)]) | x5
" diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index 60143fadd3..f7e4749fe3 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -9,7 +9,7 @@ anchored = 1 density = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 40 active_power_usage = 300 @@ -161,7 +161,7 @@ container.reagents.remove_reagent("biomass", possible_list[choice][2]) - use_power = 2 + use_power = USE_POWER_ACTIVE printing = 1 update_icon() @@ -169,7 +169,7 @@ sleep(print_delay) - use_power = 1 + use_power = USE_POWER_IDLE printing = 0 update_icon() diff --git a/code/game/machinery/bomb_tester_vr.dm b/code/game/machinery/bomb_tester_vr.dm index 3e5d4eb5d0..fb5b2819c0 100644 --- a/code/game/machinery/bomb_tester_vr.dm +++ b/code/game/machinery/bomb_tester_vr.dm @@ -210,7 +210,7 @@ /obj/machinery/bomb_tester/proc/start_simulating() simulating = 1 - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) simulation_started = world.time update_icon() switch(sim_mode) @@ -352,7 +352,7 @@ /obj/machinery/bomb_tester/proc/simulation_finish(cancelled = 0) simulating = 0 - update_use_power(1) + update_use_power(USE_POWER_IDLE) update_icon() if(test_canister && test_canister.anchored && !test_canister.connected_port) test_canister.anchored = 0 diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index cec980c54e..786761b3b1 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -8,7 +8,7 @@ var/id = null var/active = 0 anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 4 diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 73ec15c32a..f20c05d627 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -3,7 +3,7 @@ desc = "It's used to monitor rooms." icon = 'icons/obj/monitors_vr.dmi' //VOREStation Edit - New Icons icon_state = "camera" - use_power = 2 + use_power = USE_POWER_ACTIVE idle_power_usage = 5 active_power_usage = 10 plane = MOB_PLANE diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index a529c3dd0e..aadfa03820 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -159,24 +159,31 @@ var/global/list/engineering_networks = list( // AUTONAME /obj/machinery/camera/autoname - var/number = 0 //camera number in area - -//This camera type automatically sets it's name to whatever the area that it's in is called. -/obj/machinery/camera/autoname/New() - ..() - spawn(10) - number = 1 - var/area/A = get_area(src) - if(A) - for(var/obj/machinery/camera/autoname/C in machines) - if(C == src) continue - var/area/CA = get_area(C) - if(CA.type == A.type) - if(C.number) - number = max(number, C.number+1) - c_tag = "[A.name] #[number]" - invalidateCameraCache() + var/static/list/by_area +/obj/machinery/camera/autoname/Initialize() + . = ..() + var/area/A = get_area(src) + if(!A) + return . + if(!by_area) + by_area = list() + if(!by_area[A.name]) + by_area[A.name] = list() + var/list/my_area = by_area[A.name] + my_area += src + var/number = my_area.len + + c_tag = "[A.name] #[number]" + invalidateCameraCache() + +/obj/machinery/camera/autoname/Destroy() + var/area/A = get_area(src) + if(!A || !by_area || !by_area[A.name]) + return ..() + var/list/my_area = by_area[A.name] + my_area -= src + return ..() // CHECKS diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 0ceae52046..636bcca6c0 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/power.dmi' icon_state = "ccharger0" anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 5 active_power_usage = 60000 //60 kW. (this the power drawn when charging) var/efficiency = 60000 //will provide the modified power rate when upgraded @@ -118,16 +118,16 @@ /obj/machinery/cell_charger/process() //to_world("ccpt [charging] [stat]") if((stat & (BROKEN|NOPOWER)) || !anchored) - update_use_power(0) + update_use_power(USE_POWER_OFF) return if(charging && !charging.fully_charged()) charging.give(efficiency*CELLRATE) - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) update_icon() else - update_use_power(1) + update_use_power(USE_POWER_IDLE) /obj/machinery/cell_charger/RefreshParts() var/E = 0 diff --git a/code/game/machinery/computer/RCON_Console.dm b/code/game/machinery/computer/RCON_Console.dm index f403c0749f..fbd1190fd7 100644 --- a/code/game/machinery/computer/RCON_Console.dm +++ b/code/game/machinery/computer/RCON_Console.dm @@ -8,7 +8,7 @@ name = "\improper RCON console" desc = "Console used to remotely control electrical machinery on the station." icon_keyboard = "power_key" - icon_screen = "ai_fixer" //VOREStation Edit + icon_screen = "ai-fixer" light_color = "#a97faa" circuit = /obj/item/weapon/circuitboard/rcon_console req_one_access = list(access_engine) @@ -40,4 +40,6 @@ /obj/machinery/computer/rcon/update_icon() ..() if(!(stat & (NOPOWER|BROKEN))) - overlays += image(icon, "ai-fixer-empty", overlay_layer) //VOREStation Edit \ No newline at end of file + add_overlay("ai-fixer-empty") + else + cut_overlay("ai-fixer-empty") diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 5af8e2320c..daca64cc42 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -110,7 +110,7 @@ src.occupant.adjustBruteLoss(-1) src.occupant.updatehealth() if (src.occupant.health >= 0 && src.occupant.stat == DEAD) - src.occupant.stat = CONSCIOUS + src.occupant.set_stat(CONSCIOUS) src.occupant.lying = 0 dead_mob_list -= src.occupant living_mob_list += src.occupant @@ -135,8 +135,8 @@ if(occupant) if(occupant.stat) - overlays += image(icon, "ai-fixer-404", overlay_layer) + add_overlay("ai-fixer-404") else - overlays += image(icon, "ai-fixer-full", overlay_layer) + add_overlay("ai-fixer-full") else - overlays += image(icon, "ai-fixer-empty", overlay_layer) + add_overlay("ai-fixer-empty") diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 856634f03f..57d6d01c6e 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -170,7 +170,7 @@ src.current_camera = C if(current_camera) current_camera.camera_computers_using_this.Add(src) - use_power = 2 + update_use_power(USE_POWER_ACTIVE) var/mob/living/L = current_camera.loc if(istype(L)) L.tracking_initiated() @@ -182,7 +182,7 @@ if(istype(L)) L.tracking_cancelled() current_camera = null - use_power = 1 + use_power = USE_POWER_IDLE //Camera control: mouse. /atom/DblClick() diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index eb78d41e26..042263f8a3 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -101,17 +101,18 @@ data["centcom_access"] = is_centcom() data["all_centcom_access"] = null data["regions"] = null + data["id_rank"] = modify && modify.assignment ? modify.assignment : "Unassigned" - data["jobs"] = list( - list("cat" = "Engineering", "jobs" = format_jobs(engineering_positions)), - list("cat" = "Medical", "jobs" = format_jobs(medical_positions)), - list("cat" = "Science", "jobs" = format_jobs(science_positions)), - list("cat" = "Security", "jobs" = format_jobs(security_positions)), - list("cat" = "Cargo", "jobs" = format_jobs(cargo_positions)), - list("cat" = "Exploration", "jobs" = format_jobs(planet_positions)), //VOREStation Edit - list("cat" = "Civilian", "jobs" = format_jobs(civilian_positions)), - list("cat" = "CentCom", "jobs" = format_jobs(get_all_centcom_jobs())) - ) + var/list/departments = list() + for(var/D in SSjob.get_all_department_datums()) + var/datum/department/dept = D + if(!dept.assignable) // No AI ID cards for you. + continue + if(dept.centcom_only && !is_centcom()) + continue + departments[++departments.len] = list("department_name" = dept.name, "jobs" = format_jobs(SSjob.get_job_titles_in_department(dept.name)) ) + + data["departments"] = departments if (modify && is_centcom()) var/list/all_centcom_access = list() @@ -208,16 +209,10 @@ if(is_centcom()) access = get_centcom_access(t1) else - var/datum/job/jobdatum - for(var/jobtype in typesof(/datum/job)) - var/datum/job/J = new jobtype - if(ckey(J.title) == ckey(t1)) - jobdatum = J - break + var/datum/job/jobdatum = SSjob.get_job(t1) if(!jobdatum) to_chat(usr, "No log exists for this job: [t1]") return - access = jobdatum.get_access() modify.access = access diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 9da5397712..90c09acb44 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -310,9 +310,6 @@ if (subject.suiciding) scantemp = "Error: Subject's brain is not responding to scanning stimuli." return - if ((!subject.ckey) || (!subject.client)) - scantemp = "Error: Mental interface failure." - return if (NOCLONE in subject.mutations) scantemp = "Error: Mental interface failure." return @@ -323,6 +320,14 @@ if(istype(modifier_type, /datum/modifier/no_clone)) scantemp = "Error: Mental interface failure." return + if ((!subject.ckey) || (!subject.client)) + scantemp = "Error: Mental interface failure." + if(subject.stat == DEAD && subject.mind && subject.mind.key) // If they're dead and not in their body, tell them to get in it. + for(var/mob/observer/dead/ghost in player_list) + if(ghost.ckey == ckey(subject.mind.key)) + ghost.notify_revive("Someone is trying to scan your body in the cloner. Re-enter your body if you want to be revived!", 'sound/effects/genetics.ogg') + break + return if (!isnull(find_record(subject.ckey))) scantemp = "Subject already in database." return diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 2259f03082..21c795f08d 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -65,10 +65,7 @@ src.state = STATE_DEFAULT if("login") var/mob/M = usr - var/obj/item/weapon/card/id/I = M.get_active_hand() - if (istype(I, /obj/item/device/pda)) - var/obj/item/device/pda/pda = I - I = pda.id + var/obj/item/weapon/card/id/I = M.GetIdCard() if (I && istype(I)) if(src.check_access(I)) authenticated = 1 @@ -109,7 +106,7 @@ if(message_cooldown) to_chat(usr, "Please allow at least one minute to pass between announcements") return - var/input = input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") + var/input = input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") as null|message if(!input || !(usr in view(1,src))) return crew_announcement.Announce(input) @@ -188,7 +185,10 @@ if(centcomm_message_cooldown) to_chat(usr, "Arrays recycling. Please stand by.") return - var/input = sanitize(input("Please choose a message to transmit to [using_map.boss_short] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "")) + var/input = sanitize(input("Please choose a message to transmit to [using_map.boss_short] via quantum entanglement. \ + Please be aware that this process is very expensive, and abuse will lead to... termination. \ + Transmission does not guarantee a response. \ + There is a 30 second delay before you may send another message, be clear, full and concise.", "Central Command Quantum Messaging") as null|message) if(!input || !(usr in view(1,src))) return CentCom_announce(input, usr) diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 40a7551739..49ba537a2d 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -1,10 +1,10 @@ /obj/machinery/computer name = "computer" - icon = 'icons/obj/computer_vr.dmi' + icon = 'icons/obj/computer.dmi' icon_state = "computer" density = 1 anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 300 active_power_usage = 300 var/processing = 0 @@ -13,12 +13,10 @@ var/icon_screen = "generic" var/light_range_on = 2 var/light_power_on = 1 - var/overlay_layer clicksound = "keyboard" /obj/machinery/computer/New() - overlay_layer = layer ..() /obj/machinery/computer/Initialize() @@ -66,31 +64,28 @@ ex_act(2) /obj/machinery/computer/update_icon() - overlays.Cut() + cut_overlays() + // No power if(stat & NOPOWER) set_light(0) if(icon_keyboard) - overlays += image(icon,"[icon_keyboard]_off", overlay_layer) - return + add_overlay("[icon_keyboard]_off") + // Yes power else + if(icon_keyboard) + add_overlay(icon_keyboard) set_light(light_range_on, light_power_on) - if(stat & BROKEN) - overlays += image(icon,"[icon_state]_broken", overlay_layer) - else - overlays += image(icon,icon_screen, overlay_layer) - - if(icon_keyboard) - overlays += image(icon, icon_keyboard, overlay_layer) + // Broken + if(stat & BROKEN) + add_overlay("[icon_state]_broken") + // Not broken + else + add_overlay(icon_screen) /obj/machinery/computer/power_change() ..() update_icon() - if(stat & NOPOWER) - set_light(0) - else - set_light(light_range_on, light_power_on) - /obj/machinery/computer/proc/set_broken() stat |= BROKEN @@ -116,4 +111,4 @@ playsound(src, "keyboard", 100, 1, 0) return attack_hand(user) - return \ No newline at end of file + return diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 0c6c33928a..9342e0b5e9 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -4,7 +4,7 @@ icon_keyboard = "med_key" icon_screen = "crew" light_color = "#315ab4" - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 250 active_power_usage = 500 circuit = /obj/item/weapon/circuitboard/crew diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 3aa01abcf3..2416a0cd35 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -503,20 +503,18 @@ return src.attack_hand(usr) - /obj/item/weapon/paper/monitorkey - //..() name = "Monitor Decryption Key" - var/obj/machinery/message_server/server = null -/obj/item/weapon/paper/monitorkey/New() - ..() - spawn(10) - if(message_servers) - for(var/obj/machinery/message_server/server in message_servers) - if(!isnull(server)) - if(!isnull(server.decryptkey)) - info = "

Daily Key Reset


The new message monitor key is '[server.decryptkey]'.
Please keep this a secret and away from the clown.
If necessary, change the password to a more secure one." - info_links = info - icon_state = "paper_words" - break +/obj/item/weapon/paper/monitorkey/Initialize() + ..() //Late init + return INITIALIZE_HINT_LATELOAD + +/obj/item/weapon/paper/monitorkey/LateInitialize() + if(message_servers) + for(var/obj/machinery/message_server/server in message_servers) + if(!isnull(server.decryptkey)) + info = "

Daily Key Reset


The new message monitor key is '[server.decryptkey]'.
Please keep this a secret and away from the clown.
If necessary, change the password to a more secure one." + info_links = info + icon_state = "paper_words" + break diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index f40fb734dc..441970a8cb 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -12,17 +12,15 @@ var/time = 30.0 var/title = "Mass Driver Controls" +/obj/machinery/computer/pod/Initialize() + ..() //Not returning parent because lateload + return INITIALIZE_HINT_LATELOAD -/obj/machinery/computer/pod/New() - ..() - spawn( 5 ) - for(var/obj/machinery/mass_driver/M in machines) - if(M.id == id) - connected = M - else - return - return - +/obj/machinery/computer/pod/LateInitialize() + for(var/obj/machinery/mass_driver/M in machines) + if(M.id == id) + connected = M + break /obj/machinery/computer/pod/proc/alarm() if(stat & (NOPOWER|BROKEN)) diff --git a/code/game/machinery/computer/shutoff_monitor.dm b/code/game/machinery/computer/shutoff_monitor.dm index 9bb2146116..aed7bd25b9 100644 --- a/code/game/machinery/computer/shutoff_monitor.dm +++ b/code/game/machinery/computer/shutoff_monitor.dm @@ -67,4 +67,4 @@ /obj/machinery/computer/shutoff_monitor/update_icon() ..() if(!(stat & (NOPOWER|BROKEN))) - overlays += image('icons/obj/computer.dmi', "ai-fixer-empty", overlay_layer) + add_overlay("ai-fixer-empty") diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm index 9197f37952..05b4e65292 100644 --- a/code/game/machinery/computer/supply.dm +++ b/code/game/machinery/computer/supply.dm @@ -56,7 +56,7 @@ var/orders[0] var/receipts[0] - var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if(shuttle) if(shuttle.has_arrive_time()) shuttle_status["location"] = "In transit" @@ -66,8 +66,8 @@ else shuttle_status["time"] = 0 if(shuttle.at_station()) - if(shuttle.docking_controller) - switch(shuttle.docking_controller.get_docking_status()) + if(shuttle.shuttle_docking_controller) + switch(shuttle.shuttle_docking_controller.get_docking_status()) if("docked") shuttle_status["location"] = "Docked" shuttle_status["mode"] = SUP_SHUTTLE_DOCKED @@ -109,8 +109,8 @@ else shuttle["mode"] = SUP_SHUTTLE_ERROR - for(var/pack_name in supply_controller.supply_pack) - var/datum/supply_pack/P = supply_controller.supply_pack[pack_name] + for(var/pack_name in SSsupply.supply_pack) + var/datum/supply_pack/P = SSsupply.supply_pack[pack_name] if(P.group == active_category) var/list/pack = list( "name" = P.name, @@ -131,7 +131,7 @@ // Status determines which menus the entry will display in // Organized in field-entry list for iterative display // List is nested so both the list of orders, and the list of elements in each order, can be iterated over - for(var/datum/supply_order/S in supply_controller.order_history) + for(var/datum/supply_order/S in SSsupply.order_history) orders[++orders.len] = list( "ref" = "\ref[S]", "status" = S.status, @@ -148,7 +148,7 @@ ) // Compile exported crates - for(var/datum/exported_crate/E in supply_controller.exported_crates) + for(var/datum/exported_crate/E in SSsupply.exported_crates) receipts[++receipts.len] = list( "ref" = "\ref[E]", "contents" = E.contents, @@ -164,7 +164,7 @@ data["shuttle_auth"] = (authorization & SUP_SEND_SHUTTLE) // Whether this ui is permitted to control the supply shuttle data["order_auth"] = (authorization & SUP_ACCEPT_ORDERS) // Whether this ui is permitted to accept/deny requested orders data["shuttle"] = shuttle_status - data["supply_points"] = supply_controller.points + data["supply_points"] = SSsupply.points data["categories"] = all_supply_groups data["active_category"] = active_category data["supply_packs"] = pack_list @@ -189,10 +189,10 @@ /obj/machinery/computer/supplycomp/Topic(href, href_list) - if(!supply_controller) - to_world_log("## ERROR: The supply_controller datum is missing.") + if(!SSsupply) + to_world_log("## ERROR: The SSsupply datum is missing.") return - var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if (!shuttle) to_world_log("## ERROR: The supply shuttle datum is missing.") return @@ -240,7 +240,7 @@ if(!reason) return - supply_controller.create_order(S, user, reason) + SSsupply.create_order(S, user, reason) var/idname = "*None Provided*" var/idrank = "*None Provided*" @@ -255,7 +255,7 @@ var/obj/item/weapon/paper/reqform = new /obj/item/weapon/paper(loc) reqform.name = "Requisition Form - [S.name]" reqform.info += "

[station_name()] Supply Requisition Form


" - reqform.info += "INDEX: #[supply_controller.ordernum]
" + reqform.info += "INDEX: #[SSsupply.ordernum]
" reqform.info += "REQUESTED BY: [idname]
" reqform.info += "RANK: [idrank]
" reqform.info += "REASON: [reason]
" @@ -315,20 +315,20 @@ O.approved_at = new_val if(href_list["approve"]) - supply_controller.approve_order(O, user) + SSsupply.approve_order(O, user) if(href_list["deny"]) - supply_controller.deny_order(O, user) + SSsupply.deny_order(O, user) if(href_list["delete"]) - supply_controller.delete_order(O, user) + SSsupply.delete_order(O, user) if(href_list["clear_all_requests"]) var/mob/user = locate(href_list["user"]) if(!istype(user)) // Invalid ref return - supply_controller.deny_all_pending(user) + SSsupply.deny_all_pending(user) if(href_list["export_ref"]) var/datum/exported_crate/E = locate(href_list["export_ref"]) @@ -384,10 +384,10 @@ E.value = num else if(href_list["delete"]) - supply_controller.delete_export(E, user) + SSsupply.delete_export(E, user) else if(href_list["add_item"]) - supply_controller.add_export_item(E, user) + SSsupply.add_export_item(E, user) @@ -401,7 +401,7 @@ if("send_to_station") shuttle.launch(src) - to_chat(usr, "The supply shuttle has been called and will arrive in approximately [round(supply_controller.movetime/600,1)] minutes.") + to_chat(usr, "The supply shuttle has been called and will arrive in approximately [round(SSsupply.movetime/600,1)] minutes.") if("cancel_shuttle") shuttle.cancel_launch(src) diff --git a/code/game/machinery/computer/timeclock_vr.dm b/code/game/machinery/computer/timeclock_vr.dm index 4969e89334..cce66feba4 100644 --- a/code/game/machinery/computer/timeclock_vr.dm +++ b/code/game/machinery/computer/timeclock_vr.dm @@ -84,15 +84,16 @@ if (job) data["job_datum"] = list( "title" = job.title, - "department" = job.department, + "departments" = english_list(job.departments), "selection_color" = job.selection_color, "economic_modifier" = job.economic_modifier, - "timeoff_factor" = job.timeoff_factor + "timeoff_factor" = job.timeoff_factor, + "pto_department" = job.pto_type ) if(config.time_off && config.pto_job_change) data["allow_change_job"] = TRUE if(job && job.timeoff_factor < 0) // Currently are Off Duty, so gotta lookup what on-duty jobs are open - data["job_choices"] = getOpenOnDutyJobs(user, job.department) + data["job_choices"] = getOpenOnDutyJobs(user, job.pto_type) ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) @@ -117,22 +118,20 @@ card = I update_icon() return 1 - if(href_list["switch-to-onduty"]) - if(card) - if(checkFace()) - if(checkCardCooldown()) - makeOnDuty(href_list["switch-to-onduty"]) - usr.put_in_hands(card) - card = null + if(href_list["switch-to-onduty-rank"]) + if(checkFace()) + if(checkCardCooldown()) + makeOnDuty(href_list["switch-to-onduty-rank"], href_list["switch-to-onduty-assignment"]) + usr.put_in_hands(card) + card = null update_icon() return 1 if(href_list["switch-to-offduty"]) - if(card) - if(checkFace()) - if(checkCardCooldown()) - makeOffDuty() - usr.put_in_hands(card) - card = null + if(checkFace()) + if(checkCardCooldown()) + makeOffDuty() + usr.put_in_hands(card) + card = null update_icon() return 1 return 1 // Return 1 to update UI @@ -140,57 +139,57 @@ /obj/machinery/computer/timeclock/proc/getOpenOnDutyJobs(var/mob/user, var/department) var/list/available_jobs = list() for(var/datum/job/job in job_master.occupations) - if(job && job.is_position_available() && !job.whitelist_only && !jobban_isbanned(user,job.title) && job.player_old_enough(user.client)) - if(job.department == department && !job.disallow_jobhop && job.timeoff_factor > 0) - available_jobs += job.title - if(job.alt_titles) - for(var/alt_job in job.alt_titles) - available_jobs += alt_job + if(isOpenOnDutyJob(user, department, job)) + available_jobs[job.title] = list(job.title) + if(job.alt_titles) + for(var/alt_job in job.alt_titles) + if(alt_job != job.title) + available_jobs[job.title] += alt_job return available_jobs -/obj/machinery/computer/timeclock/proc/makeOnDuty(var/newjob) - var/datum/job/foundjob = null - for(var/datum/job/job in job_master.occupations) - if(newjob == job.title) - foundjob = job - break - if(newjob in job.alt_titles) - foundjob = job - break - if(!newjob in getOpenOnDutyJobs(usr, job_master.GetJob(card.rank).department)) +/obj/machinery/computer/timeclock/proc/isOpenOnDutyJob(var/mob/user, var/department, var/datum/job/job) + return job \ + && job.is_position_available() \ + && !job.whitelist_only \ + && !jobban_isbanned(user,job.title) \ + && job.player_old_enough(user.client) \ + && job.pto_type == department \ + && !job.disallow_jobhop \ + && job.timeoff_factor > 0 + +/obj/machinery/computer/timeclock/proc/makeOnDuty(var/newrank, var/newassignment) + var/datum/job/oldjob = job_master.GetJob(card.rank) + var/datum/job/newjob = job_master.GetJob(newrank) + if(!oldjob || !isOpenOnDutyJob(usr, oldjob.pto_type, newjob)) return - if(foundjob && card) - card.access = foundjob.get_access() - card.rank = foundjob.title - card.assignment = newjob + if(newassignment != newjob.title && !(newassignment in newjob.alt_titles)) + return + if(newjob) + card.access = newjob.get_access() + card.rank = newjob.title + card.assignment = newassignment card.name = text("[card.registered_name]'s ID Card ([card.assignment])") data_core.manifest_modify(card.registered_name, card.assignment) card.last_job_switch = world.time callHook("reassign_employee", list(card)) - foundjob.current_positions++ + newjob.current_positions++ var/mob/living/carbon/human/H = usr - H.mind.assigned_role = foundjob.title - H.mind.role_alt_title = newjob + H.mind.assigned_role = card.rank + H.mind.role_alt_title = card.assignment announce.autosay("[card.registered_name] has moved On-Duty as [card.assignment].", "Employee Oversight") return /obj/machinery/computer/timeclock/proc/makeOffDuty() - var/datum/job/foundjob = null - for(var/datum/job/job in job_master.occupations) - if(card.rank == job.title) - foundjob = job - break + var/datum/job/foundjob = job_master.GetJob(card.rank) if(!foundjob) return - var/real_dept = foundjob.department - if(real_dept && real_dept == "Command") - real_dept = "Civilian" + var/new_dept = foundjob.pto_type || PTO_CIVILIAN var/datum/job/ptojob = null for(var/datum/job/job in job_master.occupations) - if(job.department == real_dept && job.timeoff_factor < 0) + if(job.pto_type == new_dept && job.timeoff_factor < 0) ptojob = job break - if(ptojob && card) + if(ptojob) var/oldtitle = card.assignment card.access = ptojob.get_access() card.rank = ptojob.title diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index e74ffb7cf9..aa9c230e22 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -7,7 +7,7 @@ icon_state = "box_0" density = 1 anchored = 1 - use_power = 0 + use_power = USE_POWER_OFF var/obj/item/weapon/circuitboard/circuit = null var/list/components = null var/list/req_components = null diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index fb4c9b7923..9db22b9270 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -11,11 +11,13 @@ interact_offline = 1 var/on = 0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 20 active_power_usage = 200 buckle_lying = FALSE buckle_dir = SOUTH + clicksound = 'sound/machines/buttonbeep.ogg' + clickvol = 30 var/temperature_archived var/mob/living/carbon/occupant = null @@ -230,7 +232,7 @@ return occupant.bodytemperature += 2*(air_contents.temperature - occupant.bodytemperature)*current_heat_capacity/(current_heat_capacity + air_contents.heat_capacity()) occupant.bodytemperature = max(occupant.bodytemperature, air_contents.temperature) // this is so ugly i'm sorry for doing it i'll fix it later i promise - occupant.stat = UNCONSCIOUS + occupant.set_stat(UNCONSCIOUS) occupant.dir = SOUTH if(occupant.bodytemperature < T0C) occupant.sleeping = max(5, (1/occupant.bodytemperature)*2000) @@ -289,7 +291,7 @@ unbuckle_mob(occupant, force = TRUE) occupant = null current_heat_capacity = initial(current_heat_capacity) - update_use_power(1) + update_use_power(USE_POWER_IDLE) return /obj/machinery/atmospherics/unary/cryo_cell/proc/put_mob(mob/living/carbon/M as mob) if(stat & (NOPOWER|BROKEN)) @@ -320,7 +322,7 @@ vis_contents |= occupant occupant.pixel_y += 19 current_heat_capacity = HEAT_CAPACITY_HUMAN - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) // M.metabslow = 1 add_fingerprint(usr) update_icon() diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 290ff6745e..18e0678fcf 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -14,7 +14,7 @@ */ anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 4 @@ -205,4 +205,19 @@ if(!active || (stat & NOPOWER)) icon_state = "launcherbtt" else - icon_state = "launcheract" \ No newline at end of file + icon_state = "launcheract" + +/* + Shieldgen remote control +*/ +/obj/machinery/button/remote/shields + name = "remote shield control" + desc = "It controls shields, remotely." + icon = 'icons/obj/stationobjs_vr.dmi' // VOREStation Edit + +/obj/machinery/button/remote/shields/trigger(var/mob/user) + for(var/obj/machinery/shield_gen/SG in machines) + if(SG.id == id) + spawn(0) + if(SG?.anchored) + SG.toggle() diff --git a/code/game/machinery/doorbell_vr.dm b/code/game/machinery/doorbell_vr.dm index 72bd5b7300..9df92aa209 100644 --- a/code/game/machinery/doorbell_vr.dm +++ b/code/game/machinery/doorbell_vr.dm @@ -4,7 +4,7 @@ desc = "Small wall-mounted chime triggered by a doorbell" icon = 'icons/obj/machines/doorbell_vr.dmi' icon_state = "dbchime-standby" - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 200 anchored = 1 @@ -89,7 +89,7 @@ desc = "A doorbell, press to chime." icon = 'icons/obj/machines/doorbell_vr.dmi' icon_state = "doorbell-standby" - use_power = 0 + use_power = USE_POWER_OFF /obj/machinery/button/doorbell/New(var/loc, var/dir, var/building = 0) ..() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index a7afa1f9a5..bd1d663720 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -178,6 +178,14 @@ icon = 'icons/obj/doors/Doorext.dmi' assembly_type = /obj/structure/door_assembly/door_assembly_ext +/obj/machinery/door/airlock/external/glass/bolted + icon_state = "door_locked" // So it looks visibly bolted in map editor + locked = 1 + +// For convenience in making docking ports: one that is pre-bolted with frequency set! +/obj/machinery/door/airlock/external/glass/bolted/cycling + frequency = 1379 + /obj/machinery/door/airlock/glass_external name = "External Airlock" icon = 'icons/obj/doors/Doorextglass.dmi' diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 43fb8340ef..6902b7296f 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -42,7 +42,7 @@ if(isanimal(user)) var/mob/living/simple_mob/S = user if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD) - visible_message("\The [user] smashes into the [src]!") + visible_message("\The [user] smashes into [src]!") playsound(src, S.attack_sound, 75, 1) take_damage(damage) else diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index d5043af6ef..22debea238 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -38,7 +38,7 @@ var/hatch_open = 0 power_channel = ENVIRON - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 5 var/list/tile_info[4] @@ -50,13 +50,14 @@ "cold" ) -/obj/machinery/door/firedoor/New() +/obj/machinery/door/firedoor/Initialize() . = ..() + //Delete ourselves if we find extra mapped in firedoors for(var/obj/machinery/door/firedoor/F in loc) if(F != src) - spawn(1) - qdel(src) - return . + log_debug("Duplicate firedoors at [x],[y],[z]") + return INITIALIZE_HINT_QDEL + var/area/A = get_area(src) ASSERT(istype(A)) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index a1e05d5e1e..1396b5f554 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -9,7 +9,7 @@ maxhealth = 150 //If you change this, consiter changing ../door/window/brigdoor/ health at the bottom of this .dm file health = 150 visible = 0.0 - use_power = 0 + use_power = USE_POWER_OFF flags = ON_BORDER opacity = 0 var/obj/item/weapon/airlock_electronics/electronics = null diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm index 0f8b797289..b15d5afd97 100644 --- a/code/game/machinery/embedded_controller/airlock_controllers.dm +++ b/code/game/machinery/embedded_controller/airlock_controllers.dm @@ -2,6 +2,7 @@ /obj/machinery/embedded_controller/radio/airlock // Setup parameters only radio_filter = RADIO_AIRLOCK + program = /datum/computer/file/embedded_program/airlock var/tag_exterior_door var/tag_interior_door var/tag_airpump @@ -11,11 +12,22 @@ var/tag_airlock_mech_sensor var/tag_shuttle_mech_sensor var/tag_secure = 0 + var/list/dummy_terminals = list() var/cycle_to_external_air = 0 -/obj/machinery/embedded_controller/radio/airlock/Initialize() - . = ..() - program = new/datum/computer/file/embedded_program/airlock(src) +/obj/machinery/embedded_controller/radio/airlock/Destroy() + // TODO - Leshana - Implement dummy terminals + //for(var/thing in dummy_terminals) + // var/obj/machinery/dummy_airlock_controller/dummy = thing + // dummy.master_controller = null + //dummy_terminals.Cut() + return ..() + +/obj/machinery/embedded_controller/radio/airlock/CanUseTopic(var/mob/user) + if(!allowed(user)) + return min(STATUS_UPDATE, ..()) + else + return ..() //Advanced airlock controller for when you want a more versatile airlock controller - useful for turning simple access control rooms into airlocks /obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller @@ -37,43 +49,20 @@ if (!ui) ui = new(user, src, ui_key, "advanced_airlock_console.tmpl", name, 470, 290) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) /obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller/Topic(href, href_list) - if(..()) + if((. = ..())) return - usr.set_machine(src) - src.add_fingerprint(usr) - - var/clean = 0 switch(href_list["command"]) //anti-HTML-hacking checks - if("cycle_ext") - clean = 1 - if("cycle_int") - clean = 1 - if("force_ext") - clean = 1 - if("force_int") - clean = 1 - if("abort") - clean = 1 - if("purge") - clean = 1 - if("secure") - clean = 1 - - if(clean) - program.receive_user_command(href_list["command"]) + if("cycle_ext", "cycle_int", "force_ext", "force_int", "abort", "purge", "secure") + program.receive_user_command(href_list["command"]) return 1 - //Airlock controller for airlock control - most airlocks on the station use this /obj/machinery/embedded_controller/radio/airlock/airlock_controller name = "Airlock Controller" @@ -90,23 +79,16 @@ ) ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) ui = new(user, src, ui_key, "simple_airlock_console.tmpl", name, 470, 290) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) /obj/machinery/embedded_controller/radio/airlock/airlock_controller/Topic(href, href_list) - if(..()) + if((. = ..())) return - usr.set_machine(src) - src.add_fingerprint(usr) - var/clean = 0 switch(href_list["command"]) //anti-HTML-hacking checks if("cycle_ext") @@ -125,7 +107,6 @@ return 1 - //Access controller for door control - used in virology and the like /obj/machinery/embedded_controller/radio/airlock/access_controller icon = 'icons/obj/airlock_machines.dmi' @@ -154,23 +135,16 @@ ) ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) ui = new(user, src, ui_key, "door_access_console.tmpl", name, 330, 220) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) /obj/machinery/embedded_controller/radio/airlock/access_controller/Topic(href, href_list) - if(..()) + if((. = ..())) return - usr.set_machine(src) - src.add_fingerprint(usr) - var/clean = 0 switch(href_list["command"]) //anti-HTML-hacking checks if("cycle_ext_door") diff --git a/code/game/machinery/embedded_controller/airlock_controllers_dummy.dm b/code/game/machinery/embedded_controller/airlock_controllers_dummy.dm new file mode 100644 index 0000000000..d2f9a410a2 --- /dev/null +++ b/code/game/machinery/embedded_controller/airlock_controllers_dummy.dm @@ -0,0 +1,51 @@ +// Provides remote access to a controller (since they must be unique). +/obj/machinery/dummy_airlock_controller + name = "airlock control terminal" + icon = 'icons/obj/airlock_machines.dmi' + icon_state = "airlock_control_standby" + layer = ABOVE_OBJ_LAYER + var/id_tag + + var/datum/topic_state/remote/remote_state + var/obj/machinery/embedded_controller/radio/airlock/master_controller + +/obj/machinery/dummy_airlock_controller/process() + if(master_controller) + appearance = master_controller + . = ..() + +/obj/machinery/dummy_airlock_controller/Initialize() + . = ..() + if(id_tag) + for(var/obj/machinery/embedded_controller/radio/airlock/_master in SSmachines.machinery) + if(_master.id_tag == id_tag) + master_controller = _master + master_controller.dummy_terminals += src + break + if(!master_controller) + qdel(src) + else + remote_state = new /datum/topic_state/remote(src, master_controller) + +/obj/machinery/dummy_airlock_controller/Destroy() + if(master_controller) + master_controller.dummy_terminals -= src + if(remote_state) + qdel(remote_state) + remote_state = null + return ..() + +/obj/machinery/dummy_airlock_controller/interface_interact(var/mob/user) + open_remote_ui(user) + return TRUE + +/obj/machinery/dummy_airlock_controller/proc/open_remote_ui(var/mob/user) + if(master_controller) + appearance = master_controller + return master_controller.ui_interact(user, state = remote_state) + +/obj/machinery/dummy_airlock_controller/powered(var/chan = -1, var/area/check_area = null) + if(master_controller) + var/area/A = get_area(master_controller) + return master_controller.powered(chan, A) + return ..() diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller.dm b/code/game/machinery/embedded_controller/airlock_docking_controller.dm index fa8398c3d7..4d5048ad6d 100644 --- a/code/game/machinery/embedded_controller/airlock_docking_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_docking_controller.dm @@ -1,8 +1,17 @@ +/* + * NOTE - This file defines both these datums: Yes, you read that right. Its confusing. Lets try and break it down. + * /datum/computer/file/embedded_program/docking/airlock + * - A docking controller for an airlock based docking port + * /datum/computer/file/embedded_program/airlock/docking + * - An extension to the normal airlock program allows disabling of the regular airlock functions when docking +*/ + //a docking port based on an airlock /obj/machinery/embedded_controller/radio/airlock/docking_port name = "docking port controller" var/datum/computer/file/embedded_program/airlock/docking/airlock_program var/datum/computer/file/embedded_program/docking/airlock/docking_program + var/display_name // For mappers to override docking_program.display_name (how would it show up on docking monitoring program) tag_secure = 1 /obj/machinery/embedded_controller/radio/airlock/docking_port/Initialize() @@ -10,9 +19,25 @@ airlock_program = new/datum/computer/file/embedded_program/airlock/docking(src) docking_program = new/datum/computer/file/embedded_program/docking/airlock(src, airlock_program) program = docking_program + if(display_name) + docking_program.display_name = display_name + +/obj/machinery/embedded_controller/radio/airlock/docking_port/attackby(obj/item/W, mob/user) + if(istype(W,/obj/item/device/multitool)) //give them part of code, would take few tries to get full + var/datum/computer/file/embedded_program/docking/airlock/docking_program = program + var/code = docking_program.docking_codes + if(!code) + code = "N/A" + else + code = stars(code) + to_chat(user, "[W]'s screen displays '[code]'") + else + ..() /obj/machinery/embedded_controller/radio/airlock/docking_port/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] + var/datum/computer/file/embedded_program/docking/airlock/docking_program = program + var/datum/computer/file/embedded_program/airlock/docking/airlock_program = docking_program.airlock_program data = list( "chamber_pressure" = round(airlock_program.memory["chamber_sensor_pressure"]), @@ -22,6 +47,8 @@ "docking_status" = docking_program.get_docking_status(), "airlock_disabled" = !(docking_program.undocked() || docking_program.override_enabled), "override_enabled" = docking_program.override_enabled, + "docking_codes" = docking_program.docking_codes, + "name" = docking_program.get_name() ) ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) @@ -33,12 +60,9 @@ ui.set_auto_update(1) /obj/machinery/embedded_controller/radio/airlock/docking_port/Topic(href, href_list) - if(..()) + if((. = ..())) return - usr.set_machine(src) - src.add_fingerprint(usr) - var/clean = 0 switch(href_list["command"]) //anti-HTML-hacking checks if("cycle_ext") @@ -60,11 +84,13 @@ return 1 - +/////////////////////////////////////////////////////////////////////////////// //A docking controller for an airlock based docking port +// /datum/computer/file/embedded_program/docking/airlock var/datum/computer/file/embedded_program/airlock/docking/airlock_program + /datum/computer/file/embedded_program/docking/airlock/New(var/obj/machinery/embedded_controller/M, var/datum/computer/file/embedded_program/airlock/docking/A) ..(M) airlock_program = A @@ -76,10 +102,10 @@ disable_override() else enable_override() - return + return TRUE - ..(command) - airlock_program.receive_user_command(command) //pass along to subprograms + . = ..(command) + . = airlock_program.receive_user_command(command) || . //pass along to subprograms; bypass shortcircuit /datum/computer/file/embedded_program/docking/airlock/process() airlock_program.process() @@ -91,7 +117,7 @@ //tell the docking port to start getting ready for docking - e.g. pressurize /datum/computer/file/embedded_program/docking/airlock/prepare_for_docking() - airlock_program.begin_cycle_in() + airlock_program.begin_dock_cycle() //are we ready for docking? /datum/computer/file/embedded_program/docking/airlock/ready_for_docking() @@ -99,14 +125,14 @@ //we are docked, open the doors or whatever. /datum/computer/file/embedded_program/docking/airlock/finish_docking() - airlock_program.enable_mech_regulators() + airlock_program.enable_mech_regulation() airlock_program.open_doors() //tell the docking port to start getting ready for undocking - e.g. close those doors. /datum/computer/file/embedded_program/docking/airlock/prepare_for_undocking() airlock_program.stop_cycling() airlock_program.close_doors() - airlock_program.disable_mech_regulators() + airlock_program.disable_mech_regulation() //are we ready for undocking? /datum/computer/file/embedded_program/docking/airlock/ready_for_undocking() @@ -114,20 +140,22 @@ var/int_closed = airlock_program.check_interior_door_secured() return (ext_closed || int_closed) +/////////////////////////////////////////////////////////////////////////////// //An airlock controller to be used by the airlock-based docking port controller. //Same as a regular airlock controller but allows disabling of the regular airlock functions when docking +// /datum/computer/file/embedded_program/airlock/docking var/datum/computer/file/embedded_program/docking/airlock/master_prog +/datum/computer/file/embedded_program/airlock/docking/Destroy() + if(master_prog) + master_prog.airlock_program = null + master_prog = null + return ..() + /datum/computer/file/embedded_program/airlock/docking/receive_user_command(command) if (master_prog.undocked() || master_prog.override_enabled) //only allow the port to be used as an airlock if nothing is docked here or the override is enabled - ..(command) - -/datum/computer/file/embedded_program/airlock/docking/proc/enable_mech_regulators() - enable_mech_regulation() - -/datum/computer/file/embedded_program/airlock/docking/proc/disable_mech_regulators() - disable_mech_regulation() + return ..(command) /datum/computer/file/embedded_program/airlock/docking/proc/open_doors() toggleDoor(memory["interior_status"], tag_interior_door, memory["secure"], "open") diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm index 4b6917ff71..55182aaaa6 100644 --- a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm +++ b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm @@ -2,21 +2,15 @@ //this is the master controller, that things will try to dock with. /obj/machinery/embedded_controller/radio/docking_port_multi name = "docking port controller" - + program = /datum/computer/file/embedded_program/docking/multi var/child_tags_txt var/child_names_txt var/list/child_names = list() - var/datum/computer/file/embedded_program/docking/multi/docking_program - /obj/machinery/embedded_controller/radio/docking_port_multi/Initialize() . = ..() - docking_program = new/datum/computer/file/embedded_program/docking/multi(src) - program = docking_program - var/list/names = splittext(child_names_txt, ";") var/list/tags = splittext(child_tags_txt, ";") - if (names.len == tags.len) for (var/i = 1; i <= tags.len; i++) child_names[tags[i]] = names[i] @@ -24,6 +18,7 @@ /obj/machinery/embedded_controller/radio/docking_port_multi/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] + var/datum/computer/file/embedded_program/docking/multi/docking_program = program // Cast to proper type var/list/airlocks[child_names.len] var/i = 1 @@ -44,24 +39,21 @@ ui.set_auto_update(1) /obj/machinery/embedded_controller/radio/docking_port_multi/Topic(href, href_list) - return + return 1 // Apparently we swallow all input (this is corrected legacy code) //a docking port based on an airlock +// This is the actual controller that will be commanded by the master defined above /obj/machinery/embedded_controller/radio/airlock/docking_port_multi name = "docking port controller" + program = /datum/computer/file/embedded_program/airlock/multi_docking var/master_tag //for mapping - var/datum/computer/file/embedded_program/airlock/multi_docking/airlock_program tag_secure = 1 -/obj/machinery/embedded_controller/radio/airlock/docking_port_multi/Initialize() - . = ..() - airlock_program = new/datum/computer/file/embedded_program/airlock/multi_docking(src) - program = airlock_program - /obj/machinery/embedded_controller/radio/airlock/docking_port_multi/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] + var/datum/computer/file/embedded_program/airlock/multi_docking/airlock_program = program // Cast to proper type data = list( "chamber_pressure" = round(airlock_program.memory["chamber_sensor_pressure"]), @@ -82,12 +74,9 @@ ui.set_auto_update(1) /obj/machinery/embedded_controller/radio/airlock/docking_port_multi/Topic(href, href_list) - if(..()) + if((. = ..())) return - usr.set_machine(src) - src.add_fingerprint(usr) - var/clean = 0 switch(href_list["command"]) //anti-HTML-hacking checks if("cycle_ext") diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm index 5ebbac93ae..dc02084f98 100644 --- a/code/game/machinery/embedded_controller/airlock_program.dm +++ b/code/game/machinery/embedded_controller/airlock_program.dm @@ -52,8 +52,8 @@ tag_interior_door = controller.tag_interior_door? controller.tag_interior_door : "[id_tag]_inner" tag_airpump = controller.tag_airpump? controller.tag_airpump : "[id_tag]_pump" tag_chamber_sensor = controller.tag_chamber_sensor? controller.tag_chamber_sensor : "[id_tag]_sensor" - tag_exterior_sensor = controller.tag_exterior_sensor - tag_interior_sensor = controller.tag_interior_sensor + tag_exterior_sensor = controller.tag_exterior_sensor || "[id_tag]_exterior_sensor" + tag_interior_sensor = controller.tag_interior_sensor || "[id_tag]_interior_sensor" tag_airlock_mech_sensor = controller.tag_airlock_mech_sensor? controller.tag_airlock_mech_sensor : "[id_tag]_airlock_mech" tag_shuttle_mech_sensor = controller.tag_shuttle_mech_sensor? controller.tag_shuttle_mech_sensor : "[id_tag]_shuttle_mech" memory["secure"] = controller.tag_secure @@ -117,6 +117,7 @@ /datum/computer/file/embedded_program/airlock/receive_user_command(command) var/shutdown_pump = 0 + . = TRUE switch(command) if("cycle_ext") //If airlock is already cycled in this direction, just toggle the doors. @@ -163,6 +164,8 @@ else signalDoor(tag_interior_door, "unlock") signalDoor(tag_exterior_door, "unlock") + else + . = FALSE if(shutdown_pump) signalPump(tag_airpump, 0) //send a signal to stop pressurizing @@ -273,6 +276,9 @@ target_state = TARGET_INOPEN memory["purge"] = cycle_to_external_air +/datum/computer/file/embedded_program/airlock/proc/begin_dock_cycle() + state = STATE_IDLE + target_state = TARGET_INOPEN /datum/computer/file/embedded_program/airlock/proc/begin_cycle_out() state = STATE_IDLE target_state = TARGET_OUTOPEN diff --git a/code/game/machinery/embedded_controller/docking_program.dm b/code/game/machinery/embedded_controller/docking_program.dm index 2665fc231c..86876abe28 100644 --- a/code/game/machinery/embedded_controller/docking_program.dm +++ b/code/game/machinery/embedded_controller/docking_program.dm @@ -12,51 +12,51 @@ /* *** STATE TABLE *** - + MODE_CLIENT|STATE_UNDOCKED sent a request for docking and now waiting for a reply. MODE_CLIENT|STATE_DOCKING server told us they are OK to dock, waiting for our docking port to be ready. MODE_CLIENT|STATE_DOCKED idle - docked as client. MODE_CLIENT|STATE_UNDOCKING we are either waiting for our docking port to be ready or for the server to give us the OK to finish undocking. - + MODE_SERVER|STATE_UNDOCKED should never happen. MODE_SERVER|STATE_DOCKING someone requested docking, we are waiting for our docking port to be ready. MODE_SERVER|STATE_DOCKED idle - docked as server MODE_SERVER|STATE_UNDOCKING client requested undocking, we are waiting for our docking port to be ready. - + MODE_NONE|STATE_UNDOCKED idle - not docked. MODE_NONE|anything else should never happen. - + *** Docking Signals *** - + Docking Client sends request_dock Server sends confirm_dock to say that yes, we will serve your request When client is ready, sends confirm_dock Server sends confirm_dock back to indicate that docking is complete - + Undocking Client sends request_undock When client is ready, sends confirm_undock Server sends confirm_undock back to indicate that docking is complete - + Note that in both cases each side exchanges confirm_dock before the docking operation is considered done. - The client first sends a confirm message to indicate it is ready, and then finally the server will send it's + The client first sends a confirm message to indicate it is ready, and then finally the server will send it's confirm message to indicate that the operation is complete. - + Note also that when docking, the server sends an additional confirm message. This is because before docking, the server and client do not have a defined relationship. Before undocking, the server and client are already related to each other, thus the extra confirm message is not needed. - + *** Override, what is it? *** - + The purpose of enabling the override is to prevent the docking program from automatically doing things with the docking port when docking or undocking. Maybe the shuttle is full of plamsa/phoron for some reason, and you don't want the door to automatically open, or the airlock to cycle. This means that the prepare_for_docking/undocking and finish_docking/undocking procs don't get called. - + The docking controller will still check the state of the docking port, and thus prevent the shuttle from launching unless they force the launch (handling forced - launches is not the docking controller's responsibility). In this case it is up to the players to manually get the docking port into a good state to undock + launches is not the docking controller's responsibility). In this case it is up to the players to manually get the docking port into a good state to undock (which usually just means closing and locking the doors). - + In line with this, docking controllers should prevent players from manually doing things when the override is NOT enabled. */ @@ -67,27 +67,31 @@ var/control_mode = MODE_NONE var/response_sent = 0 //so we don't spam confirmation messages var/resend_counter = 0 //for periodically resending confirmation messages in case they are missed - + var/override_enabled = 0 //when enabled, do not open/close doors or cycle airlocks and wait for the player to do it manually var/received_confirm = 0 //for undocking, whether the server has recieved a confirmation from the client + var/docking_codes //would only allow docking when receiving signal with these, if set + var/display_name //Override the name shown on docking monitoring program; defaults to area name + coordinates if unset /datum/computer/file/embedded_program/docking/New() ..() - var/datum/existing = locate(id_tag) //in case a datum already exists with our tag - if(existing) - existing.tag = null //take it from them - - tag = id_tag //Greatly simplifies shuttle initialization + if(id_tag) + if(SSshuttles.docking_registry[id_tag]) + crash_with("Docking controller tag [id_tag] had multiple associated programs.") + SSshuttles.docking_registry[id_tag] = src +/datum/computer/file/embedded_program/docking/Destroy() + SSshuttles.docking_registry -= id_tag + return ..() /datum/computer/file/embedded_program/docking/receive_signal(datum/signal/signal, receive_method, receive_param) var/receive_tag = signal.data["tag"] //for docking signals, this is the sender id var/command = signal.data["command"] var/recipient = signal.data["recipient"] //the intended recipient of the docking signal - + if (recipient != id_tag) return //this signal is not for us - + switch (command) if ("confirm_dock") if (control_mode == MODE_CLIENT && dock_state == STATE_UNDOCKED && receive_tag == tag_target) @@ -95,7 +99,7 @@ broadcast_docking_status() if (!override_enabled) prepare_for_docking() - + else if (control_mode == MODE_CLIENT && dock_state == STATE_DOCKING && receive_tag == tag_target) dock_state = STATE_DOCKED broadcast_docking_status() @@ -104,19 +108,27 @@ response_sent = 0 else if (control_mode == MODE_SERVER && dock_state == STATE_DOCKING && receive_tag == tag_target) //client just sent us the confirmation back, we're done with the docking process received_confirm = 1 - + if ("request_dock") if (control_mode == MODE_NONE && dock_state == STATE_UNDOCKED) + + tag_target = receive_tag + + if(docking_codes) + var/code = signal.data["code"] + if(code != docking_codes) + log_debug("Controller [id_tag] got request_dock but code:[code] != docking_codes:[docking_codes]") + return + control_mode = MODE_SERVER - dock_state = STATE_DOCKING broadcast_docking_status() - - tag_target = receive_tag + + if (!override_enabled) prepare_for_docking() send_docking_command(tag_target, "confirm_dock") //acknowledge the request - + if ("confirm_undock") if (control_mode == MODE_CLIENT && dock_state == STATE_UNDOCKING && receive_tag == tag_target) if (!override_enabled) @@ -129,7 +141,7 @@ if (control_mode == MODE_SERVER && dock_state == STATE_DOCKED && receive_tag == tag_target) dock_state = STATE_UNDOCKING broadcast_docking_status() - + if (!override_enabled) prepare_for_undocking() @@ -145,38 +157,38 @@ if (!response_sent) send_docking_command(tag_target, "confirm_dock") //tell the server we're ready response_sent = 1 - + else if (control_mode == MODE_SERVER && received_confirm) send_docking_command(tag_target, "confirm_dock") //tell the client we are done docking. - + dock_state = STATE_DOCKED broadcast_docking_status() - + if (!override_enabled) finish_docking() //server done docking! response_sent = 0 received_confirm = 0 - + if (STATE_UNDOCKING) if (ready_for_undocking()) if (control_mode == MODE_CLIENT) if (!response_sent) send_docking_command(tag_target, "confirm_undock") //tell the server we are OK to undock. response_sent = 1 - + else if (control_mode == MODE_SERVER && received_confirm) send_docking_command(tag_target, "confirm_undock") //tell the client we are done undocking. if (!override_enabled) finish_undocking() reset() //server is done undocking! - + if (response_sent || resend_counter > 0) resend_counter++ - + if (resend_counter >= MESSAGE_RESEND_TIME || (dock_state != STATE_DOCKING && dock_state != STATE_UNDOCKING)) response_sent = 0 resend_counter = 0 - + //handle invalid states if (control_mode == MODE_NONE && dock_state != STATE_UNDOCKED) if (tag_target) @@ -189,22 +201,22 @@ /datum/computer/file/embedded_program/docking/proc/initiate_docking(var/target) if (dock_state != STATE_UNDOCKED || control_mode == MODE_SERVER) //must be undocked and not serving another request to begin a new docking handshake return - + tag_target = target control_mode = MODE_CLIENT - + send_docking_command(tag_target, "request_dock") /datum/computer/file/embedded_program/docking/proc/initiate_undocking() if (dock_state != STATE_DOCKED || control_mode != MODE_CLIENT) //must be docked and must be client to start undocking return - + dock_state = STATE_UNDOCKING broadcast_docking_status() - + if (!override_enabled) prepare_for_undocking() - + send_docking_command(tag_target, "request_undock") //tell the docking port to start getting ready for docking - e.g. pressurize @@ -240,7 +252,7 @@ /datum/computer/file/embedded_program/docking/proc/reset() dock_state = STATE_UNDOCKED broadcast_docking_status() - + control_mode = MODE_NONE tag_target = null response_sent = 0 @@ -267,6 +279,7 @@ signal.data["tag"] = id_tag signal.data["command"] = command signal.data["recipient"] = recipient + signal.data["code"] = docking_codes post_signal(signal) /datum/computer/file/embedded_program/docking/proc/broadcast_docking_status() @@ -283,6 +296,8 @@ if (STATE_UNDOCKING) return "undocking" if (STATE_DOCKED) return "docked" +/datum/computer/file/embedded_program/docking/proc/get_name() + return display_name ? display_name : "[get_area(master)] ([master.x], [master.y])" #undef STATE_UNDOCKED #undef STATE_DOCKING diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 17bf13181a..714d27d560 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -1,18 +1,20 @@ /obj/machinery/embedded_controller - var/datum/computer/file/embedded_program/program //the currently executing program - name = "Embedded Controller" anchored = 1 - - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 - + var/datum/computer/file/embedded_program/program //the currently executing program var/on = 1 -obj/machinery/embedded_controller/radio/Destroy() - if(radio_controller) - radio_controller.remove_object(src,frequency) - ..() +/obj/machinery/embedded_controller/Initialize() + if(ispath(program)) + program = new program(src) + return ..() + +/obj/machinery/embedded_controller/Destroy() + if(istype(program)) + qdel(program) // the program will clear the ref in its Destroy + return ..() /obj/machinery/embedded_controller/proc/post_signal(datum/signal/signal, comm_line) return 0 @@ -24,6 +26,17 @@ obj/machinery/embedded_controller/radio/Destroy() program.receive_signal(signal, receive_method, receive_param) //spawn(5) program.process() //no, program.process sends some signals and machines respond and we here again and we lag -rastaf0 +/obj/machinery/embedded_controller/Topic(href, href_list) + if((. = ..())) + return + if(usr) + usr.set_machine(src) + src.add_fingerprint(usr) + // We would now pass it to the program, except that some of our embedded controller types want to block certain commands. + // Until/unless that is refactored differently, we rely on subtypes to pass it on. + //if(program) + // return program.receive_user_command(href_list["command"]) + /obj/machinery/embedded_controller/process() if(program) program.process() @@ -40,14 +53,16 @@ obj/machinery/embedded_controller/radio/Destroy() src.ui_interact(user) -/obj/machinery/embedded_controller/ui_interact() - return +// +// Embedded controller with a radio! (Most things (All things?) use this) +// /obj/machinery/embedded_controller/radio icon = 'icons/obj/airlock_machines.dmi' icon_state = "airlock_control_standby" power_channel = ENVIRON density = 0 + unacidable = 1 var/id_tag //var/radio_power_use = 50 //power used to xmit signals @@ -55,11 +70,15 @@ obj/machinery/embedded_controller/radio/Destroy() var/frequency = 1379 var/radio_filter = null var/datum/radio_frequency/radio_connection - unacidable = 1 /obj/machinery/embedded_controller/radio/Initialize() + set_frequency(frequency) // Set it before parent instantiates program . = ..() - set_frequency(frequency) + +/obj/machinery/embedded_controller/radio/Destroy() + if(radio_controller) + radio_controller.remove_object(src,frequency) + ..() /obj/machinery/embedded_controller/radio/update_icon() if(on && program) diff --git a/code/game/machinery/embedded_controller/embedded_program_base.dm b/code/game/machinery/embedded_controller/embedded_program_base.dm index 0cc711c7a4..48340b0c8b 100644 --- a/code/game/machinery/embedded_controller/embedded_program_base.dm +++ b/code/game/machinery/embedded_controller/embedded_program_base.dm @@ -11,8 +11,15 @@ var/obj/machinery/embedded_controller/radio/R = M id_tag = R.id_tag +/datum/computer/file/embedded_program/Destroy() + if(master) + master.program = null + master = null + return ..() + +// Return TRUE if was a command for us, otherwise return FALSE (so controllers with multiple programs can try each in turn until one accepts) /datum/computer/file/embedded_program/proc/receive_user_command(command) - return + return FALSE /datum/computer/file/embedded_program/proc/receive_signal(datum/signal/signal, receive_method, receive_param) return diff --git a/code/game/machinery/embedded_controller/mapping_helpers.dm b/code/game/machinery/embedded_controller/mapping_helpers.dm new file mode 100644 index 0000000000..cd48226ced --- /dev/null +++ b/code/game/machinery/embedded_controller/mapping_helpers.dm @@ -0,0 +1,176 @@ +/* + +Note that these have to be in the same /area that the controller is in for them to function. +You still need to set the controller's "id_tag" to something unique. +Any frequency works, it's self-setting, but it seems like people have decided 1380 for airlocks so maybe set that on the controller too. + +*/ + +/obj/effect/map_helper/airlock + name = "use a subtype!" + icon = 'icons/misc/map_helpers.dmi' + plane = 20 //I dunno just high. + alpha = 170 + + //The controller we're wanting our device to use + var/obj/machinery/embedded_controller/radio/my_controller + var/my_controller_type = /obj/machinery/embedded_controller/radio/airlock + //The device we're setting up + var/my_device + var/my_device_type + //Most things have a radio tag of some sort that needs adjusting + var/tag_addon + +/obj/effect/map_helper/airlock/Initialize() + ..() + my_controller = get_controller(get_area(src)) + my_device = locate(my_device_type) in get_turf(src) + if(!my_device) + to_world("WARNING:Airlock helper '[name]' couldn't find what it wanted at: X:[x] Y:[y] Z:[z]") + else if(!my_controller) + to_world("WARNING:Airlock helper '[name]' couldn't find a controller at: X:[x] Y:[y] Z:[z]") + else if(!my_controller.id_tag) + to_world("WARNING:Airlock helper '[name]' found a controller without an 'id_tag' set: X:[x] Y:[y] Z:[z]") + else + setup() + return INITIALIZE_HINT_QDEL + +/obj/effect/map_helper/airlock/Destroy() + my_controller = null + my_device = null + return ..() + +/obj/effect/map_helper/airlock/proc/get_controller(var/area/A) + if(!A) + return null + + var/list/potentials = list() + for(var/obj/O in A) + if(istype(O, my_controller_type)) + potentials += O + + //Couldn't find one + if(!potentials.len) + return null + + //Only found one + if(potentials.len == 1) + return potentials[1] + + //Gotta find closest + var/closest = potentials[potentials.len] + var/closest_dist = get_dist(src, closest) + potentials.len-- + while(potentials.len) + var/C = potentials[potentials.len] + potentials.len-- + var/dist = get_dist(src, C) + if(dist < closest_dist) + closest_dist = dist + closest = C + + return closest + +/obj/effect/map_helper/airlock/proc/setup() + return //Stub for subtypes + + +/* + Doors +*/ +/obj/effect/map_helper/airlock/door + name = "use a subtype! - airlock door" + my_device_type = /obj/machinery/door/airlock + +/obj/effect/map_helper/airlock/door/setup() + var/obj/machinery/door/airlock/my_airlock = my_device + my_airlock.lock() + my_airlock.id_tag = my_controller.id_tag + tag_addon + my_airlock.frequency = my_controller.frequency + my_airlock.set_frequency(my_controller.frequency) + +/obj/effect/map_helper/airlock/door/ext_door + name = "exterior airlock door" + icon_state = "doorout" + tag_addon = "_outer" + +/obj/effect/map_helper/airlock/door/int_door + name = "interior airlock door" + icon_state = "doorin" + tag_addon = "_inner" + +/obj/effect/map_helper/airlock/door/simple + name = "simple docking controller hatch" + icon_state = "doorsimple" + tag_addon = "_hatch" + my_controller_type = /obj/machinery/embedded_controller/radio/simple_docking_controller + + +/* + Atmos +*/ +/obj/effect/map_helper/airlock/atmos + name = "use a subtype! - airlock pump" + my_device_type = /obj/machinery/atmospherics/unary/vent_pump + +/obj/effect/map_helper/airlock/atmos/setup() + var/obj/machinery/atmospherics/unary/vent_pump/my_pump = my_device + my_pump.frequency = my_controller.frequency //Unlike doors, these set up their radios in atmos init, so they won't have gone before us. + my_pump.id_tag = my_controller.id_tag + tag_addon + +/obj/effect/map_helper/airlock/atmos/chamber_pump + name = "chamber pump" + icon_state = "pump" + tag_addon = "_pump" + +/obj/effect/map_helper/airlock/atmos/pump_out_internal + name = "air dump intake" + icon_state = "pumpdin" + tag_addon = "_pump_out_internal" + +/obj/effect/map_helper/airlock/atmos/pump_out_external + name = "air dump output" + icon_state = "pumpdout" + tag_addon = "_pump_out_external" + + +/* + Sensors - did you know they function as buttons? You don't also need a button. +*/ +/obj/effect/map_helper/airlock/sensor + name = "use a subtype! - airlock sensor" + my_device_type = /obj/machinery/airlock_sensor + var/command + +/obj/effect/map_helper/airlock/sensor/setup() + var/obj/machinery/airlock_sensor/my_sensor = my_device + my_sensor.id_tag = my_controller.id_tag + tag_addon + my_sensor.frequency = my_controller.frequency + my_sensor.set_frequency(my_controller.frequency) + if(command) + my_sensor.command = command + +/obj/effect/map_helper/airlock/sensor/ext_sensor + name = "exterior sensor" + icon_state = "sensout" + tag_addon = "_exterior_sensor" + command = "cycle_exterior" + +/obj/effect/map_helper/airlock/sensor/chamber_sensor + name = "chamber sensor" + icon_state = "sens" + tag_addon = "_sensor" + command = "cycle" + +/obj/effect/map_helper/airlock/sensor/int_sensor + name = "interior sensor" + icon_state = "sensin" + tag_addon = "_interior_sensor" + command = "cycle_interior" + +/* + Buttons +*/ + +/obj/effect/map_helper/airlock/buttons + name = "Just use a sensor instead. They are actually buttons." diff --git a/code/game/machinery/embedded_controller/simple_docking_controller.dm b/code/game/machinery/embedded_controller/simple_docking_controller.dm index 14b27b2512..d2e04a3330 100644 --- a/code/game/machinery/embedded_controller/simple_docking_controller.dm +++ b/code/game/machinery/embedded_controller/simple_docking_controller.dm @@ -1,16 +1,12 @@ //a docking port that uses a single door /obj/machinery/embedded_controller/radio/simple_docking_controller name = "docking hatch controller" + program = /datum/computer/file/embedded_program/docking/simple var/tag_door - var/datum/computer/file/embedded_program/docking/simple/docking_program - -/obj/machinery/embedded_controller/radio/simple_docking_controller/Initialize() - . = ..() - docking_program = new/datum/computer/file/embedded_program/docking/simple(src) - program = docking_program /obj/machinery/embedded_controller/radio/simple_docking_controller/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] + var/datum/computer/file/embedded_program/docking/simple/docking_program = program // Cast to proper type data = list( "docking_status" = docking_program.get_docking_status(), @@ -28,11 +24,8 @@ ui.set_auto_update(1) /obj/machinery/embedded_controller/radio/simple_docking_controller/Topic(href, href_list) - if(..()) - return 1 - - usr.set_machine(src) - src.add_fingerprint(usr) + if((. = ..())) + return var/clean = 0 switch(href_list["command"]) //anti-HTML-hacking checks @@ -44,8 +37,7 @@ if(clean) program.receive_user_command(href_list["command"]) - return 0 - + return //A docking controller program for a simple door based docking port /datum/computer/file/embedded_program/docking/simple @@ -76,6 +68,7 @@ ..(signal, receive_method, receive_param) /datum/computer/file/embedded_program/docking/simple/receive_user_command(command) + . = TRUE switch(command) if("force_door") if (override_enabled) @@ -88,7 +81,8 @@ disable_override() else enable_override() - + else + . = FALSE /datum/computer/file/embedded_program/docking/simple/proc/signal_door(var/command) var/datum/signal/signal = new diff --git a/code/game/machinery/fire_alarm.dm b/code/game/machinery/fire_alarm.dm new file mode 100644 index 0000000000..82237b32ea --- /dev/null +++ b/code/game/machinery/fire_alarm.dm @@ -0,0 +1,324 @@ +/* +FIRE ALARM +*/ +/obj/machinery/firealarm + name = "fire alarm" + desc = "\"Pull this in case of emergency\". Thus, keep pulling it forever." + icon = 'icons/obj/monitors.dmi' + icon_state = "fire0" + plane = TURF_PLANE + layer = ABOVE_TURF_LAYER + var/detecting = 1.0 + var/working = 1.0 + var/time = 10.0 + var/timing = 0.0 + var/lockdownbyai = 0 + anchored = 1.0 + use_power = USE_POWER_IDLE + idle_power_usage = 2 + active_power_usage = 6 + power_channel = ENVIRON + var/last_process = 0 + panel_open = 0 + var/seclevel + circuit = /obj/item/weapon/circuitboard/firealarm + var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles + +/obj/machinery/firealarm/alarms_hidden + alarms_hidden = TRUE + +/obj/machinery/firealarm/Initialize() + . = ..() + if(z in using_map.contact_levels) + set_security_level(security_level ? get_security_level() : "green") + +/obj/machinery/firealarm/update_icon() + cut_overlays() + + if(panel_open) + set_light(0) + return + + if(stat & BROKEN) + icon_state = "firex" + set_light(0) + else if(stat & NOPOWER) + icon_state = "firep" + set_light(0) + else + if(!detecting) + icon_state = "fire1" + set_light(l_range = 4, l_power = 0.9, l_color = "#ff0000") + else + icon_state = "fire0" + switch(seclevel) + if("green") set_light(l_range = 2, l_power = 0.25, l_color = "#00ff00") + if("yellow") set_light(l_range = 2, l_power = 0.25, l_color = "#ffff00") + if("violet") set_light(l_range = 2, l_power = 0.25, l_color = "#9933ff") + if("orange") set_light(l_range = 2, l_power = 0.25, l_color = "#ff9900") + if("blue") set_light(l_range = 2, l_power = 0.25, l_color = "#1024A9") + if("red") set_light(l_range = 4, l_power = 0.9, l_color = "#ff0000") + if("delta") set_light(l_range = 4, l_power = 0.9, l_color = "#FF6633") + add_overlay("overlay_[seclevel]") + +/obj/machinery/firealarm/fire_act(datum/gas_mixture/air, temperature, volume) + if(detecting) + if(temperature > T0C + 200) + alarm() // added check of detector status here + return + +/obj/machinery/firealarm/attack_ai(mob/user as mob) + return attack_hand(user) + +/obj/machinery/firealarm/bullet_act() + return alarm() + +/obj/machinery/firealarm/emp_act(severity) + if(prob(50 / severity)) + alarm(rand(30 / severity, 60 / severity)) + ..() + +/obj/machinery/firealarm/attackby(obj/item/W as obj, mob/user as mob) + add_fingerprint(user) + + if(alarm_deconstruction_screwdriver(user, W)) + return + if(alarm_deconstruction_wirecutters(user, W)) + return + + if(panel_open) + if(istype(W, /obj/item/device/multitool)) + detecting = !(detecting) + if(detecting) + user.visible_message("\The [user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.") + else + user.visible_message("\The [user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.") + return + + alarm() + return + +/obj/machinery/firealarm/process()//Note: this processing was mostly phased out due to other code, and only runs when needed + if(stat & (NOPOWER|BROKEN)) + return + + if(timing) + if(time > 0) + time = time - ((world.timeofday - last_process) / 10) + else + alarm() + time = 0 + timing = 0 + STOP_PROCESSING(SSobj, src) + updateDialog() + last_process = world.timeofday + + if(locate(/obj/fire) in src.loc) + alarm() + + return + +/obj/machinery/firealarm/power_change() + ..() + spawn(rand(0,15)) + update_icon() + +/obj/machinery/firealarm/attack_hand(mob/user as mob) + if(user.stat || stat & (NOPOWER | BROKEN)) + return + + user.set_machine(src) + var/area/A = src.loc + var/d1 + var/d2 + if(istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon)) + A = A.loc + + if(A.fire) + d1 = text("Reset - Lockdown", src) + else + d1 = text("Alarm - Lockdown", src) + if(timing) + d2 = text("Stop Time Lock", src) + else + d2 = text("Initiate Time Lock", src) + var/second = round(time) % 60 + var/minute = (round(time) - second) / 60 + var/dat = "Fire alarm [d1]\n
The current alert level is: [get_security_level()]

\nTimer System: [d2]
\nTime Left: [(minute ? "[minute]:" : null)][second] - - + +\n
" + user << browse(dat, "window=firealarm") + onclose(user, "firealarm") + else + A = A.loc + if(A.fire) + d1 = text("[]", src, stars("Reset - Lockdown")) + else + d1 = text("[]", src, stars("Alarm - Lockdown")) + if(timing) + d2 = text("[]", src, stars("Stop Time Lock")) + else + d2 = text("[]", src, stars("Initiate Time Lock")) + var/second = round(time) % 60 + var/minute = (round(time) - second) / 60 + var/dat = "[stars("Fire alarm")] [d1]\n
The current alert level is: [stars(get_security_level())]

\nTimer System: [d2]
\nTime Left: [(minute ? text("[]:", minute) : null)][second] - - + +\n
" + user << browse(dat, "window=firealarm") + onclose(user, "firealarm") + return + +/obj/machinery/firealarm/Topic(href, href_list) + ..() + if(usr.stat || stat & (BROKEN | NOPOWER)) + return + + if((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) + usr.set_machine(src) + if(href_list["reset"]) + reset() + else if(href_list["alarm"]) + alarm() + else if(href_list["time"]) + timing = text2num(href_list["time"]) + last_process = world.timeofday + START_PROCESSING(SSobj, src) + else if(href_list["tp"]) + var/tp = text2num(href_list["tp"]) + time += tp + time = min(max(round(time), 0), 120) + + updateUsrDialog() + + add_fingerprint(usr) + else + usr << browse(null, "window=firealarm") + return + return + +/obj/machinery/firealarm/proc/reset() + if(!(working)) + return + var/area/area = get_area(src) + for(var/obj/machinery/firealarm/FA in area) + fire_alarm.clearAlarm(src.loc, FA) + update_icon() + return + +/obj/machinery/firealarm/proc/alarm(var/duration = 0) + if(!(working)) + return + var/area/area = get_area(src) + for(var/obj/machinery/firealarm/FA in area) + fire_alarm.triggerAlarm(loc, FA, duration, hidden = alarms_hidden) + update_icon() + playsound(src.loc, 'sound/machines/airalarm.ogg', 25, 0, 4) + return + +/obj/machinery/firealarm/proc/set_security_level(var/newlevel) + if(seclevel != newlevel) + seclevel = newlevel + update_icon() + +/* +FIRE ALARM CIRCUIT +Just a object used in constructing fire alarms + +/obj/item/weapon/firealarm_electronics + name = "fire alarm electronics" + icon = 'icons/obj/doors/door_assembly.dmi' + icon_state = "door_electronics" + desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\"" + w_class = ITEMSIZE_SMALL + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) +*/ +/obj/machinery/partyalarm + name = "\improper PARTY BUTTON" + desc = "Cuban Pete is in the house!" + icon = 'icons/obj/monitors.dmi' + icon_state = "fire0" + var/detecting = 1.0 + var/working = 1.0 + var/time = 10.0 + var/timing = 0.0 + var/lockdownbyai = 0 + anchored = 1.0 + use_power = USE_POWER_IDLE + idle_power_usage = 2 + active_power_usage = 6 + +/obj/machinery/partyalarm/attack_hand(mob/user as mob) + if(user.stat || stat & (NOPOWER|BROKEN)) + return + + user.machine = src + var/area/A = get_area(src) + ASSERT(isarea(A)) + var/d1 + var/d2 + if(istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai)) + + if(A.party) + d1 = text("No Party :(", src) + else + d1 = text("PARTY!!!", src) + if(timing) + d2 = text("Stop Time Lock", src) + else + d2 = text("Initiate Time Lock", src) + var/second = time % 60 + var/minute = (time - second) / 60 + var/dat = text("Party Button []\n
\nTimer System: []
\nTime Left: [][] - - + +\n
", d1, d2, (minute ? text("[]:", minute) : null), second, src, src, src, src) + user << browse(dat, "window=partyalarm") + onclose(user, "partyalarm") + else + if(A.fire) + d1 = text("[]", src, stars("No Party :(")) + else + d1 = text("[]", src, stars("PARTY!!!")) + if(timing) + d2 = text("[]", src, stars("Stop Time Lock")) + else + d2 = text("[]", src, stars("Initiate Time Lock")) + var/second = time % 60 + var/minute = (time - second) / 60 + var/dat = text("[] []\n
\nTimer System: []
\nTime Left: [][] - - + +\n
", stars("Party Button"), d1, d2, (minute ? text("[]:", minute) : null), second, src, src, src, src) + user << browse(dat, "window=partyalarm") + onclose(user, "partyalarm") + return + +/obj/machinery/partyalarm/proc/reset() + if(!(working)) + return + var/area/A = get_area(src) + ASSERT(isarea(A)) + A.partyreset() + return + +/obj/machinery/partyalarm/proc/alarm() + if(!(working)) + return + var/area/A = get_area(src) + ASSERT(isarea(A)) + A.partyalert() + return + +/obj/machinery/partyalarm/Topic(href, href_list) + ..() + if(usr.stat || stat & (BROKEN|NOPOWER)) + return + if((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) + usr.machine = src + if(href_list["reset"]) + reset() + else if(href_list["alarm"]) + alarm() + else if(href_list["time"]) + timing = text2num(href_list["time"]) + else if(href_list["tp"]) + var/tp = text2num(href_list["tp"]) + time += tp + time = min(max(round(time), 0), 120) + updateUsrDialog() + + add_fingerprint(usr) + else + usr << browse(null, "window=partyalarm") + return + return diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 169bc8c6d7..572977ceb4 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -11,7 +11,7 @@ var/strength = 10 //How weakened targets are when flashed. var/base_state = "mflash" anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 flags = PROXMOVE diff --git a/code/game/machinery/floor_light.dm b/code/game/machinery/floor_light.dm index 59dca1966e..11f5fc26fd 100644 --- a/code/game/machinery/floor_light.dm +++ b/code/game/machinery/floor_light.dm @@ -7,7 +7,7 @@ var/list/floor_light_cache = list() desc = "A backlit floor panel." layer = TURF_LAYER+0.001 anchored = 0 - use_power = 2 + use_power = USE_POWER_ACTIVE idle_power_usage = 2 active_power_usage = 20 power_channel = LIGHT @@ -72,7 +72,7 @@ var/list/floor_light_cache = list() return on = !on - if(on) use_power = 2 + if(on) update_use_power(USE_POWER_ACTIVE) //visible_message("\The [user] turns \the [src] [on ? "on" : "off"].") //VOREStation Edit - No thankouuuu. Too spammy. update_brightness() return @@ -81,21 +81,21 @@ var/list/floor_light_cache = list() ..() var/need_update if((!anchored || broken()) && on) - use_power = 0 + update_use_power(USE_POWER_OFF) on = 0 need_update = 1 else if(use_power && !on) - use_power = 0 + update_use_power(USE_POWER_OFF) need_update = 1 if(need_update) update_brightness() /obj/machinery/floor_light/proc/update_brightness() - if(on && use_power == 2) + if(on && use_power == USE_POWER_ACTIVE) if(light_range != default_light_range || light_power != default_light_power || light_color != default_light_colour) set_light(default_light_range, default_light_power, default_light_colour) else - use_power = 0 + update_use_power(USE_POWER_OFF) if(light_range || light_power) set_light(0) diff --git a/code/game/machinery/frame.dm b/code/game/machinery/frame.dm index 924f6d48ea..330f0ee796 100644 --- a/code/game/machinery/frame.dm +++ b/code/game/machinery/frame.dm @@ -33,10 +33,12 @@ /datum/frame/frame_types/computer name = "Computer" + icon_override = 'icons/obj/stock_parts_vr.dmi' //VOREStation Edit frame_class = FRAME_CLASS_COMPUTER /datum/frame/frame_types/machine name = "Machine" + icon_override = 'icons/obj/stock_parts_vr.dmi' //VOREStation Edit frame_class = FRAME_CLASS_MACHINE /datum/frame/frame_types/conveyor @@ -156,6 +158,7 @@ /datum/frame/frame_types/air_alarm name = "Air Alarm" + icon_override = 'icons/obj/monitors_vr.dmi' //VOREStation Edit - Matching frame. frame_class = FRAME_CLASS_ALARM frame_size = 2 frame_style = FRAME_STYLE_WALL diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 1d7308f56e..4fec2cba82 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -39,7 +39,7 @@ var/const/HOLOPAD_MODE = RANGE_BASED layer = ABOVE_TURF_LAYER var/power_per_hologram = 500 //per usage per hologram idle_power_usage = 5 - use_power = 1 + use_power = USE_POWER_IDLE var/list/mob/living/silicon/ai/masters = new() //List of AIs that use the holopad var/last_request = 0 //to prevent request spam. ~Carn var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating. @@ -196,7 +196,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ /obj/machinery/hologram anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 5 active_power_usage = 100 diff --git a/code/game/machinery/holosign.dm b/code/game/machinery/holosign.dm index 9a656ac3be..7a3cd8c861 100644 --- a/code/game/machinery/holosign.dm +++ b/code/game/machinery/holosign.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/holosign.dmi' icon_state = "sign_off" plane = MOB_PLANE - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 4 anchored = 1 @@ -19,7 +19,7 @@ if(stat & (BROKEN|NOPOWER)) return lit = !lit - use_power = lit ? 2 : 1 + update_use_power(lit ? USE_POWER_ACTIVE : USE_POWER_IDLE) update_icon() /obj/machinery/holosign/update_icon() @@ -34,7 +34,7 @@ ..() if(stat & NOPOWER) lit = 0 - use_power = 0 + update_use_power(USE_POWER_OFF) update_icon() diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 5cb521d423..ee887db2f5 100755 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -6,7 +6,7 @@ var/id = null var/on = 1.0 anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 4 @@ -53,7 +53,7 @@ var/last_spark = 0 var/base_state = "migniter" anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 4 diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index a9e5d7c154..a0ef0503fd 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -17,10 +17,11 @@ anchored = 1 density = 1 power_channel = EQUIP - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 100 circuit = /obj/item/weapon/circuitboard/jukebox + clicksound = 'sound/machines/buttonbeep.ogg' // Vars for hacking var/datum/wires/jukebox/wires = null @@ -320,7 +321,7 @@ /obj/machinery/media/jukebox/proc/StopPlaying() playing = 0 - update_use_power(1) + update_use_power(USE_POWER_IDLE) update_icon() start_stop_song() @@ -328,7 +329,7 @@ if(!current_track) return playing = 1 - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) update_icon() start_stop_song() updateDialog() diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 2a1a7f6e89..afa853c41a 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/power_vr.dmi' // VOREStation Edit icon_state = "light1" anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 power_channel = LIGHT var/on = 1 @@ -15,19 +15,24 @@ var/otherarea = null var/image/overlay -/obj/machinery/light_switch/New() - ..() - spawn(5) - area = get_area(src) +/obj/machinery/light_switch/Initialize() + . = ..() - if(otherarea) - area = locate(text2path("/area/[otherarea]")) + area = get_area(src) - if(!name) - name = "light switch ([area.name])" + if(otherarea) + area = locate(text2path("/area/[otherarea]")) - on = area.lightswitch - updateicon() + if(!name) + name = "light switch ([area.name])" + + on = area.lightswitch + updateicon() + +/obj/machinery/light_switch/Destroy() + area = null + overlay = null + return ..() /obj/machinery/light_switch/proc/updateicon() if(!overlay) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index d7f4b8f581..9f3132207f 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -101,7 +101,7 @@ Class Procs: var/stat = 0 var/emagged = 0 - var/use_power = 1 + var/use_power = USE_POWER_IDLE //0 = dont run the auto //1 = run auto, use idle //2 = run auto, use active @@ -123,7 +123,7 @@ Class Procs: ..(l) if(d) set_dir(d) - if(circuit) + if(ispath(circuit)) circuit = new circuit(src) /obj/machinery/Initialize() @@ -199,9 +199,9 @@ Class Procs: /obj/machinery/proc/auto_use_power() if(!powered(power_channel)) return 0 - if(use_power == 1) + if(use_power == USE_POWER_IDLE) use_power(idle_power_usage, power_channel, 1) - else if(use_power >= 2) + else if(use_power >= USE_POWER_ACTIVE) use_power(active_power_usage, power_channel, 1) return 1 diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index 9f97ab0360..9d36b08202 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -11,7 +11,7 @@ desc = "A device that uses station power to create points of magnetic energy." plane = PLATING_PLANE anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 50 var/freq = 1449 // radio frequency @@ -142,10 +142,10 @@ // Update power usage: if(on) - use_power = 2 + update_use_power(USE_POWER_ACTIVE) active_power_usage = electricity_level*15 else - use_power = 0 + update_use_power(USE_POWER_OFF) // Overload conditions: /* // Eeeehhh kinda stupid @@ -190,7 +190,7 @@ icon_state = "airlock_control_standby" density = 1 anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 45 var/frequency = 1449 var/code = 0 diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index 1d13a36c3a..7c184c27de 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -6,7 +6,7 @@ icon = 'icons/obj/stationobjs.dmi' icon_state = "mass_driver" anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 50 circuit = /obj/item/weapon/circuitboard/mass_driver diff --git a/code/game/machinery/neonsign.dm b/code/game/machinery/neonsign.dm index fe5d5370a8..bdaa3b62fd 100644 --- a/code/game/machinery/neonsign.dm +++ b/code/game/machinery/neonsign.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/neonsigns.dmi' icon_state = "sign_off" plane = MOB_PLANE - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 4 anchored = 1 @@ -19,7 +19,7 @@ if(stat & (BROKEN|NOPOWER)) return lit = !lit - use_power = lit ? 2 : 1 + update_use_power(lit ? USE_POWER_ACTIVE : USE_POWER_IDLE) update_icon() /obj/machinery/neonsign/update_icon() @@ -34,7 +34,7 @@ ..() if(stat & NOPOWER) lit = 0 - use_power = 0 + update_use_power(USE_POWER_OFF) update_icon() diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 34381cb3c0..883a963fa2 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -120,8 +120,7 @@ var/datum/feed_network/news_network = new /datum/feed_network //The global news-network, which is coincidentally a global list. -var/list/obj/machinery/newscaster/allCasters = list() //Global list that will contain reference to all newscasters in existence. - +GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) /obj/machinery/newscaster name = "newscaster" desc = "A standard newsfeed handler for use on commercial space stations. All the news you absolutely have no use for, in one place!" @@ -151,7 +150,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co var/securityCaster = 0 // 0 = Caster cannot be used to issue wanted posters // 1 = the opposite - var/unit_no = 0 //Each newscaster has a unit number + var/static/unit_no_cur = 0 //Each newscaster has a unit number + var/unit_no //var/datum/feed_message/wanted //We're gonna use a feed_message to store data of the wanted person because fields are similar //var/wanted_issue = 0 //OBSOLETE // 0 = there's no WANTED issued, we don't need a special icon_state @@ -176,19 +176,21 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co name = "Security Newscaster" securityCaster = 1 -/obj/machinery/newscaster/New() //Constructor, ho~ +/obj/machinery/newscaster/Initialize() + ..() //Not returning . because lateload below allCasters += src - paper_remaining = 15 // Will probably change this to something better - for(var/obj/machinery/newscaster/NEWSCASTER in allCasters) // Let's give it an appropriate unit number - unit_no++ - update_icon() //for any custom ones on the map... - spawn(10) //Should be enough time for the node to spawn at tcomms. - node = get_exonet_node() - ..() //I just realised the newscasters weren't in the global machines list. The superconstructor call will tend to that + unit_no = ++unit_no_cur + paper_remaining = 15 + update_icon() + return INITIALIZE_HINT_LATELOAD + +/obj/machinery/newscaster/LateInitialize() + node = get_exonet_node() /obj/machinery/newscaster/Destroy() allCasters -= src - ..() + node = null + return ..() /obj/machinery/newscaster/update_icon() if(!ispowered || isbroken) @@ -325,11 +327,11 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co if(6) dat+="ERROR: Could not submit Feed story to Network.

" if(channel_name=="") - dat+="•Invalid receiving channel name.
" + dat+="•Invalid receiving channel name.
" if(scanned_user=="Unknown") - dat+="•Channel author unverified.
" + dat+="•Channel author unverified.
" if(msg == "" || msg == "\[REDACTED\]") - dat+="•Invalid message body.
" + dat+="•Invalid message body.
" dat+="
Return
" if(7) @@ -341,18 +343,18 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co else existing_authors += FC.author if(scanned_user in existing_authors) - dat+="•There already exists a Feed channel under your name.
" + dat+="•There already exists a Feed channel under your name.
" if(channel_name=="" || channel_name == "\[REDACTED\]") - dat+="•Invalid channel name.
" + dat+="•Invalid channel name.
" var/check = 0 for(var/datum/feed_channel/FC in news_network.network_channels) if(FC.channel_name == channel_name) check = 1 break if(check) - dat+="•Channel name already in use.
" + dat+="•Channel name already in use.
" if(scanned_user=="Unknown") - dat+="•Channel author unverified.
" + dat+="•Channel author unverified.
" dat+="
Return
" if(8) var/total_num=length(news_network.network_channels) @@ -466,11 +468,11 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co if(16) dat+="ERROR: Wanted Issue rejected by Network.

" if(channel_name=="" || channel_name == "\[REDACTED\]") - dat+="•Invalid name for person wanted.
" + dat+="•Invalid name for person wanted.
" if(scanned_user=="Unknown") - dat+="•Issue author unverified.
" + dat+="•Issue author unverified.
" if(msg == "" || msg == "\[REDACTED\]") - dat+="•Invalid description.
" + dat+="•Invalid description.
" dat+="
Return
" if(17) dat+="Wanted Issue successfully deleted from Circulation
" @@ -807,6 +809,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co var/datum/feed_message/important_message = null var/scribble="" var/scribble_page = null + drop_sound = 'sound/items/drop/wrapper.ogg' obj/item/weapon/newspaper/attack_self(mob/user as mob) if(ishuman(user)) @@ -816,7 +819,7 @@ obj/item/weapon/newspaper/attack_self(mob/user as mob) switch(screen) if(0) //Cover dat+="
The Griffon
" - dat+="
[using_map.company_name]-standard newspaper, for use on [using_map.company_name]© Space Facilities

" + dat+="
[using_map.company_name]-standard newspaper, for use on [using_map.company_name]© Space Facilities

" if(isemptylist(news_content)) if(important_message) dat+="Contents:
" diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm index f32e57b9b1..8d6a55b3fd 100644 --- a/code/game/machinery/nuclear_bomb.dm +++ b/code/game/machinery/nuclear_bomb.dm @@ -23,7 +23,7 @@ var/bomb_set var/timing_wire var/removal_stage = 0 // 0 is no removal, 1 is covers removed, 2 is covers open, // 3 is sealant open, 4 is unwrenched, 5 is removed from bolts. - use_power = 0 + use_power = USE_POWER_OFF /obj/machinery/nuclearbomb/New() ..() diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm index 9378cc2f92..10c96a6b6a 100644 --- a/code/game/machinery/oxygen_pump.dm +++ b/code/game/machinery/oxygen_pump.dm @@ -73,7 +73,7 @@ if(breather.internals) breather.internals.icon_state = "internal0" breather = null - use_power = 1 + update_use_power(USE_POWER_IDLE) /obj/machinery/oxygen_pump/attack_ai(mob/user as mob) ui_interact(user) @@ -90,7 +90,7 @@ breather.internal = tank if(breather.internals) breather.internals.icon_state = "internal1" - use_power = 2 + update_use_power(USE_POWER_ACTIVE) /obj/machinery/oxygen_pump/proc/can_apply_to_target(var/mob/living/carbon/human/target, mob/user as mob) if(!user) @@ -162,7 +162,7 @@ contained.forceMove(src) src.visible_message("\The [contained] rapidly retracts back into \the [src]!") breather = null - use_power = 1 + update_use_power(USE_POWER_IDLE) else if(!breather.internal && tank) breather.internal = tank if(breather.internals) @@ -287,16 +287,29 @@ contained.forceMove(src) src.visible_message("\The [contained] rapidly retracts back into \the [src]!") breather = null - use_power = 1 + update_use_power(USE_POWER_IDLE) else if(!breather.internal && tank) breather.internal = tank if(breather.internals) breather.internals.icon_state = "internal0" if(breather) // Safety. - if(ishuman(breather)) + if(ishuman(breather) && !(breather.isSynthetic())) var/mob/living/carbon/human/H = breather + if(H.internal_organs_by_name[O_LUNGS]) + var/obj/item/organ/internal/L = H.internal_organs_by_name[O_LUNGS] + if(L) + if(!(L.status & ORGAN_DEAD)) + H.adjustOxyLoss(-(rand(10,15))) + + if(L.is_bruised() && prob(30)) + L.take_damage(-1) + else + H.AdjustLosebreath(-(rand(1, 5))) + else + H.adjustOxyLoss(-(rand(1,8))) + if(H.stat == DEAD) H.add_modifier(/datum/modifier/bloodpump_corpse, 6 SECONDS) diff --git a/code/game/machinery/partslathe_vr.dm b/code/game/machinery/partslathe_vr.dm index ce4fa5b86c..7763e28f1a 100644 --- a/code/game/machinery/partslathe_vr.dm +++ b/code/game/machinery/partslathe_vr.dm @@ -23,7 +23,7 @@ circuit = /obj/item/weapon/circuitboard/partslathe anchored = 1 density = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 30 active_power_usage = 5000 @@ -155,7 +155,7 @@ var/datum/category_item/partslathe/D = queue[1] if(canBuild(D)) busy = 1 - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) progress += speed if(progress >= D.time) build(D) @@ -165,7 +165,7 @@ else if(busy) visible_message("\icon [src] flashes: insufficient materials: [getLackingMaterials(D)].") busy = 0 - update_use_power(1) + update_use_power(USE_POWER_IDLE) update_icon() playsound(src.loc, 'sound/machines/chime.ogg', 50, 0) diff --git a/code/game/machinery/pda_multicaster.dm b/code/game/machinery/pda_multicaster.dm index 3388de0c31..aab6a31ded 100644 --- a/code/game/machinery/pda_multicaster.dm +++ b/code/game/machinery/pda_multicaster.dm @@ -6,7 +6,7 @@ density = 1 anchored = 1 circuit = /obj/item/weapon/circuitboard/telecomms/pda_multicaster - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 750 var/on = 1 // If we're currently active, var/toggle = 1 // If we /should/ be active or not, diff --git a/code/game/machinery/pointdefense.dm b/code/game/machinery/pointdefense.dm new file mode 100644 index 0000000000..97bde089cd --- /dev/null +++ b/code/game/machinery/pointdefense.dm @@ -0,0 +1,341 @@ +// +// Control computer for point defense batteries. +// Handles control UI, but also coordinates their fire to avoid overkill. +// + +GLOBAL_LIST_BOILERPLATE(pointdefense_controllers, /obj/machinery/pointdefense_control) +GLOBAL_LIST_BOILERPLATE(pointdefense_turrets, /obj/machinery/pointdefense) + +/obj/machinery/pointdefense_control + name = "fire assist mainframe" + desc = "A specialized computer designed to synchronize a variety of weapon systems and a vessel's astronav data." + icon = 'icons/obj/pointdefense.dmi' + icon_state = "control" + density = TRUE + anchored = TRUE + circuit = /obj/item/weapon/circuitboard/pointdefense_control + var/list/targets = list() // Targets being engaged by associated batteries + var/ui_template = "pointdefense_control.tmpl" + var/id_tag = null + +/obj/machinery/pointdefense_control/Initialize(mapload) + . = ..() + if(id_tag) + //No more than 1 controller please. + for(var/thing in pointdefense_controllers) + var/obj/machinery/pointdefense_control/PC = thing + if(PC != src && PC.id_tag == id_tag) + warning("Two [src] with the same id_tag of [id_tag]") + id_tag = null + // TODO - Remove this bit once machines are converted to Initialize + if(ispath(circuit)) + circuit = new circuit(src) + default_apply_parts() + +/obj/machinery/pointdefense_control/get_description_interaction() + . = ..() + if(!id_tag) + . += "[desc_panel_image("multitool")]to set ident tag" + +/obj/machinery/pointdefense_control/ui_interact(var/mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + if(ui_template) + var/list/data = build_ui_data() + ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, ui_template, name, 400, 600) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/obj/machinery/pointdefense_control/attack_hand(mob/user) + if((. = ..())) + return + if(CanUseTopic(user, global.default_state) > STATUS_CLOSE) + ui_interact(user) + return TRUE + +/obj/machinery/pointdefense_control/Topic(var/mob/user, var/href_list) + if((. = ..())) + return + + if(href_list["toggle_active"]) + var/obj/machinery/pointdefense/PD = locate(href_list["toggle_active"]) + if(!istype(PD)) + return TOPIC_NOACTION + + //if(!lan || !lan.is_connected(PD)) + if(PD.id_tag != id_tag) + return TOPIC_NOACTION + + if(!(get_z(PD) in GetConnectedZlevels(get_z(src)))) + to_chat(user, "[PD] is not within control range.") + return TOPIC_NOACTION + + if(!PD.Activate()) //Activate() whilst the device is active will return false. + PD.Deactivate() + return TOPIC_REFRESH + +/obj/machinery/pointdefense_control/proc/build_ui_data() + var/list/data = list() + data["id"] = id_tag + data["name"] = name + var/list/turrets = list() + if(id_tag) + var/list/connected_z_levels = GetConnectedZlevels(get_z(src)) + for(var/i = 1 to LAZYLEN(pointdefense_turrets)) + var/obj/machinery/pointdefense/PD = pointdefense_turrets[i] + if(!(PD.id_tag == id_tag && get_z(PD) in connected_z_levels)) + continue + var/list/turret = list() + turret["id"] = "#[i]" + turret["ref"] = "\ref[PD]" + turret["active"] = PD.active + turret["effective_range"] = PD.active ? "[PD.kill_range] meter\s" : "OFFLINE." + turret["reaction_wheel_delay"] = PD.active ? "[(PD.rotation_speed / (1 SECONDS))] second\s" : "OFFLINE." + turret["recharge_time"] = PD.active ? "[(PD.charge_cooldown / (1 SECONDS))] second\s" : "OFFLINE." + + turrets += list(turret) + + data["turrets"] = turrets + return data + +/obj/machinery/pointdefense_control/attackby(var/obj/item/W, var/mob/user) + if(W?.is_multitool()) + var/new_ident = input(user, "Enter a new ident tag.", "[src]", id_tag) as null|text + if(new_ident && new_ident != id_tag && user.Adjacent(src) && CanInteract(user, physical_state)) + // Check for duplicate controllers with this ID + for(var/thing in pointdefense_controllers) + var/obj/machinery/pointdefense_control/PC = thing + if(PC != src && PC.id_tag == id_tag) + to_chat(user, "The [new_ident] network already has a controller.") + return + to_chat(user, "You register [src] with the [new_ident] network.") + id_tag = new_ident + return + if(default_deconstruction_screwdriver(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return + if(default_part_replacement(user, W)) + return + return ..() + +// +// The acutal point defense battery +// + +/obj/machinery/pointdefense + name = "\improper point defense battery" + icon = 'icons/obj/pointdefense.dmi' + icon_state = "pointdefense" + desc = "A Kuiper pattern anti-meteor battery. Capable of destroying most threats in a single salvo." + description_info = "Must have the same ident tag as a fire assist mainframe on the same facility." + density = TRUE + anchored = TRUE + circuit = /obj/item/weapon/circuitboard/pointdefense + idle_power_usage = 0.1 KILOWATTS + appearance_flags = PIXEL_SCALE + var/active = TRUE + var/charge_cooldown = 1 SECOND //time between it can fire at different targets + var/last_shot = 0 + var/kill_range = 18 + var/rotation_speed = 0.25 SECONDS //How quickly we turn to face threats + var/engaging = FALSE + var/id_tag = null + +/obj/machinery/pointdefense/Initialize() + . = ..() + // TODO - Remove this bit once machines are converted to Initialize + if(ispath(circuit)) + circuit = new circuit(src) + default_apply_parts() + update_icon() + +/obj/machinery/pointdefense/get_description_interaction() + . = ..() + if(!id_tag) + . += "[desc_panel_image("multitool")]to set ident tag and connect to a mainframe." + +/obj/machinery/pointdefense/update_icon() + if(!active || !id_tag || inoperable()) + icon_state = "[initial(icon_state)]_off" + else + icon_state = initial(icon_state) + +/obj/machinery/pointdefense/power_change() + var/old_stat = stat + ..() + if(old_stat != stat) + update_icon() + +// Find controller with the same tag on connected z levels (if any) +/obj/machinery/pointdefense/proc/get_controller() + if(!id_tag) + return null + var/list/connected_z_levels = GetConnectedZlevels(get_z(src)) + for(var/thing in pointdefense_controllers) + var/obj/machinery/pointdefense_control/PDC = thing + if(PDC.id_tag == id_tag && (get_z(PDC) in connected_z_levels)) + return PDC + +/obj/machinery/pointdefense/attackby(var/obj/item/W, var/mob/user) + if(W?.is_multitool()) + var/new_ident = input(user, "Enter a new ident tag.", "[src]", id_tag) as null|text + if(new_ident && new_ident != id_tag && user.Adjacent(src) && CanInteract(user, physical_state)) + to_chat(user, "You register [src] with the [new_ident] network.") + id_tag = new_ident + return + if(default_deconstruction_screwdriver(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return + if(default_part_replacement(user, W)) + return + return ..() + +//Guns cannot shoot through hull or generally dense turfs. +/obj/machinery/pointdefense/proc/space_los(meteor) + for(var/turf/T in getline(src,meteor)) + if(T.density) + return FALSE + return TRUE + +/obj/machinery/pointdefense/proc/Shoot(var/weakref/target) + var/obj/effect/meteor/M = target.resolve() + if(!istype(M)) + return + engaging = TRUE + var/Angle = round(Get_Angle(src,M)) + var/matrix/rot_matrix = matrix() + rot_matrix.Turn(Angle) + addtimer(CALLBACK(src, .proc/finish_shot, target), rotation_speed) + animate(src, transform = rot_matrix, rotation_speed, easing = SINE_EASING) + + set_dir(ATAN2(transform.b, transform.a) > 0 ? NORTH : SOUTH) + +/obj/machinery/pointdefense/proc/finish_shot(var/weakref/target) + //Cleanup from list + var/obj/machinery/pointdefense_control/PC = get_controller() + if(istype(PC)) + PC.targets -= target + + engaging = FALSE + last_shot = world.time + var/obj/effect/meteor/M = target.resolve() + if(!istype(M)) + return + //We throw a laser but it doesnt have to hit for meteor to explode + var/obj/item/projectile/beam/pointdefense/beam = new(get_turf(src)) + playsound(src, 'sound/weapons/mandalorian.ogg', 75, 1) + use_power_oneoff(idle_power_usage * 10) + beam.launch_projectile(target = M.loc, user = src) + + M.make_debris() + qdel(M) + +/obj/machinery/pointdefense/process() + ..() + if(stat & (NOPOWER|BROKEN)) + return + if(!active) + return + var/desiredir = ATAN2(transform.b, transform.a) > 0 ? NORTH : SOUTH + if(dir != desiredir) + set_dir(desiredir) + if(LAZYLEN(GLOB.meteor_list) > 0) + find_and_shoot() + +/obj/machinery/pointdefense/proc/find_and_shoot() + if(LAZYLEN(GLOB.meteor_list) == 0) + return + if(engaging || ((world.time - last_shot) < charge_cooldown)) + return + + var/obj/machinery/pointdefense_control/PC = get_controller() + if(!istype(PC)) + return + + var/list/connected_z_levels = GetConnectedZlevels(get_z(src)) + for(var/obj/effect/meteor/M in GLOB.meteor_list) + var/already_targeted = FALSE + for(var/weakref/WR in PC.targets) + var/obj/effect/meteor/m = WR.resolve() + if(m == M) + already_targeted = TRUE + break + if(!istype(m)) + PC.targets -= WR + + if(already_targeted) + continue + + if(!(M.z in connected_z_levels)) + continue + if(get_dist(M, src) > kill_range) + continue + if(!emagged && space_los(M)) + var/weakref/target = weakref(M) + PC.targets += target + Shoot(target) + return + +/obj/machinery/pointdefense/RefreshParts() + . = ..() + // Calculates an average rating of components that affect shooting rate + var/shootrate_divisor = total_component_rating_of_type(/obj/item/weapon/stock_parts/capacitor) + + charge_cooldown = 2 SECONDS / (shootrate_divisor ? shootrate_divisor : 1) + + //Calculate max shooting range + var/killrange_multiplier = total_component_rating_of_type(/obj/item/weapon/stock_parts/capacitor) + killrange_multiplier += 1.5 * total_component_rating_of_type(/obj/item/weapon/stock_parts/scanning_module) + + kill_range = 10 + 4 * killrange_multiplier + + var/rotation_divisor = total_component_rating_of_type(/obj/item/weapon/stock_parts/manipulator) + rotation_speed = 0.5 SECONDS / (rotation_divisor ? rotation_divisor : 1) + +/obj/machinery/pointdefense/proc/Activate() + if(active) + return FALSE + + playsound(src, 'sound/weapons/flash.ogg', 100, 0) + update_use_power(USE_POWER_IDLE) + active = TRUE + update_icon() + return TRUE + +/obj/machinery/pointdefense/proc/Deactivate() + if(!active) + return FALSE + playsound(src, 'sound/machines/apc_nopower.ogg', 50, 0) + update_use_power(USE_POWER_OFF) + active = FALSE + update_icon() + return TRUE + +// +// Projectile Beam Definitions +// + +/obj/item/projectile/beam/pointdefense + name = "point defense salvo" + icon_state = "laser" + damage = 15 + damage_type = ELECTROCUTE //You should be safe inside a voidsuit + sharp = FALSE //"Wide" spectrum beam + light_color = COLOR_GOLD + + muzzle_type = /obj/effect/projectile/muzzle/pointdefense + tracer_type = /obj/effect/projectile/tracer/pointdefense + impact_type = /obj/effect/projectile/impact/pointdefense + + +/obj/effect/projectile/tracer/pointdefense + icon_state = "beam_pointdef" + +/obj/effect/projectile/muzzle/pointdefense + icon_state = "muzzle_pointdef" + +/obj/effect/projectile/impact/pointdefense + icon_state = "impact_pointdef" diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 9c29365ae4..0004949067 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -701,8 +701,21 @@ var/list/targets = list() //list of primary targets var/list/secondarytargets = list() //targets that are least important + var/list/seenturfs = list() + for(var/turf/T in oview(world.view, src)) + seenturfs += T + + for(var/mob in living_mob_list) + var/mob/M = mob + if(M.z != z) //Skip + continue + if(get_turf(M) in seenturfs) + assess_and_assign(mob, targets, secondarytargets) + + /* This was dumb. Why do this and then check line of sight later? for(var/mob/M in mobs_in_xray_view(world.view, src)) assess_and_assign(M, targets, secondarytargets) + */ if(!tryToShootAt(targets)) if(!tryToShootAt(secondarytargets)) // if no valid targets, go for secondary targets diff --git a/code/game/machinery/portable_turret_vr.dm b/code/game/machinery/portable_turret_vr.dm new file mode 100644 index 0000000000..c313ad27aa --- /dev/null +++ b/code/game/machinery/portable_turret_vr.dm @@ -0,0 +1,12 @@ +/obj/machinery/porta_turret/industrial/military + name = "military CIWS turret" + desc = "A ship-grade weapons turret designed for anti-fighter defense." + req_one_access = list(access_cent_general) + installation = /obj/item/weapon/gun/energy/lasercannon + health = 500 + maxhealth = 500 + enabled = TRUE + lethal = TRUE + check_weapons = TRUE + auto_repair = TRUE + can_salvage = FALSE diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index dd40090493..1312c0cc3b 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/stationobjs_vr.dmi' //VOREStation Edit icon_state = "recharger0" anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 4 active_power_usage = 40000 //40 kW var/efficiency = 40000 //will provide the modified power rate when upgraded @@ -117,12 +117,12 @@ /obj/machinery/recharger/process() if(stat & (NOPOWER|BROKEN) || !anchored) - update_use_power(0) + update_use_power(USE_POWER_OFF) icon_state = icon_state_idle return if(!charging) - update_use_power(1) + update_use_power(USE_POWER_IDLE) icon_state = icon_state_idle else var/obj/item/weapon/cell/C = charging.get_cell() @@ -130,21 +130,21 @@ if(!C.fully_charged()) icon_state = icon_state_charging C.give(CELLRATE*efficiency) - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) else icon_state = icon_state_charged - update_use_power(1) + update_use_power(USE_POWER_IDLE) //VOREStation Add - NSFW Batteries else if(istype(charging, /obj/item/ammo_casing/microbattery)) var/obj/item/ammo_casing/microbattery/batt = charging if(batt.shots_left >= initial(batt.shots_left)) icon_state = icon_state_charged - update_use_power(1) + update_use_power(USE_POWER_IDLE) else icon_state = icon_state_charging batt.shots_left++ - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) return //VOREStation Add End diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index f702f3cf25..3f60e0ae07 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -6,7 +6,7 @@ density = 1 anchored = 1 circuit = /obj/item/weapon/circuitboard/recharge_station - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 50 var/mob/occupant = null var/obj/item/weapon/cell/cell = null @@ -78,9 +78,9 @@ if(!has_cell_power()) return 0 - if(use_power == 1) + if(use_power == USE_POWER_IDLE) cell.use(idle_power_usage * CELLRATE) - else if(use_power >= 2) + else if(use_power >= USE_POWER_ACTIVE) cell.use(active_power_usage * CELLRATE) return 1 diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm index 7c5f8cafa0..5bbb4ac6be 100644 --- a/code/game/machinery/robot_fabricator.dm +++ b/code/game/machinery/robot_fabricator.dm @@ -7,7 +7,7 @@ var/metal_amount = 0 var/operating = 0 var/obj/item/robot_parts/being_built = null - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 40 active_power_usage = 10000 @@ -115,7 +115,7 @@ Please wait until completion...
if(!isnull(building)) if(metal_amount >= build_cost) operating = 1 - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) metal_amount = max(0, metal_amount - build_cost) @@ -128,7 +128,7 @@ Please wait until completion...
if(!isnull(being_built)) being_built.loc = get_turf(src) being_built = null - update_use_power(1) + update_use_power(USE_POWER_IDLE) operating = 0 overlays -= "fab-active" return diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index fa808ea051..f45872c2d8 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -10,6 +10,7 @@ var/on = 0 var/set_temperature = T0C + 20 //K var/heating_power = 40000 + clicksound = "switch" /obj/machinery/space_heater/New() ..() diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 1a019105b4..0780b5905a 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -17,7 +17,7 @@ name = "status display" anchored = 1 density = 0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 circuit = /obj/item/weapon/circuitboard/status_display var/mode = 1 // 0 = Blank @@ -181,6 +181,18 @@ if("delta") set_light(l_range = 4, l_power = 0.9, l_color = "#FF6633") set_picture("status_display_[seclevel]") +// Called when the alert level is changed. +/obj/machinery/status_display/proc/on_alert_changed(new_level) + // On most alerts, this will change to a flashing alert picture in a specific color. + // Doing that for green alert automatically doesn't really make sense, but it is still available on the comm consoles/PDAs. + if(seclevel2num(new_level) == SEC_LEVEL_GREEN) + mode = STATUS_DISPLAY_TIME + set_light(0) // Remove any glow we had from the alert previously. + update() + return + mode = STATUS_DISPLAY_ALERT + display_alert(new_level) + /obj/machinery/status_display/proc/set_picture(state) remove_display() if(!picture || picture_state != state) @@ -210,7 +222,7 @@ return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]" /obj/machinery/status_display/proc/get_supply_shuttle_timer() - var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if(!shuttle) return "Error" @@ -231,13 +243,16 @@ switch(signal.data["command"]) if("blank") mode = STATUS_DISPLAY_BLANK + set_light(0) if("shuttle") mode = STATUS_DISPLAY_TRANSFER_SHUTTLE_TIME + set_light(0) if("message") mode = STATUS_DISPLAY_MESSAGE set_message(signal.data["msg1"], signal.data["msg2"]) + set_light(0) if("alert") mode = STATUS_DISPLAY_ALERT @@ -245,6 +260,7 @@ if("time") mode = STATUS_DISPLAY_TIME + set_light(0) update() #undef CHARS_PER_LINE diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index accfb8d16a..305a096847 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -586,7 +586,7 @@ var/electrified = 0 //Departments that the cycler can paint suits to look like. - var/list/departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control","Exploration","Pilot Blue","Pilot") //VORESTATION EDIT + var/list/departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control") //Species that the suits can be configured to fit. var/list/species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_UNATHI,SPECIES_TAJ, SPECIES_TESHARI, "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Promethean", "Xenomorph Hybrid", "Xenochimera","Vasilissan", "Rapala", /*yawngreyedit*/SPECIES_GREY_YW) //VORESTATION EDIT @@ -1201,6 +1201,31 @@ suit.item_state = "rig-pilot2" suit.item_state_slots[slot_r_hand_str] = "sec_voidsuitTG" suit.item_state_slots[slot_l_hand_str] = "sec_voidsuitTG" + //VOREStation Addition Start + if("Director") + if(helmet) + helmet.name = "director voidsuit helmet" + helmet.icon_state = "capvoid" + helmet.item_state = "capvoid" + if(suit) + suit.name = "director voidsuit" + suit.icon_state = "capsuit_void" + suit.item_state = "capsuit_void" + suit.item_state_slots[slot_r_hand_str] = "wiz_voidsuit" + suit.item_state_slots[slot_l_hand_str] = "wiz_voidsuit" + if("Prototype") + if(helmet) + helmet.name = "prototype voidsuit helmet" + helmet.icon_state = "hosproto" + helmet.item_state = "hosproto" + if(suit) + suit.name = "prototype voidsuit" + suit.icon_state = "hosproto_void" + suit.item_state = "hosproto_void" + suit.item_state_slots[slot_r_hand_str] = "sec_voidsuitTG" + suit.item_state_slots[slot_l_hand_str] = "sec_voidsuitTG" + //VOREStation Addition End + if(helmet) helmet.name = "refitted [helmet.name]" diff --git a/code/game/machinery/suit_storage_unit_vr.dm b/code/game/machinery/suit_storage_unit_vr.dm index 5a137f2616..a6c0ddba0a 100644 --- a/code/game/machinery/suit_storage_unit_vr.dm +++ b/code/game/machinery/suit_storage_unit_vr.dm @@ -1,23 +1,6 @@ /obj/machinery/suit_cycler - species = list( - SPECIES_HUMAN, - SPECIES_SKRELL, - SPECIES_UNATHI, - SPECIES_TAJ, - SPECIES_TESHARI, - SPECIES_AKULA, - SPECIES_ALRAUNE, - SPECIES_NEVREAN, - SPECIES_RAPALA, - SPECIES_SERGAL, - SPECIES_VASILISSAN, - SPECIES_VULPKANIN, - SPECIES_XENOCHIMERA, - SPECIES_XENOHYBRID, - SPECIES_ZORREN_FLAT, - SPECIES_ZORREN_HIGH, - SPECIES_GREY_YW /*ywedit*/ - ) + departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control","Exploration","Pilot Blue","Pilot","Director","Prototype") + species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_VULPKANIN, SPECIES_GREY_YW /*ywedit*/) // Old Exploration is too WIP to use right now /obj/machinery/suit_cycler/exploration @@ -26,3 +9,23 @@ /obj/machinery/suit_cycler/pilot req_access = list(access_pilot) + +/obj/machinery/suit_cycler/captain + name = "Director suit cycler" + model_text = "Director" + req_access = list(access_captain) + departments = list("Director") + +/obj/machinery/suit_cycler/captain/Initialize() //No Teshari Sprites + species -= SPECIES_TESHARI + return ..() + +/obj/machinery/suit_cycler/prototype + name = "Prototype suit cycler" + model_text = "Prototype" + req_access = list(access_cent_specops) + departments = list("Prototype") + +/obj/machinery/suit_cycler/prototype/Initialize() //No Teshari Sprites + species -= SPECIES_TESHARI + return ..() diff --git a/code/game/machinery/supply_display.dm b/code/game/machinery/supply_display.dm index 211918c5e6..5a5c9750b6 100644 --- a/code/game/machinery/supply_display.dm +++ b/code/game/machinery/supply_display.dm @@ -6,7 +6,7 @@ message1 = "CARGO" message2 = "" - var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if(!shuttle) message2 = "Error" else if(shuttle.has_arrive_time()) diff --git a/code/game/machinery/supplybeacon.dm b/code/game/machinery/supplybeacon.dm index 9f228be5d4..df40ba1a7d 100644 --- a/code/game/machinery/supplybeacon.dm +++ b/code/game/machinery/supplybeacon.dm @@ -58,7 +58,7 @@ /obj/machinery/power/supply_beacon/attack_hand(var/mob/user) if(expended) - use_power = 0 + update_use_power(USE_POWER_OFF) to_chat (user, "\The [src] has used up its charge.") return @@ -80,7 +80,7 @@ return set_light(3, 3, "#00CCAA") icon_state = "beacon_active" - use_power = 1 + use_power = USE_POWER_IDLE if(user) to_chat(user, "You activate the beacon. The supply drop will be dispatched soon.") /obj/machinery/power/supply_beacon/proc/deactivate(var/mob/user, var/permanent) @@ -90,7 +90,7 @@ else icon_state = "beacon" set_light(0) - use_power = 0 + use_power = USE_POWER_OFF target_drop_time = null if(user) to_chat(user, "You deactivate the beacon.") diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index ed3a4ba4d4..057a8fd5c1 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -17,7 +17,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept desc = "A dish-shaped machine used to broadcast processed subspace signals." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 25 machinetype = 5 produces_heat = 0 @@ -127,7 +127,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept desc = "A compact machine used for portable subspace telecommuniations processing." density = 1 anchored = 1 - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 0 machinetype = 6 produces_heat = 0 diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 4ba184a102..c2e9126fc1 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -251,7 +251,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() desc = "This machine has a dish-like shape and green lights. It is designed to detect and process subspace radio activity." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 600 machinetype = 1 produces_heat = 0 @@ -318,7 +318,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() desc = "A mighty piece of hardware used to send/receive massive amounts of data." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 1600 machinetype = 7 circuit = /obj/item/weapon/circuitboard/telecomms/hub @@ -377,7 +377,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() desc = "A mighty piece of hardware used to send massive amounts of data far away." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 600 machinetype = 8 produces_heat = 0 @@ -443,7 +443,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() desc = "A mighty piece of hardware used to send massive amounts of data quickly." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 1000 machinetype = 2 circuit = /obj/item/weapon/circuitboard/telecomms/bus @@ -504,7 +504,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() desc = "This machine is used to process large quantities of information." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 600 machinetype = 3 delay = 5 @@ -556,7 +556,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() desc = "A machine used to store data and network statistics." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 300 machinetype = 4 circuit = /obj/item/weapon/circuitboard/telecomms/server diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index e698e000ea..bfc8e308a3 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -171,7 +171,7 @@ icon_state = "tele0" dir = 4 var/accurate = 0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 2000 circuit = /obj/item/weapon/circuitboard/teleporter_hub @@ -327,7 +327,7 @@ dir = 4 var/active = 0 var/engaged = 0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 2000 circuit = /obj/item/weapon/circuitboard/teleporter_station @@ -364,8 +364,8 @@ if(com) com.icon_state = "tele1" use_power(5000) - update_use_power(2) - com.update_use_power(2) + update_use_power(USE_POWER_ACTIVE) + com.update_use_power(USE_POWER_ACTIVE) for(var/mob/O in hearers(src, null)) O.show_message("Teleporter engaged!", 2) add_fingerprint(usr) @@ -379,8 +379,8 @@ if(com) com.icon_state = "tele0" com.accurate = 0 - com.update_use_power(1) - update_use_power(1) + com.update_use_power(USE_POWER_IDLE) + update_use_power(USE_POWER_IDLE) for(var/mob/O in hearers(src, null)) O.show_message("Teleporter disengaged!", 2) add_fingerprint(usr) diff --git a/code/game/machinery/transportpod.dm b/code/game/machinery/transportpod.dm index 96401c0908..0b499096fe 100644 --- a/code/game/machinery/transportpod.dm +++ b/code/game/machinery/transportpod.dm @@ -6,7 +6,7 @@ density = 1 //thicc anchored = 1 - use_power = 0 + use_power = USE_POWER_OFF var/in_transit = 0 var/mob/occupant = null diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 6e907c0b96..6537b70dfa 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -4,16 +4,14 @@ /obj/machinery/vending name = "Vendomat" desc = "A generic vending machine." - icon = 'icons/obj/vending_vr.dmi' //VOREStation Edit - Eris vending machine sprites + icon = 'icons/obj/vending.dmi' icon_state = "generic" anchored = 1 density = 1 - - var/icon_vend //Icon_state when vending - var/icon_deny //Icon_state when denying access + clicksound = "button" // Power - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 var/vend_power_usage = 150 //actuators and stuff @@ -25,6 +23,7 @@ var/datum/stored_item/vending_product/currently_vending = null // What we're requesting payment for right now var/status_message = "" // Status screen messages like "insufficient funds", displayed in NanoUI var/status_error = 0 // Set to 1 if status_message is an error + var/vending_sound = "machines/vending/vending_drop.ogg" /* Variables used to initialize the product list @@ -71,20 +70,19 @@ /obj/machinery/vending/Initialize() . = ..() wires = new(src) - spawn(4) - if(product_slogans) - slogan_list += splittext(product_slogans, ";") + if(product_slogans) + slogan_list += splittext(product_slogans, ";") - // So not all machines speak at the exact same time. - // The first time this machine says something will be at slogantime + this random value, - // so if slogantime is 10 minutes, it will say it at somewhere between 10 and 20 minutes after the machine is crated. - last_slogan = world.time + rand(0, slogan_delay) + // So not all machines speak at the exact same time. + // The first time this machine says something will be at slogantime + this random value, + // so if slogantime is 10 minutes, it will say it at somewhere between 10 and 20 minutes after the machine is crated. + last_slogan = world.time + rand(0, slogan_delay) - if(product_ads) - ads_list += splittext(product_ads, ";") + if(product_ads) + ads_list += splittext(product_ads, ";") - build_inventory() - power_change() + build_inventory() + power_change() /** * Build produdct_records from the products lists @@ -179,9 +177,10 @@ panel_open = !panel_open to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.") playsound(src, W.usesound, 50, 1) - overlays.Cut() if(panel_open) - overlays += image(icon, "[initial(icon_state)]-panel") + add_overlay("[initial(icon_state)]-panel") + else + cut_overlay("[initial(icon_state)]-panel") SSnanoui.update_uis(src) // Speaker switch is on the main UI, not wires UI return @@ -253,6 +252,7 @@ */ /obj/machinery/vending/proc/pay_with_ewallet(var/obj/item/weapon/spacecash/ewallet/wallet) visible_message("\The [usr] swipes \the [wallet] through \the [src].") + playsound(src.loc, 'sound/machines/id_swipe.ogg', 50, 1) if(currently_vending.price > wallet.worth) status_message = "Insufficient funds on chargecard." status_error = 1 @@ -273,6 +273,7 @@ visible_message("\The [usr] swipes \the [I] through \the [src].") else visible_message("\The [usr] swipes \the [ID_container] through \the [src].") + playsound(src.loc, 'sound/machines/id_swipe.ogg', 50, 1) var/datum/money_account/customer_account = get_account(I.associated_account_number) if(!customer_account) status_message = "Error: Unable to access account. Please contact technical support if problem persists." @@ -427,7 +428,7 @@ if((href_list["vend"]) && (vend_ready) && (!currently_vending)) if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH to_chat(usr, "Access denied.") //Unless emagged of course - flick(icon_deny,src) + flick("[icon_state]-deny",src) playsound(src.loc, 'sound/machines/deniedbeep.ogg', 50, 0) return @@ -464,7 +465,7 @@ /obj/machinery/vending/proc/vend(datum/stored_item/vending_product/R, mob/user) if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH to_chat(usr, "Access denied.") //Unless emagged of course - flick(icon_deny,src) + flick("[icon_state]-deny",src) playsound(src.loc, 'sound/machines/deniedbeep.ogg', 50, 0) return vend_ready = 0 //One thing at a time!! @@ -495,8 +496,7 @@ last_reply = world.time use_power(vend_power_usage) //actuators and stuff - if(icon_vend) //Show the vending animation if needed - flick(icon_vend,src) + flick("[icon_state]-vend",src) spawn(vend_delay) R.get_product(get_turf(src)) if(has_logs) @@ -505,8 +505,7 @@ sleep(3) if(R.get_product(get_turf(src))) visible_message("\The [src] clunks as it vends an additional item.") - - playsound(src, 'sound/items/vending.ogg', 50, 1, 1) + playsound(src.loc, "sound/[vending_sound]", 100, 1, 1) status_message = "" status_error = 0 @@ -675,8 +674,7 @@ /obj/machinery/vending/boozeomat name = "Booze-O-Mat" desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." - icon_state = "boozeomat" - icon_deny = "boozeomat-deny" + icon_state = "fridge_dark" products = list(/obj/item/weapon/reagent_containers/food/drinks/glass2/square = 10, /obj/item/weapon/reagent_containers/food/drinks/glass2/rocks = 10, /obj/item/weapon/reagent_containers/food/drinks/glass2/shake = 10, @@ -694,6 +692,7 @@ /obj/item/weapon/reagent_containers/food/drinks/bottle/bluecuracao = 5, /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac = 5, /obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine = 5, + /obj/item/weapon/reagent_containers/food/condiment/cornoil = 5, /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua = 5, /obj/item/weapon/reagent_containers/food/drinks/bottle/melonliquor = 5, /obj/item/weapon/reagent_containers/food/drinks/bottle/peppermintschnapps = 5, @@ -737,6 +736,7 @@ req_access = list(access_bar) req_log_access = access_bar has_logs = 1 + vending_sound = "machines/vending/vending_cans.ogg" /obj/machinery/vending/assist products = list( /obj/item/device/assembly/prox_sensor = 5,/obj/item/device/assembly/igniter = 3,/obj/item/device/assembly/signaler = 4, @@ -749,13 +749,13 @@ desc = "A vending machine which dispenses hot drinks." product_ads = "Have a drink!;Drink up!;It's good for you!;Would you like a hot joe?;I'd kill for some coffee!;The best beans in the galaxy.;Only the finest brew for you.;Mmmm. Nothing like a coffee.;I like coffee, don't you?;Coffee helps you work!;Try some tea.;We hope you like the best!;Try our new chocolate!;Admin conspiracies" icon_state = "coffee" - icon_vend = "coffee-vend" vend_delay = 34 idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan. vend_power_usage = 85000 //85 kJ to heat a 250 mL cup of coffee products = list(/obj/item/weapon/reagent_containers/food/drinks/coffee = 25,/obj/item/weapon/reagent_containers/food/drinks/tea = 25,/obj/item/weapon/reagent_containers/food/drinks/h_chocolate = 25) contraband = list(/obj/item/weapon/reagent_containers/food/drinks/ice = 10) prices = list(/obj/item/weapon/reagent_containers/food/drinks/coffee = 2, /obj/item/weapon/reagent_containers/food/drinks/tea = 2, /obj/item/weapon/reagent_containers/food/drinks/h_chocolate = 2) //VOREStation Edit + vending_sound = "machines/vending/vending_coffee.ogg" /obj/machinery/vending/snack name = "Getmore Chocolate Corp" @@ -776,8 +776,7 @@ /obj/machinery/vending/cola name = "Robust Softdrinks" desc = "A softdrink vendor provided by Robust Industries, LLC." - icon_state = "Cola_Machine" //VOREStation Edit - icon_vend = "Cola_Machine-purchase" //VOREStation Edit + icon_state = "Cola_Machine" product_slogans = "Robust Softdrinks: More robust than a toolbox to the head!" product_ads = "Refreshing!;Hope you're thirsty!;Over 1 million drinks sold!;Thirsty? Why not cola?;Please, have a drink!;Drink up!;The best drinks in space." products = list(/obj/item/weapon/reagent_containers/food/drinks/cans/cola = 10,/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind = 10, @@ -792,6 +791,7 @@ /obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea = 1,/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice = 1, /obj/item/weapon/reagent_containers/food/drinks/cans/gingerale = 1) idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan. + vending_sound = "machines/vending/vending_cans.ogg" /obj/machinery/vending/fitness name = "SweatMAX" @@ -826,7 +826,6 @@ desc = "Cartridges for PDAs." product_slogans = "Carts to go!" icon_state = "cart" - icon_deny = "cart-deny" req_access = list(access_hop) products = list(/obj/item/weapon/cartridge/medical = 10,/obj/item/weapon/cartridge/engineering = 10,/obj/item/weapon/cartridge/security = 10, /obj/item/weapon/cartridge/janitor = 10,/obj/item/weapon/cartridge/signal/science = 10,/obj/item/device/pda/heads = 10, @@ -868,7 +867,6 @@ name = "NanoMed Plus" desc = "Medical drug dispenser." icon_state = "med" - icon_deny = "med-deny" product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" req_access = list(access_medical) products = list(/obj/item/weapon/reagent_containers/glass/bottle/antitoxin = 4,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline = 4, @@ -896,7 +894,6 @@ desc = "A wall-mounted version of the NanoMed." product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?" icon_state = "wallmed" - icon_deny = "wallmed-deny" density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude products = list(/obj/item/stack/medical/bruise_pack = 2,/obj/item/stack/medical/ointment = 2,/obj/item/weapon/reagent_containers/hypospray/autoinjector = 4,/obj/item/device/healthanalyzer = 1) contraband = list(/obj/item/weapon/reagent_containers/syringe/antitoxin = 4,/obj/item/weapon/reagent_containers/syringe/antiviral = 4,/obj/item/weapon/reagent_containers/pill/tox = 1) @@ -907,7 +904,6 @@ name = "NanoMed" desc = "A wall-mounted version of the NanoMed, containing only vital first aid equipment." icon_state = "wallmed" - icon_deny = "wallmed-deny" density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude products = list(/obj/item/weapon/reagent_containers/hypospray/autoinjector = 5,/obj/item/weapon/reagent_containers/syringe/antitoxin = 3,/obj/item/stack/medical/bruise_pack = 3, /obj/item/stack/medical/ointment =3,/obj/item/device/healthanalyzer = 3) @@ -920,7 +916,6 @@ desc = "A security equipment vendor." product_ads = "Crack capitalist skulls!;Beat some heads in!;Don't forget - harm is good!;Your weapons are right here.;Handcuffs!;Freeze, scumbag!;Don't tase me bro!;Tase them, bro.;Why not have a donut?" icon_state = "sec" - icon_deny = "sec-deny" req_access = list(access_security) products = list(/obj/item/weapon/handcuffs = 8,/obj/item/weapon/grenade/flashbang = 4,/obj/item/device/flash = 5, /obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6) @@ -933,8 +928,7 @@ desc = "A plant nutrients vendor." product_slogans = "Aren't you glad you don't have to fertilize the natural way?;Now with 50% less stink!;Plants are people too!" product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..." - icon_state = "nutri" - //icon_deny = "nutri-deny" //VOREStation Removal - It doesn't even have an access list, when would it deny people? + icon_state = "nutri_generic" products = list(/obj/item/weapon/reagent_containers/glass/bottle/eznutrient = 6,/obj/item/weapon/reagent_containers/glass/bottle/left4zed = 4,/obj/item/weapon/reagent_containers/glass/bottle/robustharvest = 3,/obj/item/weapon/plantspray/pests = 20, /obj/item/weapon/reagent_containers/syringe = 5,/obj/item/weapon/reagent_containers/glass/beaker = 4,/obj/item/weapon/storage/bag/plants = 5) premium = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5) @@ -945,7 +939,7 @@ desc = "When you need seeds fast!" product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!" product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!" - icon_state = "seeds" + icon_state = "seeds_generic" products = list(/obj/item/seeds/bananaseed = 3,/obj/item/seeds/berryseed = 3,/obj/item/seeds/carrotseed = 3,/obj/item/seeds/chantermycelium = 3,/obj/item/seeds/chiliseed = 3, /obj/item/seeds/cornseed = 3, /obj/item/seeds/eggplantseed = 3, /obj/item/seeds/potatoseed = 3, /obj/item/seeds/replicapod = 3,/obj/item/seeds/soyaseed = 3, @@ -999,6 +993,8 @@ product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..." icon_state = "dinnerware" products = list( + /obj/item/weapon/reagent_containers/food/condiment/yeast = 5, + /obj/item/weapon/reagent_containers/food/condiment/cornoil = 5, /obj/item/weapon/tray = 8, /obj/item/weapon/material/kitchen/utensil/fork = 6, /obj/item/weapon/material/knife = 6, @@ -1029,12 +1025,12 @@ products = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/space_up = 30) // TODO Russian soda can contraband = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/cola = 20) // TODO Russian cola can idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan. + vending_sound = "machines/vending/vending_cans.ogg" /obj/machinery/vending/tool name = "YouTool" desc = "Tools for tools." icon_state = "tool" - icon_deny = "tool-deny" //req_access = list(access_maint_tunnels) //Maintenance access products = list(/obj/item/stack/cable_coil/random = 10,/obj/item/weapon/tool/crowbar = 5,/obj/item/weapon/weldingtool = 3,/obj/item/weapon/tool/wirecutters = 5, /obj/item/weapon/tool/wrench = 5,/obj/item/device/analyzer = 5,/obj/item/device/t_scanner = 5,/obj/item/weapon/tool/screwdriver = 5, @@ -1049,7 +1045,6 @@ name = "Engi-Vend" desc = "Spare tool vending. What? Did you expect some witty description?" icon_state = "engivend" - icon_deny = "engivend-deny" req_access = list(access_engine_equip) products = list(/obj/item/device/geiger = 4,/obj/item/clothing/glasses/meson = 2,/obj/item/device/multitool = 4,/obj/item/weapon/cell/high = 10, /obj/item/weapon/airlock_electronics = 10,/obj/item/weapon/module/power_control = 10, @@ -1072,7 +1067,6 @@ name = "Robco Tool Maker" desc = "Everything you need for do-it-yourself station repair." icon_state = "engi" - icon_deny = "engi-deny" req_access = list(access_engine_equip) products = list(/obj/item/clothing/under/rank/chief_engineer = 4,/obj/item/clothing/under/rank/engineer = 4,/obj/item/clothing/shoes/orange = 4,/obj/item/clothing/head/hardhat = 4, /obj/item/weapon/storage/belt/utility = 4,/obj/item/clothing/glasses/meson = 4,/obj/item/clothing/gloves/yellow = 4, /obj/item/weapon/tool/screwdriver = 12, @@ -1090,7 +1084,6 @@ name = "Robotech Deluxe" desc = "All the tools you need to create your own robot army." icon_state = "robotics" - icon_deny = "robotics-deny" req_access = list(access_robotics) products = list(/obj/item/clothing/suit/storage/toggle/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/device/flash = 4, /obj/item/weapon/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3, diff --git a/code/game/machinery/vending_vr.dm b/code/game/machinery/vending_vr.dm index 82661c9c1d..ed06132e7f 100644 --- a/code/game/machinery/vending_vr.dm +++ b/code/game/machinery/vending_vr.dm @@ -55,8 +55,7 @@ /obj/machinery/vending/food name = "Food-O-Mat" desc = "A technological marvel, supposedly able to cook or mix a large variety of food or drink." - icon_state = "boozeomat" - icon_deny = "boozeomat-deny" + icon_state = "hotfood" products = list(/obj/item/weapon/tray = 8, /obj/item/weapon/material/kitchen/utensil/fork = 6, /obj/item/weapon/material/knife/plastic = 6, @@ -89,8 +88,6 @@ /obj/machinery/vending/food/arojoan //Fluff vendor for the lewd houseboat. name = "Custom Food-O-Mat" desc = "Do you think Joan cooks? Of course not. Lazy squirrel!" - icon_state = "boozeomat" - icon_deny = "boozeomat-deny" products = list(/obj/item/weapon/tray = 6, /obj/item/weapon/material/kitchen/utensil/fork = 6, /obj/item/weapon/material/knife/plastic = 6, @@ -121,6 +118,7 @@ desc = "A self-defense equipment vending machine. When you need to take care of that clown." product_slogans = "The best defense is good offense!;Buy for your whole family today!;Nobody can outsmart bullet!;God created man - Frozen Star made them EQUAL!;Nobody can outsmart bullet!;Stupidity can be cured! By LEAD.;Dead kids can't bully your children!" product_ads = "Stunning!;Take justice in your own hands!;LEADearship!" + icon = 'icons/obj/vending_vr.dmi' icon_state = "weapon" products = list(/obj/item/device/flash = 6,/obj/item/weapon/reagent_containers/spray/pepper = 6, /obj/item/weapon/gun/projectile/olivaw = 5, /obj/item/weapon/gun/projectile/giskard = 5, /obj/item/ammo_magazine/mg/cl32/rubber = 20) contraband = list(/obj/item/weapon/reagent_containers/food/snacks/syndicake = 6) @@ -136,6 +134,7 @@ name = "Blood-Onator" desc = "Freezer-vendor for storage and quick dispensing of blood packs" product_ads = "The true life juice!;Vampire's choice!;Home-grown blood only!;Donate today, be saved tomorrow!;Approved by Zeng-Hu Pharmaceuticals Incorporated!; Curse you, Vey-Med artificial blood!" + icon = 'icons/obj/vending_vr.dmi' icon_state = "blood" idle_power_usage = 211 req_access = list(access_medical) @@ -151,6 +150,7 @@ name = "Fingers and Toes" desc = "A special vendor for gloves and shoes!" product_ads = "Do you have fingers and toes? COVER THEM UP!;Show me your toes! Wait. NO DON'T! BUY NEW SHOES!;Don't leave prints, BUY SOME GLOVES!;Remember to check your shoes for micros! You don't have to let them out, but just check for them!;Fingers and Toes is not liable for micro entrapment or abuse under the feet of our patrons.!;This little piggy went WE WE WE all the way down to FINGERS AND TOES to pick up some sweet new gloves and shoes." + icon = 'icons/obj/vending_vr.dmi' icon_state = "glovesnshoes" products = list(/obj/item/clothing/gloves/evening = 5, /obj/item/clothing/gloves/fingerless = 5, @@ -278,7 +278,6 @@ desc = "A vendor using compressed matter cartridges to store large amounts of basic station uniforms." product_ads = "Don't get caught naked!;Pick up your uniform!;Using compressed matter cartridges and VERY ETHICAL labor practices, we bring you the uniforms you need!;No uniform? No problem!;We've got your covered!;The Basics is not responsible for being crushed under the amount of things inside our machines. DO NOT VEND IN EXCESS!!" icon_state = "loadout" - icon_vend = "loadout-purchase" vend_delay = 16 products = list(/obj/item/device/pda = 50, /obj/item/device/radio/headset = 50, @@ -307,7 +306,6 @@ desc = "A special vendor for accessories." product_ads = "Want shinies? We have the shinies.;Need that special something to complete your outfit? We have what you need!;Ditch that old dull dangly something you've got and pick up one of our shinies!;Bracelets, collars, scarfs rings and more! We have the fancy things you need!;Does your pet need a collar? We don't judge! Keep them in line with one of one of ours!;Top of the line materials! 'Hand crafted' goods!" icon_state = "accessory" - icon_vend = "accessory-purchase" vend_delay = 6 products = list(/obj/item/clothing/accessory = 5, /obj/item/clothing/accessory/armband/med/color = 10, @@ -537,7 +535,6 @@ desc = "A special vendor using compressed matter cartridges to store large amounts of clothing." product_ads = "Tired of your grey jumpsuit? Spruce yourself up!;We have the outfit for you!;Don't let that grey jumpsuit get you down, get a ROBUST outfit right now!;Using compressed matter catridges and VERY ETHICAL labor practices to bring YOU the clothing you crave!;Are you sure you want to go to work in THAT?;All of our wares have a whole TWO pockets!" icon_state = "clothing" - icon_vend = "clothing-purchase" vend_delay = 16 products = list(/obj/item/clothing/under/bathrobe = 5, /obj/item/clothing/under/dress/black_corset = 5, @@ -881,7 +878,6 @@ desc = "A special vendor for devices and gadgets." product_ads = "You can't RESIST our great deals!;Feeling disconnected? We have a gadget for you!;You know you have the capacity to buy our capacitors!;FILL THAT HOLE IN YOUR HEART WITH OUR PLASTIC DISTRACTIONS!!!;Devices for everyone! Chips Co.!;ROBUST INVENTORY, GREAT PRICES! ;DON'T FORGET THE oyPAD 13s PRO! ON SALE NOW, ONLY ONE THOUSAND THALERS!" icon_state = "gadgets" - icon_vend = "gadgets-purchase" vend_delay = 11 products = list(/obj/item/clothing/suit/circuitry = 1, /obj/item/clothing/head/circuitry = 1, @@ -961,7 +957,6 @@ desc = "A special vendor using compressed matter cartridges to store large amounts of overwear!" product_ads = "Dress your best! It's what big D would want.;Overwear for all occasions!;Big D has what you need if what you need is some form of jacket!;Need a new hoodie? Bid D has you covered.;Big D says you need a new suit!;Big D smiles when he sees you in one of his coats!" icon_state = "suit" - icon_vend = "suit-purchase" vend_delay = 16 products = list(/obj/item/clothing/suit/storage/apron = 5, /obj/item/clothing/suit/storage/flannel/aqua = 5, @@ -1144,7 +1139,8 @@ name = "Thespian's Delight" desc = "Sometimes nerds need costumes!" product_ads = "Don't let your art be stifled!;Remember, practice makes perfect!;Break a leg!;Don't make me get the cane!;Thespian's Delight entering stage right!;Costumes for your acting needs!" - icon_state = "Theater_b" + icon = 'icons/obj/vending.dmi' + icon_state = "theater" products = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 3, /obj/item/clothing/suit/storage/hooded/carp_costume = 3, /obj/item/clothing/suit/chickensuit = 3, @@ -1308,14 +1304,9 @@ /obj/item/seeds/whitebeetseed = 3, /obj/item/seeds/wabback = 2) -//TFF 19/12/19 - Brig version of a Nutrimax /obj/machinery/vending/hydronutrients/brig name = "Brig NutriMax" desc = "A plant nutrients vendor. Seems some items aren't included." - product_slogans = "Aren't you glad you don't have to fertilize the natural way?;Now with 50% less stink!;Plants are people too!" - product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..." - icon_state = "nutri" - icon_deny = "nutri-deny" products = list(/obj/item/weapon/reagent_containers/glass/bottle/eznutrient = 6,/obj/item/weapon/reagent_containers/glass/bottle/left4zed = 4,/obj/item/weapon/reagent_containers/glass/bottle/robustharvest = 3,/obj/item/weapon/plantspray/pests = 20, /obj/item/weapon/reagent_containers/glass/beaker = 4,/obj/item/weapon/storage/bag/plants = 5) premium = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5) @@ -1332,4 +1323,11 @@ /obj/machinery/vending/emergencyfood/filled products = list(/obj/item/weapon/storage/box/wings/tray = 40) - contraband = list(/obj/item/weapon/storage/box/wings/tray = 20) \ No newline at end of file + contraband = list(/obj/item/weapon/storage/box/wings/tray = 20) + +/obj/machinery/vending/cola + icon_state = "Soda_Machine" + +/obj/machinery/vending/cola/soft + icon = 'icons/obj/vending_vr.dmi' + icon_state = "Cola_Machine" diff --git a/code/game/machinery/virtual_reality/ar_console.dm b/code/game/machinery/virtual_reality/ar_console.dm index 1f4c8c16fe..f4c6049487 100644 --- a/code/game/machinery/virtual_reality/ar_console.dm +++ b/code/game/machinery/virtual_reality/ar_console.dm @@ -73,7 +73,7 @@ if(A in component_parts) continue A.loc = src.loc - update_use_power(1) + update_use_power(USE_POWER_IDLE) update_icon() /obj/machinery/vr_sleeper/alien/enter_vr() diff --git a/code/game/machinery/virtual_reality/vr_console.dm b/code/game/machinery/virtual_reality/vr_console.dm index dcd6e555b9..8a417a98bc 100644 --- a/code/game/machinery/virtual_reality/vr_console.dm +++ b/code/game/machinery/virtual_reality/vr_console.dm @@ -18,7 +18,7 @@ var/mirror_first_occupant = TRUE // Do we force the newly produced body to look like the occupant? - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 15 active_power_usage = 200 light_color = "#FF0000" @@ -174,7 +174,7 @@ M.client.perspective = EYE_PERSPECTIVE M.client.eye = src M.loc = src - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) occupant = M update_icon() @@ -203,7 +203,7 @@ if(A in component_parts) continue A.loc = src.loc - update_use_power(1) + update_use_power(USE_POWER_IDLE) update_icon() /obj/machinery/vr_sleeper/proc/enter_vr() diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 7f2a5ae47b..fd46233390 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -5,6 +5,9 @@ icon_state = "wm_10" density = 1 anchored = 1.0 + clicksound = "button" + clickvol = 40 + circuit = /obj/item/weapon/circuitboard/washing var/state = 1 //1 = empty, open door diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm index a3911a2efa..81c720bacd 100644 --- a/code/game/machinery/wishgranter.dm +++ b/code/game/machinery/wishgranter.dm @@ -3,7 +3,7 @@ desc = "You're not so sure about this, anymore..." icon = 'icons/obj/device.dmi' icon_state = "syndbeacon" - use_power = 0 + use_power = USE_POWER_OFF anchored = 1 density = 1 var/charges = 1 diff --git a/code/game/mecha/combat/fighter.dm b/code/game/mecha/combat/fighter.dm new file mode 100644 index 0000000000..26bbcb84ac --- /dev/null +++ b/code/game/mecha/combat/fighter.dm @@ -0,0 +1,381 @@ +#define NOGRAV_FIGHTER_DAMAGE 20 + +/obj/mecha/combat/fighter + name = "Delete me, nerd!!" + desc = "The base type of fightercraft. Don't spawn this one!" + + var/datum/effect/effect/system/ion_trail_follow/ion_trail + var/stabilization_enabled = TRUE //If our anti-space-drift is on + var/ground_capable = FALSE //If we can fly over normal turfs and not just space + + icon = 'icons/mecha/fighters64x64.dmi' + + icon_state = "" + initial_icon = "" + + step_in = 2 //Fast + + health = 400 + maxhealth = 400 + + infra_luminosity = 6 + + opacity = FALSE + + wreckage = /obj/effect/decal/mecha_wreckage/gunpod + + stomp_sound = 'sound/machines/generator/generator_end.ogg' + swivel_sound = 'sound/machines/hiss.ogg' + + bound_height = 64 + bound_width = 64 + + max_hull_equip = 2 + max_weapon_equip = 2 + max_utility_equip = 1 + max_universal_equip = 1 + max_special_equip = 1 + +/obj/mecha/combat/fighter/Initialize() + . = ..() + ion_trail = new /datum/effect/effect/system/ion_trail_follow() + ion_trail.set_up(src) + ion_trail.stop() + +/obj/mecha/combat/fighter/moved_inside(var/mob/living/carbon/human/H) + . = ..() + consider_gravity() + +/obj/mecha/combat/fighter/go_out() + . = ..() + consider_gravity() + +//Modified phazon code +/obj/mecha/combat/fighter/Topic(href, href_list) + ..() + if (href_list["toggle_stabilization"]) + stabilization_enabled = !stabilization_enabled + send_byjax(src.occupant,"exosuit.browser","stabilization_command","[stabilization_enabled?"Dis":"En"]able thruster stabilization") + src.occupant_message("Thruster stabilization [stabilization_enabled? "enabled" : "disabled"].") + return + +/obj/mecha/combat/fighter/get_commands() + var/output = {"
+
Special
+ +
+ "} + output += ..() + return output + +/obj/mecha/combat/fighter/can_ztravel() + return (stabilization_enabled && has_charge(step_energy_drain)) + +// No space drifting +/obj/mecha/combat/fighter/check_for_support() + if (stabilization_enabled) + return 1 + + return ..() + +// No falling if we've got our boosters on +/obj/mecha/combat/fighter/can_fall() + return (stabilization_enabled && has_charge(step_energy_drain)) + +/obj/mecha/combat/fighter/proc/consider_gravity(var/moved = FALSE) + var/gravity = has_gravity() + if(gravity && ground_capable && occupant) + start_hover() + else if((!gravity && ground_capable) || !occupant) + stop_hover() + else if(moved && gravity && !ground_capable) + occupant_message("Collision alert! Vehicle not rated for use in gravity!") + take_damage(NOGRAV_FIGHTER_DAMAGE, "brute") + playsound(loc, 'sound/effects/grillehit.ogg', 50, 1) + +/obj/mecha/combat/fighter/handle_equipment_movement() + . = ..() + consider_gravity(TRUE) + +/obj/mecha/combat/fighter/proc/start_hover() + if(!ion_trail.on) //We'll just use this to store if we're floating or not + ion_trail.start() + var/amplitude = 2 //maximum displacement from original position + var/period = 36 //time taken for the mob to go up >> down >> original position, in deciseconds. Should be multiple of 4 + + var/top = old_y + amplitude + var/bottom = old_y - amplitude + var/half_period = period / 2 + var/quarter_period = period / 4 + + animate(src, pixel_y = top, time = quarter_period, easing = SINE_EASING | EASE_OUT, loop = -1) //up + animate(pixel_y = bottom, time = half_period, easing = SINE_EASING, loop = -1) //down + animate(pixel_y = old_y, time = quarter_period, easing = SINE_EASING | EASE_IN, loop = -1) //back + +/obj/mecha/combat/fighter/proc/stop_hover() + if(ion_trail.on) + ion_trail.stop() + animate(src, pixel_y = old_y, time = 5, easing = SINE_EASING | EASE_IN) //halt animation + +/obj/mecha/combat/fighter/check_for_support() + if (has_charge(step_energy_drain) && stabilization_enabled) + return 1 + + var/list/things = orange(1, src) + + if(locate(/obj/structure/grille in things) || locate(/obj/structure/lattice in things) || locate(/turf/simulated in things) || locate(/turf/unsimulated in things)) + return 1 + else + return 0 + + +/obj/mecha/combat/fighter/play_entered_noise(var/mob/who) + if(hasInternalDamage()) + who << sound('sound/mecha/fighter_entered_bad.ogg',volume=50) + else + who << sound('sound/mecha/fighter_entered.ogg',volume=50) + +////////////// Equipment ////////////// + +// For 64x64 fighters +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64 + shield_type = /obj/item/shield_projector/rectangle/mecha/fighter64 +/obj/item/shield_projector/rectangle/mecha/fighter64 + shift_x = 16 + shift_y = 16 + + +////////////// Gunpod ////////////// + +/obj/mecha/combat/fighter/gunpod + name = "Gunpod" + desc = "Small mounted weapons platform capable of space and surface combat. More like a flying tank than a dedicated fightercraft." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "gunpod" + initial_icon = "gunpod" + + catalogue_data = list(/datum/category_item/catalogue/technology/gunpod) + wreckage = /obj/effect/decal/mecha_wreckage/gunpod + + step_in = 3 //Slightly slower than others + + ground_capable = TRUE + + // Paint colors! Null if not set. + var/stripe1_color + var/stripe2_color + var/image/stripe1_overlay + var/image/stripe2_overlay + +/obj/mecha/combat/fighter/gunpod/loaded/Initialize() //Loaded version with gans + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive + ME.attach(src) + +/obj/mecha/combat/fighter/gunpod/recon/Initialize() //Blinky + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/teleporter(src) + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src) + ME.attach(src) + +/obj/mecha/combat/fighter/gunpod/update_icon() + cut_overlays() + ..() + + if(stripe1_color) + stripe1_overlay = image("gunpod_stripes1") + stripe1_overlay.color = stripe1_color + add_overlay(stripe1_overlay) + if(stripe2_color) + stripe2_overlay = image("gunpod_stripes2") + stripe2_overlay.color = stripe2_color + add_overlay(stripe2_overlay) + +/obj/mecha/combat/fighter/gunpod/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/device/multitool) && state == 1) + var/new_paint_location = input("Please select a target zone.", "Paint Zone", null) as null|anything in list("Fore Stripe", "Aft Stripe", "CANCEL") + if(new_paint_location && new_paint_location != "CANCEL") + var/new_paint_color = input("Please select a paint color.", "Paint Color", null) as color|null + if(new_paint_color) + switch(new_paint_location) + if("Fore Stripe") + stripe1_color = new_paint_color + if("Aft Stripe") + stripe2_color = new_paint_color + + update_icon() + else ..() + +/obj/effect/decal/mecha_wreckage/gunpod + name = "Gunpod wreckage" + desc = "Remains of some unfortunate gunpod. Completely unrepairable." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "gunpod-broken" + bound_width = 64 + bound_height = 64 + +/datum/category_item/catalogue/technology/gunpod + name = "Voidcraft - Gunpod" + desc = "This is a small space-capable fightercraft that has an arrowhead design. Can hold up to one pilot, \ + and sometimes one or two passengers, with the right modifications made. \ + Typically used as small fighter craft, the gunpod can't carry much of a payload, though it's still capable of holding it's own." + value = CATALOGUER_REWARD_MEDIUM + + +////////////// Baron ////////////// + +/obj/mecha/combat/fighter/baron + name = "Baron" + desc = "A conventional space superiority fighter, one-seater. Not capable of ground operations." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "baron" + initial_icon = "baron" + + catalogue_data = list(/datum/category_item/catalogue/technology/baron) + wreckage = /obj/effect/decal/mecha_wreckage/baron + + ground_capable = FALSE + +/obj/mecha/combat/fighter/baron/loaded/Initialize() //Loaded version with gans + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64 + ME.attach(src) + +/obj/effect/decal/mecha_wreckage/baron + name = "Baron wreckage" + desc = "Remains of some unfortunate fighter. Completely unrepairable." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "baron-broken" + bound_width = 64 + bound_height = 64 + +/datum/category_item/catalogue/technology/baron + name = "Voidcraft - Baron" + desc = "This is a small space fightercraft that has an arrowhead design. Can hold up to one pilot. \ + Unlike some fighters, this one is not designed for atmospheric operation, and is only capable of performing \ + maneuvers in the vacuum of space. Attempting to operate it in an atmosphere is not recommended." + value = CATALOGUER_REWARD_MEDIUM + + +////////////// Scoralis ////////////// + +/obj/mecha/combat/fighter/scoralis + name = "scoralis" + desc = "An imported space fighter with integral cloaking device. Beware the power consumption, though. Not capable of ground operations." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "scoralis" + initial_icon = "scoralis" + + catalogue_data = list(/datum/category_item/catalogue/technology/scoralis) + wreckage = /obj/effect/decal/mecha_wreckage/scoralis + + ground_capable = FALSE + +/obj/mecha/combat/fighter/scoralis/loaded/Initialize() //Loaded version with gans + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg + ME.attach(src) + ME = new /obj/item/mecha_parts/mecha_equipment/cloak + ME.attach(src) + +/obj/effect/decal/mecha_wreckage/scoralis + name = "scoralis wreckage" + desc = "Remains of some unfortunate fighter. Completely unrepairable." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "scoralis-broken" + bound_width = 64 + bound_height = 64 + +/datum/category_item/catalogue/technology/scoralis + name = "Voidcraft - Scoralis" + desc = "An import model fightercraft, this one contains an integral cloaking device that renders the fighter invisible \ + to the naked eye. Still detectable on thermal sensors, the craft can maneuver in close to ill-equipped foes and strike unseen. \ + Not rated for atmospheric travel, this craft excels at hit and run tactics, as it will likely need to recharge batteries between each 'hit'." + value = CATALOGUER_REWARD_MEDIUM + +////////////// Allure ////////////// + +/obj/mecha/combat/fighter/allure + name = "allure" + desc = "A fighter of Zorren design, it's blocky appearance is made up for by it's stout armor and finely decorated hull paint." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "allure" + initial_icon = "allure" + + catalogue_data = list(/datum/category_item/catalogue/technology/allure) + wreckage = /obj/effect/decal/mecha_wreckage/allure + + ground_capable = FALSE + + health = 500 + maxhealth = 500 + +/obj/mecha/combat/fighter/allure/loaded/Initialize() //Loaded version with gans + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/cloak + ME.attach(src) + +/obj/effect/decal/mecha_wreckage/allure + name = "allure wreckage" + desc = "Remains of some unfortunate fighter. Completely unrepairable." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "allure-broken" + bound_width = 64 + bound_height = 64 + +/datum/category_item/catalogue/technology/allure + name = "Voidcraft - Allure" + desc = "A space superiority fighter of zorren design, many would comment that the blocky shape hinders aesthetic appeal. However, Zorren are \ + often found painting their hulls in intricate designs of purple and gold, and this craft is no exception to the rule. Some individual seems to have \ + decorated it finely. Import craft like this one often ship with no weapons, though the Zorren saw fit to integrate a cloaking device." + value = CATALOGUER_REWARD_MEDIUM + +////////////// Pinnace ////////////// + +/obj/mecha/combat/fighter/pinnace + name = "pinnace" + desc = "A cramped ship's boat, capable of atmospheric and space flight. Not capable of mounting weapons. Capable of fitting one pilot and one passenger." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "pinnace" + initial_icon = "pinnace" + + max_hull_equip = 1 + max_weapon_equip = 0 + max_utility_equip = 0 + max_universal_equip = 0 + max_special_equip = 1 + + catalogue_data = list(/datum/category_item/catalogue/technology/pinnace) + wreckage = /obj/effect/decal/mecha_wreckage/pinnace + + ground_capable = TRUE + +/obj/mecha/combat/fighter/pinnace/loaded/Initialize() //Loaded version with gans + . = ..() + var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger + ME.attach(src) + +/obj/effect/decal/mecha_wreckage/pinnace + name = "pinnace wreckage" + desc = "Remains of some unfortunate ship's boat. Completely unrepairable." + icon = 'icons/mecha/fighters64x64.dmi' + icon_state = "pinnace-broken" + bound_width = 64 + bound_height = 64 + +/datum/category_item/catalogue/technology/pinnace + name = "Voidcraft - Pinnace" + desc = "A very small boat, usually used as a tender at very close ranges. The lack of a bluespace \ + drive means that it can't get too far from it's parent ship. Though the pinnace is typically unarmed, \ + it is capable of atmospheric flight and escaping most pursuing fighters by diving into the atmosphere of \ + nearby planets to seek cover." + value = CATALOGUER_REWARD_MEDIUM + +#undef NOGRAV_FIGHTER_DAMAGE \ No newline at end of file diff --git a/code/game/mecha/combat/gorilla.dm b/code/game/mecha/combat/gorilla.dm index 13e8040e65..860eb43b46 100644 --- a/code/game/mecha/combat/gorilla.dm +++ b/code/game/mecha/combat/gorilla.dm @@ -191,10 +191,10 @@ HONK Blaster and a pulse cannon protected by projectile armor and powered by a b src.log_message("Toggled zoom mode.") src.occupant_message("Zoom mode [zoom?"en":"dis"]abled.") if(zoom) - src.occupant.client.view = 12 + src.occupant.set_viewsize(12) src.occupant << sound('sound/mecha/imag_enh.ogg',volume=50) else - src.occupant.client.view = world.view//world.view - default mob view size + src.occupant.set_viewsize() // Reset to default return diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index 8b2471d953..2b383379ad 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -180,10 +180,10 @@ src.log_message("Toggled zoom mode.") src.occupant_message("Zoom mode [zoom?"en":"dis"]abled.") if(zoom) - src.occupant.client.view = 12 + src.occupant.set_viewsize(12) src.occupant << sound('sound/mecha/imag_enh.ogg',volume=50) else - src.occupant.client.view = world.view//world.view - default mob view size + src.occupant.set_viewsize() // Reset to default return diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index abfd8492cf..c031e0941a 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -145,9 +145,6 @@ return 0 return 1 -/obj/item/mecha_parts/mecha_equipment/proc/handle_movement_action() //Any modules that have special effects or needs when taking a step or floating through space. - return - /obj/item/mecha_parts/mecha_equipment/proc/action(atom/target) return diff --git a/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm b/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm new file mode 100644 index 0000000000..9166e6a3de --- /dev/null +++ b/code/game/mecha/equipment/mecha_equipment_dynamicprocs.dm @@ -0,0 +1,19 @@ +/* + * File containing all the default 'handlers' for Exosuit equipment, hopefully to make all dynX calls extinct. + */ + +// Used for impacting (thrown) objects, and damage value. +/obj/item/mecha_parts/mecha_equipment/proc/handle_ranged_contact(var/obj/A, var/inc_damage = 0) + return max(0, inc_damage) + +// Used for melee strikes with an object, and a mob, and damage value. +/obj/item/mecha_parts/mecha_equipment/proc/handle_melee_contact(var/obj/item/weapon/W, var/mob/living/user, var/inc_damage = 0) + return max(0, inc_damage) + +// Used for projectile impacts from bullet_act. +/obj/item/mecha_parts/mecha_equipment/proc/handle_projectile_contact(var/obj/item/projectile/Proj, var/inc_damage = 0) + return max(0, inc_damage) + +// Used for on-movement actions. +/obj/item/mecha_parts/mecha_equipment/proc/handle_movement_action() //Any modules that have special effects or needs when taking a step or floating through space. + return diff --git a/code/game/mecha/equipment/tools/armor_melee.dm b/code/game/mecha/equipment/tools/armor_melee.dm index a723882657..8390a2cc52 100644 --- a/code/game/mecha/equipment/tools/armor_melee.dm +++ b/code/game/mecha/equipment/tools/armor_melee.dm @@ -11,6 +11,30 @@ equip_type = EQUIP_HULL +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/get_equip_info() + if(!chassis) return + return "* [src.name]" + +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/handle_melee_contact(var/obj/item/weapon/W, var/mob/living/user, var/inc_damage = null) + if(!action_checks(user)) + return inc_damage + chassis.log_message("Attacked by [W]. Attacker - [user]") + if(prob(chassis.deflect_chance*deflect_coeff)) + to_chat(user, "\The [W] bounces off \the [chassis]'s armor.") + chassis.log_append_to_last("Armor saved.") + inc_damage = 0 + else + chassis.occupant_message("\The [user] hits [chassis] with [W].") + user.visible_message("\The [user] hits [chassis] with [W].", "You hit [src] with [W].") + inc_damage *= damage_coeff + set_ready_state(0) + chassis.use_power(energy_drain) + spawn() + do_after_cooldown() + return max(0, inc_damage) + +/* + /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/can_attach(obj/mecha/M as obj) if(..()) if(!M.proc_res["dynattackby"]) @@ -27,10 +51,6 @@ ..() return -/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/get_equip_info() - if(!chassis) return - return "* [src.name]" - /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/proc/dynattackby(obj/item/weapon/W as obj, mob/user as mob) if(!action_checks(user)) return chassis.dynattackby(W,user) @@ -46,4 +66,5 @@ set_ready_state(0) chassis.use_power(energy_drain) do_after_cooldown() - return \ No newline at end of file + return +*/ diff --git a/code/game/mecha/equipment/tools/armor_ranged.dm b/code/game/mecha/equipment/tools/armor_ranged.dm index 2e3523275f..4fb3aac32b 100644 --- a/code/game/mecha/equipment/tools/armor_ranged.dm +++ b/code/game/mecha/equipment/tools/armor_ranged.dm @@ -11,6 +11,45 @@ equip_type = EQUIP_HULL +/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/handle_projectile_contact(var/obj/item/projectile/Proj, var/inc_damage) + if(istype(Proj, /obj/item/projectile/test)) + return inc_damage// Don't care about test projectiles, just what comes after them + if(!action_checks(src)) + return inc_damage + if(prob(chassis.deflect_chance*deflect_coeff)) + chassis.occupant_message("The armor deflects incoming projectile.") + chassis.visible_message("The [chassis.name] armor deflects the projectile.") + chassis.log_append_to_last("Armor saved.") + inc_damage = 0 + else + inc_damage *= src.damage_coeff + set_ready_state(0) + chassis.use_power(energy_drain) + spawn() + do_after_cooldown() + return max(0, inc_damage) + +/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/handle_ranged_contact(var/obj/A, var/inc_damage = 0) + if(!action_checks(A)) + return inc_damage + if(prob(chassis.deflect_chance*deflect_coeff)) + chassis.occupant_message("The [A] bounces off the armor.") + chassis.visible_message("The [A] bounces off \the [chassis]'s armor") + chassis.log_append_to_last("Armor saved.") + inc_damage = 0 + else if(istype(A, /obj)) + inc_damage *= damage_coeff + set_ready_state(0) + chassis.use_power(energy_drain) + spawn() + do_after_cooldown() + return max(0, inc_damage) + +/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/get_equip_info() + if(!chassis) return + return "* [src.name]" + +/* /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/can_attach(obj/mecha/M as obj) if(..()) if(!M.proc_res["dynbulletdamage"] && !M.proc_res["dynhitby"]) @@ -29,10 +68,6 @@ ..() return -/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/get_equip_info() - if(!chassis) return - return "* [src.name]" - /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/proc/dynbulletdamage(var/obj/item/projectile/Proj) if(istype(Proj, /obj/item/projectile/test)) return // Don't care about test projectiles, just what comes after them @@ -69,4 +104,5 @@ set_ready_state(0) chassis.use_power(energy_drain) do_after_cooldown() - return \ No newline at end of file + return +*/ diff --git a/code/game/mecha/equipment/tools/cloak.dm b/code/game/mecha/equipment/tools/cloak.dm new file mode 100644 index 0000000000..6f6ddd1c8f --- /dev/null +++ b/code/game/mecha/equipment/tools/cloak.dm @@ -0,0 +1,70 @@ +/obj/item/mecha_parts/mecha_equipment/cloak + name = "cloaking device" + desc = "Integrated cloaking system. High power usage, but does render you invisible to the naked eye. Doesn't prevent noise, however." + icon_state = "tesla" + origin_tech = list(TECH_MAGNET = 5, TECH_DATA = 5) + equip_cooldown = 2 SECONDS + energy_drain = 300 + range = 0 + + equip_type = EQUIP_SPECIAL + + var/datum/global_iterator/mecha_cloak/cloak_iterator + +/obj/item/mecha_parts/mecha_equipment/cloak/Initialize() + . = ..() + cloak_iterator = new /datum/global_iterator/mecha_cloak(list(src),0) + cloak_iterator.set_delay(equip_cooldown) + +/obj/item/mecha_parts/mecha_equipment/cloak/Destroy() + qdel_null(cloak_iterator) + return ..() + +/obj/item/mecha_parts/mecha_equipment/cloak/detach() + qdel_null(cloak_iterator) + if(!equip_ready) //We were running + stop_cloak() + return ..() + +/obj/item/mecha_parts/mecha_equipment/cloak/get_equip_info() + if(!chassis) + return + return "* [src.name] - [equip_ready ? "A" : "Dea"]ctivate" + +/obj/item/mecha_parts/mecha_equipment/cloak/Topic(href, href_list) + ..() + if(href_list["toggle_cloak"]) + if(equip_ready) + start_cloak() + else + stop_cloak() + return + +/obj/item/mecha_parts/mecha_equipment/cloak/proc/start_cloak() + if(chassis) + chassis.cloak() + log_message("Activated.") + cloak_iterator.start() + set_ready_state(0) + playsound(get_turf(src), 'sound/effects/EMPulse.ogg', 100, 1) + +/obj/item/mecha_parts/mecha_equipment/cloak/proc/stop_cloak() + if(chassis) + chassis.uncloak() + log_message("Deactivated.") + cloak_iterator.stop() + set_ready_state(1) + playsound(get_turf(src), 'sound/effects/EMPulse.ogg', 100, 1) + +// These things are so silly +/datum/global_iterator/mecha_cloak/process(var/obj/item/mecha_parts/mecha_equipment/cloak/cloak) + //Removed from chassis + if(!cloak.chassis) + stop() + cloak.stop_cloak() + return + //Ran out of power + if(!cloak.chassis.use_power(cloak.energy_drain)) + stop() + cloak.stop_cloak() + return diff --git a/code/game/mecha/equipment/tools/hardpoint_actuator.dm b/code/game/mecha/equipment/tools/hardpoint_actuator.dm new file mode 100644 index 0000000000..735fec6f96 --- /dev/null +++ b/code/game/mecha/equipment/tools/hardpoint_actuator.dm @@ -0,0 +1,34 @@ +/* + * A special device used to pick up and equip other exosuit components on the fly, without leaving an Exosuit. Costly. + */ + +/obj/item/mecha_parts/mecha_equipment/hardpoint_actuator + name = "hardpoint actuator clamp" + icon_state = "mecha_clamp" + equip_cooldown = 10 SECONDS + energy_drain = 600 + equip_type = EQUIP_HULL + origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_POWER = 4, TECH_COMBAT = 1, TECH_MAGNET = 4) + +/obj/item/mecha_parts/mecha_equipment/hardpoint_actuator/action(atom/target) + if(!action_checks(target)) + return + + if(istype(target,/obj/item/mecha_parts/mecha_equipment)) + var/obj/item/mecha_parts/mecha_equipment/ME = target + if(ME.can_attach(chassis)) + occupant_message("[ME] can be integrated. Stand by.") + if(do_after(chassis.occupant, 3 SECONDS, target)) + if(ME.can_attach(chassis) && action_checks(target)) + ME.attach(chassis) + occupant_message("[ME] successfully integrated.") + else + occupant_message("[ME] cannot be integrated due to lack of free hardpoints.") + + else + occupant_message("[target] is not compatible with any present hardpoints.") + + set_ready_state(0) + chassis.use_power(energy_drain) + do_after_cooldown() + return diff --git a/code/game/mecha/equipment/tools/inflatables.dm b/code/game/mecha/equipment/tools/inflatables.dm new file mode 100644 index 0000000000..b18ba2eae1 --- /dev/null +++ b/code/game/mecha/equipment/tools/inflatables.dm @@ -0,0 +1,47 @@ +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables + name = "inflatable deployment mechanism" + desc = "An exosuit-mounted inflatable barrier deployer. Useful!" + icon_state = "mecha_inflatables" + origin_tech = list(TECH_MATERIAL = 5, TECH_MAGNET = 3) + equip_cooldown = 3 + energy_drain = 30 + range = MELEE + equip_type = EQUIP_UTILITY + ready_sound = 'sound/effects/spray.ogg' + required_type = list(/obj/mecha/working/ripley) + + tooltype = /obj/item/weapon/inflatable_dispenser/robot + var/obj/item/weapon/inflatable_dispenser/my_deployer = null + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/Initialize() + ..() + my_deployer = my_tool + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/Topic(href, href_list) + ..() + if(href_list["toggle_deployable_mode"]) + my_deployer.attack_self() + update_chassis_page() + return + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/get_equip_info() + if(!chassis) return + var/data_return = "* [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""] - Deploy [my_deployer.mode?"Door":"Wall"]
\ +   - Doors left: [my_deployer.stored_doors]/[my_deployer.max_doors]
\ +   - Walls left: [my_deployer.stored_walls]/[my_deployer.max_walls]" + + return data_return + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/action(atom/target, params) + if(!action_checks(target)) + return + + if(istype(target, /turf)) + my_deployer.try_deploy_inflatable(target, chassis.occupant) + if(istype(target, /obj/item/inflatable) || istype(target, /obj/structure/inflatable)) + my_deployer.pick_up(target, chassis.occupant) + + set_ready_state(0) + chassis.use_power(energy_drain) + do_after_cooldown() + return diff --git a/code/game/mecha/equipment/tools/passenger.dm b/code/game/mecha/equipment/tools/passenger.dm index a84dc2981b..8ce9d21aa9 100644 --- a/code/game/mecha/equipment/tools/passenger.dm +++ b/code/game/mecha/equipment/tools/passenger.dm @@ -1,7 +1,7 @@ /obj/item/mecha_parts/mecha_equipment/tool/passenger name = "passenger compartment" desc = "A mountable passenger compartment for exosuits. Rather cramped." - icon_state = "mecha_abooster_ccw" + icon_state = "mecha_passenger" origin_tech = list(TECH_ENGINEERING = 1, TECH_BIO = 1) energy_drain = 10 range = MELEE diff --git a/code/game/mecha/equipment/tools/wrench.dm b/code/game/mecha/equipment/tools/powertool.dm similarity index 66% rename from code/game/mecha/equipment/tools/wrench.dm rename to code/game/mecha/equipment/tools/powertool.dm index 605c2ee33d..0adcb98929 100644 --- a/code/game/mecha/equipment/tools/wrench.dm +++ b/code/game/mecha/equipment/tools/powertool.dm @@ -38,4 +38,18 @@ desc = "An exosuit-mounted pneumatic prybar." icon_state = "mecha_crowbar" tooltype = /obj/item/weapon/tool/crowbar/power - ready_sound = 'sound/mecha/gasdisconnected.ogg' \ No newline at end of file + ready_sound = 'sound/mecha/gasdisconnected.ogg' + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/cutter + name = "pneumatic cablecutter" + desc = "An exosuit-mounted pneumatic cablecutter." + icon_state = "mecha_cablecutter" + tooltype = /obj/item/weapon/tool/wirecutters/power + ready_sound = 'sound/mecha/gasdisconnected.ogg' + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/screwdriver + name = "pneumatic screwdriver" + desc = "An exosuit-mounted pneumatic screwdriver." + icon_state = "mecha_screwdriver" + tooltype = /obj/item/weapon/tool/screwdriver/power + ready_sound = 'sound/mecha/gasdisconnected.ogg' diff --git a/code/game/mecha/equipment/tools/repair_droid.dm b/code/game/mecha/equipment/tools/repair_droid.dm index f76eeed6f0..f4f9696aa5 100644 --- a/code/game/mecha/equipment/tools/repair_droid.dm +++ b/code/game/mecha/equipment/tools/repair_droid.dm @@ -27,16 +27,16 @@ /obj/item/mecha_parts/mecha_equipment/repair_droid/attach(obj/mecha/M as obj) ..() droid_overlay = new(src.icon, icon_state = "repair_droid") - M.overlays += droid_overlay + M.add_overlay(droid_overlay) return /obj/item/mecha_parts/mecha_equipment/repair_droid/destroy() - chassis.overlays -= droid_overlay + chassis.cut_overlay(droid_overlay) ..() return /obj/item/mecha_parts/mecha_equipment/repair_droid/detach() - chassis.overlays -= droid_overlay + chassis.cut_overlay(droid_overlay) pr_repair_droid.stop() ..() return @@ -49,7 +49,7 @@ /obj/item/mecha_parts/mecha_equipment/repair_droid/Topic(href, href_list) ..() if(href_list["toggle_repairs"]) - chassis.overlays -= droid_overlay + chassis.cut_overlay(droid_overlay) if(pr_repair_droid.toggle()) droid_overlay = new(src.icon, icon_state = "repair_droid_a") log_message("Activated.") @@ -57,7 +57,7 @@ droid_overlay = new(src.icon, icon_state = "repair_droid") log_message("Deactivated.") set_ready_state(1) - chassis.overlays += droid_overlay + chassis.add_overlay(droid_overlay) send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info()) return diff --git a/code/game/mecha/equipment/tools/shield_omni.dm b/code/game/mecha/equipment/tools/shield_omni.dm new file mode 100644 index 0000000000..8088cf296a --- /dev/null +++ b/code/game/mecha/equipment/tools/shield_omni.dm @@ -0,0 +1,97 @@ +#define OMNI_SHIELD_DRAIN 30 + +/obj/item/mecha_parts/mecha_equipment/omni_shield + name = "omni shield" + desc = "A shield generator that forms an ennlosing, omnidirectional shield around the exosuit." + icon_state = "shield" + origin_tech = list(TECH_PHORON = 3, TECH_MAGNET = 6, TECH_ILLEGAL = 4) + equip_cooldown = 5 + energy_drain = OMNI_SHIELD_DRAIN + range = 0 + + var/obj/item/shield_projector/shields = null + var/shield_type = /obj/item/shield_projector/rectangle/mecha + + equip_type = EQUIP_HULL + +/obj/item/mecha_parts/mecha_equipment/omni_shield/critfail() + ..() + shields.adjust_health(-200) + +/obj/item/mecha_parts/mecha_equipment/omni_shield/Destroy() + QDEL_NULL(shields) + ..() + +/obj/item/mecha_parts/mecha_equipment/omni_shield/attach(obj/mecha/M as obj) + . = ..() + if(chassis) + shields = new shield_type(chassis) + +/obj/item/mecha_parts/mecha_equipment/omni_shield/detach() + if(chassis) + QDEL_NULL(shields) + . = ..() + +/obj/item/mecha_parts/mecha_equipment/omni_shield/handle_movement_action() + if(chassis && shields) + shields.update_shield_positions() + +/obj/item/mecha_parts/mecha_equipment/omni_shield/proc/toggle_shield() + ..() + if(shields) + shields.set_on(!shields.active) + if(shields.active) + set_ready_state(0) + log_message("Activated.") + else + set_ready_state(1) + log_message("Deactivated.") + +/obj/item/mecha_parts/mecha_equipment/omni_shield/Topic(href, href_list) + ..() + if(href_list["toggle_omnishield"]) + toggle_shield() + +/obj/item/mecha_parts/mecha_equipment/omni_shield/get_equip_info() + if(!chassis) return + return "* [src.name] - [shields?.active?"Dea":"A"]ctivate" + + +////// The shield projector object +/obj/item/shield_projector/rectangle/mecha + shield_health = 200 + max_shield_health = 200 + shield_regen_delay = 10 SECONDS + shield_regen_amount = 10 + size_x = 1 + size_y = 1 + + var/shift_x = 0 + var/shift_y = 0 + + var/obj/mecha/my_mech = null + +/obj/item/shield_projector/rectangle/mecha/Initialize() + . = ..() + my_mech = loc + GLOB.moved_event.register(my_mech, src, /obj/item/shield_projector/proc/update_shield_positions) + +/obj/item/shield_projector/rectangle/mecha/Destroy() + GLOB.moved_event.unregister(my_mech, src, /obj/item/shield_projector/proc/update_shield_positions) + my_mech = null + ..() + +/obj/item/shield_projector/rectangle/mecha/create_shield() + . = ..() + if(shift_x || shift_y) + var/obj/effect/directional_shield/newshield = active_shields[active_shields.len] + newshield.pixel_x = shift_x + newshield.pixel_y = shift_y + +/obj/item/shield_projector/rectangle/mecha/adjust_health(amount) + . = ..() + my_mech.use_power(OMNI_SHIELD_DRAIN) + if(!active && shield_health < shield_regen_amount) + my_mech.use_power(OMNI_SHIELD_DRAIN * 4) + +#undef OMNI_SHIELD_DRAIN diff --git a/code/game/mecha/equipment/tools/weldinglaser.dm b/code/game/mecha/equipment/tools/weldinglaser.dm new file mode 100644 index 0000000000..ff1c5733a5 --- /dev/null +++ b/code/game/mecha/equipment/tools/weldinglaser.dm @@ -0,0 +1,34 @@ +/obj/item/mecha_parts/mecha_equipment/tool/powertool/welding + name = "welding laser" + desc = "An exosuit-mounted welding laser." + icon_state = "mecha_laser-rig" + origin_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 3, TECH_POWER = 4, TECH_PHORON = 2) + equip_cooldown = 3 + energy_drain = 15 + range = MELEE + equip_type = EQUIP_UTILITY + ready_sound = 'sound/items/Ratchet.ogg' + required_type = list(/obj/mecha/working/ripley) + + tooltype = /obj/item/weapon/weldingtool/electric/mounted/exosuit + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/welding/action(var/atom/target) + ..() + + var/datum/beam/weld_beam = null + if(is_ranged()) + var/atom/movable/beam_origin = chassis + weld_beam = beam_origin.Beam(target, icon_state = "solar_beam", time = 0.3 SECONDS) + + if(!do_after(chassis.occupant, 0.3 SECONDS, target)) + qdel(weld_beam) + +/obj/item/mecha_parts/mecha_equipment/tool/powertool/welding/attach(obj/mecha/M as obj) + ..() + + if(enable_special) + range = MELEE|RANGED + my_tool.reach = 7 + else + range = MELEE + my_tool.reach = 1 diff --git a/code/game/mecha/equipment/weapons/defense/shocker.dm b/code/game/mecha/equipment/weapons/defense/shocker.dm index af120167d2..58dccec562 100644 --- a/code/game/mecha/equipment/weapons/defense/shocker.dm +++ b/code/game/mecha/equipment/weapons/defense/shocker.dm @@ -15,6 +15,7 @@ equip_type = EQUIP_HULL +/* /obj/item/mecha_parts/mecha_equipment/shocker/can_attach(obj/mecha/M as obj) if(..()) if(!M.proc_res["dynattackby"] && !M.proc_res["dynattackhand"] && !M.proc_res["dynattackalien"]) @@ -25,9 +26,11 @@ ..() chassis.proc_res["dynattackby"] = src return +*/ -/obj/item/mecha_parts/mecha_equipment/shocker/proc/dynattackby(obj/item/weapon/W, mob/living/user) +/obj/item/mecha_parts/mecha_equipment/shocker/handle_melee_contact(var/obj/item/weapon/W, var/mob/living/user, var/inc_damage = null) if(!action_checks(user) || !active) return + user.electrocute_act(shock_damage, src) - return chassis.dynattackby(W,user) + return inc_damage diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 71a7610547..a881cdb720 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -5,7 +5,7 @@ desc = "A machine used for construction of mechas." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 20 active_power_usage = 5000 req_access = list(access_robotics) @@ -13,8 +13,8 @@ var/speed = 1 var/mat_efficiency = 1 - var/list/materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, "plastic" = 0, MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, "phoron" = 0, "uranium" = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) - var/list/hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) + var/list/materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, "plastic" = 0, MAT_GRAPHITE = 0, MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, "phoron" = 0, "uranium" = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) + var/list/hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_GRAPHITE, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) var/res_max_amount = 200000 var/datum/research/files @@ -48,11 +48,11 @@ if(stat) return if(busy) - use_power = 2 + update_use_power(USE_POWER_ACTIVE) progress += speed check_build() else - use_power = 1 + update_use_power(USE_POWER_IDLE) update_icon() /obj/machinery/mecha_part_fabricator/update_icon() diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm index 39b4cf1623..5e93378a0c 100644 --- a/code/game/mecha/mech_prosthetics.dm +++ b/code/game/mecha/mech_prosthetics.dm @@ -5,7 +5,7 @@ desc = "A machine used for construction of prosthetics." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 20 active_power_usage = 5000 req_access = list(access_robotics) @@ -13,8 +13,8 @@ var/speed = 1 var/mat_efficiency = 1 - var/list/materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, "plastic" = 0, MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, "phoron" = 0, "uranium" = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0) - var/list/hidden_materials = list(MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM) + var/list/materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, "plastic" = 0, MAT_GRAPHITE = 0, MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, "phoron" = 0, "uranium" = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0) + var/list/hidden_materials = list(MAT_DURASTEEL, MAT_GRAPHITE, MAT_VERDANTIUM, MAT_MORPHIUM) var/res_max_amount = 200000 var/datum/research/files @@ -25,6 +25,8 @@ var/list/categories = list() var/category = null var/manufacturer = null + var/species_types = list("Human") + var/species = "Human" var/sync_message = "" /obj/machinery/pros_fabricator/New() @@ -50,11 +52,11 @@ if(stat) return if(busy) - use_power = 2 + update_use_power(USE_POWER_ACTIVE) progress += speed check_build() else - use_power = 1 + update_use_power(USE_POWER_IDLE) update_icon() /obj/machinery/pros_fabricator/update_icon() @@ -100,11 +102,14 @@ data["buildable"] = get_build_options() data["category"] = category data["categories"] = categories + data["species_types"] = species_types + data["species"] = species if(all_robolimbs) var/list/T = list() for(var/A in all_robolimbs) var/datum/robolimb/R = all_robolimbs[A] if(R.unavailable_to_build) continue + if(species in R.species_cannot_use) continue T += list(list("id" = A, "company" = R.company)) data["manufacturers"] = T data["manufacturer"] = manufacturer @@ -135,6 +140,10 @@ if(href_list["category"] in categories) category = href_list["category"] + if(href_list["species"]) + if(href_list["species"] in species_types) + species = href_list["species"] + if(href_list["manufacturer"]) if(href_list["manufacturer"] in all_robolimbs) manufacturer = href_list["manufacturer"] @@ -173,6 +182,18 @@ qdel(I) return + if(istype(I,/obj/item/weapon/disk/species)) + var/obj/item/weapon/disk/species/D = I + if(!D.species || !(D.species in GLOB.all_species)) + to_chat(user, "This disk seems to be corrupted!") + else + to_chat(user, "Uploading modification files for [D.species]...") + if(do_after(user,50,src)) + species_types |= D.species + to_chat(user, "Uploaded [D.species] files!") + qdel(I) + return + if(istype(I,/obj/item/stack/material)) var/obj/item/stack/material/S = I if(!(S.material.name in materials)) diff --git a/code/game/mecha/mech_sensor.dm b/code/game/mecha/mech_sensor.dm index 72202788b9..33147e0ab1 100644 --- a/code/game/mecha/mech_sensor.dm +++ b/code/game/mecha/mech_sensor.dm @@ -6,7 +6,7 @@ anchored = 1 density = 1 throwpass = 1 - use_power = 1 + use_power = USE_POWER_IDLE layer = ON_WINDOW_LAYER power_channel = EQUIP var/on = 0 diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index d6bcedc569..2ffae96f56 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -259,7 +259,9 @@ /obj/mecha/proc/check_for_support() - if(locate(/obj/structure/grille, orange(1, src)) || locate(/obj/structure/lattice, orange(1, src)) || locate(/turf/simulated, orange(1, src)) || locate(/turf/unsimulated, orange(1, src))) + var/list/things = orange(1, src) + + if(locate(/obj/structure/grille in things) || locate(/obj/structure/lattice in things) || locate(/turf/simulated in things) || locate(/turf/unsimulated in things)) return 1 else return 0 @@ -397,21 +399,26 @@ /obj/mecha/relaymove(mob/user,direction) if(user != src.occupant) //While not "realistic", this piece is player friendly. if(istype(user,/mob/living/carbon/brain)) - to_chat(user, "You try to move, but you are not the pilot! The exosuit doesn't respond.") + to_chat(user, "You try to move, but you are not the pilot! The exosuit doesn't respond.") return 0 user.forceMove(get_turf(src)) to_chat(user, "You climb out from [src]") return 0 if(connected_port) if(world.time - last_message > 20) - src.occupant_message("Unable to move while connected to the air system port") + src.occupant_message("Unable to move while connected to the air system port") last_message = world.time return 0 if(state) - occupant_message("Maintenance protocols in effect") + occupant_message("Maintenance protocols in effect") return return domove(direction) +/obj/mecha/proc/can_ztravel() + for(var/obj/item/mecha_parts/mecha_equipment/tool/jetpack/jp in equipment) + return jp.equip_ready + return FALSE + /obj/mecha/proc/domove(direction) return call((proc_res["dyndomove"]||src), "dyndomove")(direction) @@ -423,20 +430,51 @@ return 0 if(!has_charge(step_energy_drain)) return 0 + var/move_result = 0 + if(hasInternalDamage(MECHA_INT_CONTROL_LOST)) move_result = mechsteprand() - else if(src.dir!=direction) + //Up/down zmove + else if(direction & UP || direction & DOWN) + if(!can_ztravel()) + occupant_message("Your vehicle lacks the capacity to move in that direction!") + return FALSE + + //We're using locs because some mecha are 2x2 turfs. So thicc! + var/result = TRUE + + for(var/turf/T in locs) + if(!T.CanZPass(src,direction)) + occupant_message("You can't move that direction from here!") + result = FALSE + break + var/turf/dest = direction & UP ? GetAbove(T) : GetBelow(T) + if(!dest) + occupant_message("There is nothing of interest in this direction.") + result = FALSE + break + if(!dest.CanZPass(src,direction)) + occupant_message("There's something blocking your movement in that direction!") + result = FALSE + break + if(result) + move_result = mechstep(direction) + //Turning + else if(src.dir != direction) move_result = mechturn(direction) + //Stepping else move_result = mechstep(direction) + + if(move_result) can_move = 0 use_power(step_energy_drain) if(istype(src.loc, /turf/space)) if(!src.check_for_support()) src.pr_inertial_movement.start(list(src,direction)) - src.log_message("Movement control lost. Inertial movement started.") + src.log_message("Movement control lost. Inertial movement started.") if(do_after(step_in)) can_move = 1 return 1 @@ -622,7 +660,12 @@ else if(istype(A, /obj)) var/obj/O = A if(O.throwforce) - src.take_damage(O.throwforce) + + var/pass_damage = O.throwforce + for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment) + pass_damage = ME.handle_ranged_contact(A, pass_damage) + + src.take_damage(pass_damage) src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) return @@ -652,7 +695,12 @@ var/ignore_threshold if(istype(Proj, /obj/item/projectile/beam/pulse)) ignore_threshold = 1 - src.take_damage(Proj.damage, Proj.check_armour) + + var/pass_damage = Proj.damage + for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment) + pass_damage = ME.handle_projectile_contact(Proj, pass_damage) + + src.take_damage(pass_damage, Proj.check_armour) if(prob(25)) spark_system.start() src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),ignore_threshold) @@ -748,7 +796,11 @@ else src.occupant_message("[user] hits [src] with [W].") user.visible_message("[user] hits [src] with [W].", "You hit [src] with [W].") - src.take_damage(W.force,W.damtype) + + var/pass_damage = W.force + for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment) + pass_damage = ME.handle_projectile_contact(W, user, pass_damage) + src.take_damage(pass_damage,W.damtype) src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) return @@ -1208,26 +1260,32 @@ src.icon_state = src.reset_icon() set_dir(dir_in) playsound(src, 'sound/machines/windowdoor.ogg', 50, 1) - if(!hasInternalDamage()) //Otherwise it's not nominal! - switch(mech_faction) - if(MECH_FACTION_NT)//The good guys category - if(firstactivation)//First time = long activation sound - firstactivation = 1 - src.occupant << sound('sound/mecha/LongNanoActivation.ogg',volume=50) - else - src.occupant << sound('sound/mecha/nominalnano.ogg',volume=50) - if(MECH_FACTION_SYNDI)//Bad guys - if(firstactivation) - firstactivation = 1 - src.occupant << sound('sound/mecha/LongSyndiActivation.ogg',volume=50) - else - src.occupant << sound('sound/mecha/nominalsyndi.ogg',volume=50) - else//Everyone else gets the normal noise - src.occupant << sound('sound/mecha/nominal.ogg',volume=50) + if(occupant.client && cloaked_selfimage) + occupant.client.images += cloaked_selfimage + play_entered_noise(occupant) return 1 else return 0 +/obj/mecha/proc/play_entered_noise(var/mob/who) + if(!hasInternalDamage()) //Otherwise it's not nominal! + switch(mech_faction) + if(MECH_FACTION_NT)//The good guys category + if(firstactivation)//First time = long activation sound + firstactivation = 1 + who << sound('sound/mecha/LongNanoActivation.ogg',volume=50) + else + who << sound('sound/mecha/nominalnano.ogg',volume=50) + if(MECH_FACTION_SYNDI)//Bad guys + if(firstactivation) + firstactivation = 1 + who << sound('sound/mecha/LongSyndiActivation.ogg',volume=50) + else + who << sound('sound/mecha/nominalsyndi.ogg',volume=50) + else//Everyone else gets the normal noise + who << sound('sound/mecha/nominal.ogg',volume=50) + + /obj/mecha/verb/view_stats() set name = "View Stats" set category = "Exosuit Interface" @@ -1271,45 +1329,21 @@ else return if(mob_container.forceMove(src.loc))//ejecting mob container - /* - if(ishuman(occupant) && (return_pressure() > HAZARD_HIGH_PRESSURE)) - use_internal_tank = 0 - var/datum/gas_mixture/environment = get_turf_air() - if(environment) - var/env_pressure = environment.return_pressure() - var/pressure_delta = (cabin.return_pressure() - env_pressure) - //Can not have a pressure delta that would cause environment pressure > tank pressure - - var/transfer_moles = 0 - if(pressure_delta > 0) - transfer_moles = pressure_delta*environment.volume/(cabin.return_temperature() * R_IDEAL_GAS_EQUATION) - - //Actually transfer the gas - var/datum/gas_mixture/removed = cabin.air_contents.remove(transfer_moles) - loc.assume_air(removed) - - occupant.SetStunned(5) - occupant.SetWeakened(5) - to_chat(occupant, "You were blown out of the mech!") - */ - src.log_message("[mob_container] moved out.") + log_message("[mob_container] moved out.") occupant.reset_view() - /* - if(src.occupant.client) - src.occupant.client.eye = src.occupant.client.mob - src.occupant.client.perspective = MOB_PERSPECTIVE - */ - src.occupant << browse(null, "window=exosuit") + occupant << browse(null, "window=exosuit") + if(occupant.client && cloaked_selfimage) + occupant.client.images -= cloaked_selfimage if(istype(mob_container, /obj/item/device/mmi)) var/obj/item/device/mmi/mmi = mob_container if(mmi.brainmob) occupant.loc = mmi mmi.mecha = null - src.occupant.canmove = 0 - src.occupant = null - src.icon_state = src.reset_icon()+"-open" - src.set_dir(dir_in) - src.verbs -= /obj/mecha/verb/eject + occupant.canmove = 0 + occupant = null + icon_state = src.reset_icon()+"-open" + set_dir(dir_in) + verbs -= /obj/mecha/verb/eject return ///////////////////////// @@ -1829,7 +1863,7 @@ O.aiRestorePowerRoutine = 0 O.control_disabled = 1 // Can't control things remotely if you're stuck in a card! O.laws = AI.laws - O.stat = AI.stat + O.set_stat(AI.stat) O.oxyloss = AI.getOxyLoss() O.fireloss = AI.getFireLoss() O.bruteloss = AI.getBruteLoss() @@ -2018,6 +2052,17 @@ ///////////// +/obj/mecha/cloak() + . = ..() + if(occupant && occupant.client && cloaked_selfimage) + occupant.client.images += cloaked_selfimage + +/obj/mecha/uncloak() + if(occupant && occupant.client && cloaked_selfimage) + occupant.client.images -= cloaked_selfimage + return ..() + + //debug /* /obj/mecha/verb/test_int_damage() diff --git a/code/game/mecha/space/hoverpod.dm b/code/game/mecha/space/hoverpod.dm index 31558458d9..fc5fc1e739 100644 --- a/code/game/mecha/space/hoverpod.dm +++ b/code/game/mecha/space/hoverpod.dm @@ -26,11 +26,20 @@ max_universal_equip = 1 max_special_equip = 1 -/obj/mecha/working/hoverpod/New() - ..() +/obj/mecha/working/hoverpod/Initialize() + . = ..() ion_trail = new /datum/effect/effect/system/ion_trail_follow() ion_trail.set_up(src) - ion_trail.start() + +/obj/mecha/working/hoverpod/moved_inside(var/mob/living/carbon/human/H as mob) + . = ..(H) + if(.) + ion_trail.start() + +/obj/mecha/working/hoverpod/go_out() + . = ..() + if(!occupant) + ion_trail.stop() //Modified phazon code /obj/mecha/working/hoverpod/Topic(href, href_list) @@ -52,6 +61,9 @@ output += ..() return output +/obj/mecha/working/hoverpod/can_ztravel() + return (stabilization_enabled && has_charge(step_energy_drain)) + // No space drifting /obj/mecha/working/hoverpod/check_for_support() //does the hoverpod have enough charge left to stabilize itself? @@ -106,7 +118,7 @@ max_special_equip = 1 /obj/mecha/working/hoverpod/combatpod/Initialize() - ..() + . = ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive @@ -117,7 +129,7 @@ desc = "Who knew a tiny ball could fit three people?" /obj/mecha/working/hoverpod/shuttlepod/Initialize() - ..() + . = ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/tool/passenger diff --git a/code/game/mecha/space/shuttle.dm b/code/game/mecha/space/shuttle.dm index 7e361ece0c..bf9aec3476 100644 --- a/code/game/mecha/space/shuttle.dm +++ b/code/game/mecha/space/shuttle.dm @@ -41,44 +41,30 @@ max_universal_equip = 1 max_special_equip = 1 -/obj/mecha/working/hoverpod/Initialize() - ..() - ion_trail.stop() - -/obj/mecha/working/hoverpod/shuttlecraft/moved_inside(var/mob/living/carbon/human/H as mob) - . = ..(H) - if(.) - ion_trail.start() - -/obj/mecha/working/hoverpod/shuttlecraft/go_out() - . = ..() - if(!occupant) - ion_trail.stop() - /obj/mecha/working/hoverpod/shuttlecraft/update_icon() - overlays.Cut() + cut_overlays() ..() if(base_paint) if(!base_paint_mask) base_paint_mask = image(icon, "[initial_icon]-mask+base", src.layer + 1) base_paint_mask.color = base_paint - overlays |= base_paint_mask + add_overlay(base_paint_mask) if(front_paint) if(!front_paint_mask) front_paint_mask = image(icon, "[initial_icon]-mask+front", src.layer + 1) front_paint_mask.color = front_paint - overlays |= front_paint_mask + add_overlay(front_paint_mask) if(engine_paint) if(!engine_paint_mask) engine_paint_mask = image(icon, "[initial_icon]-mask+engine", src.layer + 1) engine_paint_mask.color = engine_paint - overlays |= engine_paint_mask + add_overlay(engine_paint_mask) if(central_paint) if(!engine_paint_mask) central_paint_mask = image(icon, "[initial_icon]-mask+central", src.layer + 2) central_paint_mask.color = central_paint - overlays |= central_paint_mask + add_overlay(central_paint_mask) /obj/mecha/working/hoverpod/shuttlecraft/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W,/obj/item/device/multitool) && state == 1) diff --git a/code/game/objects/effects/chem/chemsmoke.dm b/code/game/objects/effects/chem/chemsmoke.dm index 43b42cbac9..2bbb10c8af 100644 --- a/code/game/objects/effects/chem/chemsmoke.dm +++ b/code/game/objects/effects/chem/chemsmoke.dm @@ -29,11 +29,10 @@ show_log = 0 var/datum/seed/seed -/datum/effect/effect/system/smoke_spread/chem/spores/New(seed_name) - if(seed_name && plant_controller) - seed = plant_controller.seeds[seed_name] - if(!seed) - qdel(src) +/datum/effect/effect/system/smoke_spread/chem/spores/New(_seed) + seed = _seed + if(!istype(seed)) + CRASH("Invalid seed datum passed! [seed] ([seed?.type])") ..() /datum/effect/effect/system/smoke_spread/chem/New() diff --git a/code/game/objects/effects/chem/foam.dm b/code/game/objects/effects/chem/foam.dm index e89355086f..5a461e1525 100644 --- a/code/game/objects/effects/chem/foam.dm +++ b/code/game/objects/effects/chem/foam.dm @@ -15,25 +15,30 @@ var/expand = 1 var/metal = 0 -/obj/effect/effect/foam/New(var/loc, var/ismetal = 0) - ..(loc) +/obj/effect/effect/foam/Initialize(var/mapload, var/ismetal = 0) + . = ..() icon_state = "[ismetal? "m" : ""]foam" metal = ismetal playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3) - spawn(3 + metal * 3) - process() - checkReagents() - spawn(120) - STOP_PROCESSING(SSobj, src) - sleep(30) - if(metal) - var/obj/structure/foamedmetal/M = new(src.loc) - M.metal = metal - M.updateicon() - flick("[icon_state]-disolve", src) - sleep(5) - qdel(src) - return + + addtimer(CALLBACK(src, .proc/post_spread), 3 + metal * 3) + addtimer(CALLBACK(src, .proc/pre_harden), 12 SECONDS) + addtimer(CALLBACK(src, .proc/harden), 15 SECONDS) + +/obj/effect/effect/foam/proc/post_spread() + process() + checkReagents() + +/obj/effect/effect/foam/proc/pre_harden() + STOP_PROCESSING(SSobj, src) + +/obj/effect/effect/foam/proc/harden() + if(metal) + var/obj/structure/foamedmetal/M = new(src.loc) + M.metal = metal + M.updateicon() + flick("[icon_state]-disolve", src) + QDEL_IN(src, 5) /obj/effect/effect/foam/proc/checkReagents() // transfer any reagents to the floor if(!metal && reagents) @@ -74,12 +79,8 @@ qdel(src) /obj/effect/effect/foam/Crossed(var/atom/movable/AM) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(AM.is_incorporeal()) + return if(metal) return if(istype(AM, /mob/living)) diff --git a/code/game/objects/effects/chem/water.dm b/code/game/objects/effects/chem/water.dm index ee1c75980c..7de9b9f8ff 100644 --- a/code/game/objects/effects/chem/water.dm +++ b/code/game/objects/effects/chem/water.dm @@ -5,11 +5,9 @@ mouse_opacity = 0 pass_flags = PASSTABLE | PASSGRILLE | PASSBLOB -/obj/effect/effect/water/New(loc) - ..() - spawn(150) // In case whatever made it forgets to delete it - if(src) - qdel(src) +/obj/effect/effect/water/Initialize() + . = ..() + QDEL_IN(src, 15 SECONDS) /obj/effect/effect/water/proc/set_color() // Call it after you move reagents to it icon += reagents.get_color() diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index f9c70c9f16..fba219e924 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -20,7 +20,6 @@ var/global/list/image/splatter_cache=list() var/synthblood = 0 var/list/datum/disease2/disease/virus2 = list() var/amount = 5 - var/drytime /obj/effect/decal/cleanable/blood/reveal_blood() if(!fluorescent) @@ -33,13 +32,8 @@ var/global/list/image/splatter_cache=list() if(invisibility != 100) invisibility = 100 amount = 0 - STOP_PROCESSING(SSobj, src) ..(ignore=1) -/obj/effect/decal/cleanable/blood/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - /obj/effect/decal/cleanable/blood/New() ..() update_icon() @@ -52,12 +46,7 @@ var/global/list/image/splatter_cache=list() if (B.blood_DNA) blood_DNA |= B.blood_DNA.Copy() qdel(B) - drytime = world.time + DRYING_TIME * (amount+1) - START_PROCESSING(SSobj, src) - -/obj/effect/decal/cleanable/blood/process() - if(world.time > drytime) - dry() + addtimer(CALLBACK(src, .proc/dry), DRYING_TIME * (amount+1)) /obj/effect/decal/cleanable/blood/update_icon() if(basecolor == "rainbow") basecolor = "#[get_random_colour(1)]" @@ -70,12 +59,8 @@ var/global/list/image/splatter_cache=list() desc = initial(desc) /obj/effect/decal/cleanable/blood/Crossed(mob/living/carbon/human/perp) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = perp - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(perp.is_incorporeal()) + return if (!istype(perp)) return if(amount < 1) @@ -120,7 +105,6 @@ var/global/list/image/splatter_cache=list() desc = drydesc color = adjust_brightness(color, -50) amount = 0 - STOP_PROCESSING(SSobj, src) /obj/effect/decal/cleanable/blood/attack_hand(mob/living/carbon/human/user) ..() @@ -245,14 +229,18 @@ var/global/list/image/splatter_cache=list() random_icon_states = list("mucus") var/list/datum/disease2/disease/virus2 = list() - var/dry=0 // Keeps the lag down + var/dry = 0 // Keeps the lag down -/obj/effect/decal/cleanable/mucus/New() - spawn(DRYING_TIME * 2) - dry=1 +/obj/effect/decal/cleanable/mucus/Initialize() + . = ..() + VARSET_IN(src, dry, TRUE, DRYING_TIME * 2) //This version should be used for admin spawns and pre-mapped virus vectors (e.g. in PoIs), this version does not dry -/obj/effect/decal/cleanable/mucus/mapped/New() - ..() +/obj/effect/decal/cleanable/mucus/mapped/Initialize() + . = ..() virus2 |= new /datum/disease2/disease virus2[1].makerandom() + +/obj/effect/decal/cleanable/mucus/mapped/Destroy() + virus2.Cut() + return ..() diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index b7d45a9cb3..7d5275cbcd 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -185,12 +185,8 @@ steam.start() -- spawns the effect qdel(src) /obj/effect/effect/smoke/Crossed(mob/living/carbon/M as mob ) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = M - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(M.is_incorporeal()) + return ..() if(istype(M)) affect(M) diff --git a/code/game/objects/effects/landmarks_vr.dm b/code/game/objects/effects/landmarks_vr.dm new file mode 100644 index 0000000000..1111b71724 --- /dev/null +++ b/code/game/objects/effects/landmarks_vr.dm @@ -0,0 +1,39 @@ +/obj/effect/landmark/late_antag + name = "Antag Latespawn" + var/antag_id + +/obj/effect/landmark/late_antag/Initialize() + . = ..() + var/datum/antagonist/A = all_antag_types[antag_id] + if(istype(A)) + A.starting_locations |= get_turf(src) + var/list/allpoints = all_antag_spawnpoints[A.landmark_id] + allpoints |= get_turf(src) + +/obj/effect/landmark/late_antag/ert + name = "Response Team - Lateload" + antag_id = MODE_ERT + +/obj/effect/landmark/late_antag/trader + name = "Trader - Lateload" + antag_id = MODE_TRADE + +/obj/effect/landmark/late_antag/wizard + name = "Wizard - Lateload" + antag_id = MODE_WIZARD + +/obj/effect/landmark/late_antag/technomancer + name = "Technomancer - Lateload" + antag_id = MODE_TECHNOMANCER + +/obj/effect/landmark/late_antag/mercenary + name = "Mercenary - Lateload" + antag_id = MODE_MERCENARY + +/obj/effect/landmark/late_antag/ninja + name = "Ninja - Lateload" + antag_id = MODE_NINJA + +/obj/effect/landmark/late_antag/raider + name = "Raider - Lateload" + antag_id = MODE_RAIDER \ No newline at end of file diff --git a/code/game/objects/effects/map_effects/beam_point.dm b/code/game/objects/effects/map_effects/beam_point.dm index 524686874c..c10e8b0315 100644 --- a/code/game/objects/effects/map_effects/beam_point.dm +++ b/code/game/objects/effects/map_effects/beam_point.dm @@ -36,8 +36,7 @@ GLOBAL_LIST_EMPTY(all_beam_points) if(make_beams_on_init) create_beams() if(use_timer) - spawn(initial_delay) - handle_beam_timer() + addtimer(CALLBACK(src, .proc/handle_beam_timer), initial_delay) return ..() /obj/effect/map_effect/beam_point/Destroy() diff --git a/code/game/objects/effects/map_effects/perma_light.dm b/code/game/objects/effects/map_effects/perma_light.dm index 3a82dc7e69..281c128fe6 100644 --- a/code/game/objects/effects/map_effects/perma_light.dm +++ b/code/game/objects/effects/map_effects/perma_light.dm @@ -6,4 +6,12 @@ light_range = 3 light_power = 1 + light_color = "#FFFFFF" + +/obj/effect/map_effect/perma_light/brighter + name = "permanent light (bright)" + icon_state = "permalight" + + light_range = 5 + light_power = 3 light_color = "#FFFFFF" \ No newline at end of file diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index fb4117ef44..fb82e6515a 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -16,6 +16,10 @@ icon_state = "uglyminearmed" wires = new(src) +/obj/effect/mine/Destroy() + qdel_null(wires) + return ..() + /obj/effect/mine/proc/explode(var/mob/living/M) var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() triggered = 1 @@ -35,13 +39,9 @@ explode() ..() -/obj/effect/mine/Crossed(AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/effect/mine/Crossed(atom/movable/AM as mob|obj) + if(AM.is_incorporeal()) + return Bumped(AM) /obj/effect/mine/Bumped(mob/M as mob|obj) diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 5fca6fbecf..98f10d6040 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -14,11 +14,10 @@ invisibility = 0 var/time_to_die = 10 SECONDS // Afer which, it will delete itself. -/obj/effect/temporary_effect/New() - ..() +/obj/effect/temporary_effect/Initialize() + . = ..() if(time_to_die) - spawn(time_to_die) - qdel(src) + QDEL_IN(src, time_to_die) // Shown really briefly when attacking with axes. /obj/effect/temporary_effect/cleave_attack diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index 1a9488a0a6..c549a7e3d1 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -20,13 +20,9 @@ GLOBAL_LIST_BOILERPLATE(all_portals, /obj/effect/portal) return return -/obj/effect/portal/Crossed(AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/effect/portal/Crossed(atom/movable/AM as mob|obj) + if(AM.is_incorporeal()) + return if(istype(AM,/mob) && !(istype(AM,/mob/living))) return //do not send ghosts, zshadows, ai eyes, etc spawn(0) @@ -42,12 +38,9 @@ GLOBAL_LIST_BOILERPLATE(all_portals, /obj/effect/portal) return return -/obj/effect/portal/New() - ..() // Necessary for the list boilerplate to work - spawn(300) - qdel(src) - return - return +/obj/effect/portal/Initialize() + . = ..() + QDEL_IN(src, 30 SECONDS) /obj/effect/portal/proc/teleport(atom/movable/M as mob|obj) if(istype(M, /obj/effect)) //sparks don't teleport diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 109bebeef5..3e10773800 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -40,6 +40,18 @@ health -= damage healthcheck() +/obj/effect/spider/spiderling/attack_hand(mob/living/user) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) + user.do_attack_animation(src) + if(prob(20)) + visible_message("\The [user] tries to stomp on \the [src], but misses!") + var/list/nearby = oview(2, src) + if(length(nearby)) + walk_to(src, pick(nearby), 2) + return + visible_message("\The [user] stomps \the [src] dead!") + die() + /obj/effect/spider/bullet_act(var/obj/item/projectile/Proj) ..() health -= Proj.get_structure_damage() diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 870656d92e..a3c3c242c2 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -12,13 +12,9 @@ /obj/effect/step_trigger/proc/Trigger(var/atom/movable/A) return 0 -/obj/effect/step_trigger/Crossed(H as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = H - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/effect/step_trigger/Crossed(atom/movable/H as mob|obj) + if(H.is_incorporeal()) + return ..() if(!H) return diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 04046985c6..eb2aefeb5c 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -24,7 +24,54 @@ icon_state = "smoke" duration = 50 -// VOREStation Add - Used by Kinetic Accelerator +/obj/effect/temp_visual/impact_effect + icon_state = "impact_bullet" + plane = PLANE_LIGHTING_ABOVE // So they're visible even in a shootout in maint. + duration = 5 + +/obj/effect/temp_visual/impact_effect/Initialize(mapload, obj/item/projectile/P, x, y) + pixel_x = x + pixel_y = y + return ..() + +/obj/effect/temp_visual/impact_effect/red_laser + icon_state = "impact_laser" + duration = 4 + +/obj/effect/temp_visual/impact_effect/red_laser/wall + icon_state = "impact_laser_wall" + duration = 10 + +/obj/effect/temp_visual/impact_effect/blue_laser + icon_state = "impact_laser_blue" + duration = 4 + +/obj/effect/temp_visual/impact_effect/green_laser + icon_state = "impact_laser_green" + duration = 4 + +/obj/effect/temp_visual/impact_effect/purple_laser + icon_state = "impact_laser_purple" + duration = 4 + +// Colors itself based on the projectile. +// Checks light_color and color. +/obj/effect/temp_visual/impact_effect/monochrome_laser + icon_state = "impact_laser_monochrome" + duration = 4 + +/obj/effect/temp_visual/impact_effect/monochrome_laser/Initialize(mapload, obj/item/projectile/P, x, y) + if(P.light_color) + color = P.light_color + else if(P.color) + color = P.color + return ..() + +/obj/effect/temp_visual/impact_effect/ion + icon_state = "shieldsparkles" + duration = 6 + +// VOREStation Add - Kinetic Accelerator/Medigun /obj/effect/temp_visual/kinetic_blast name = "kinetic explosion" icon = 'icons/obj/projectiles.dmi' @@ -43,9 +90,7 @@ /obj/effect/temp_visual/explosion/fast icon_state = "explosionfast" duration = 4 -// VOREStation Add End -//VOREStation edit: medigun /obj/effect/temp_visual/heal name = "healing glow" icon_state = "heal" @@ -54,4 +99,4 @@ /obj/effect/temp_visual/heal/Initialize(mapload) pixel_x = rand(-12, 12) pixel_y = rand(-9, 0) -//VOREStation edit ends \ No newline at end of file +// VOREStation Add End diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 78f8ab4ffe..f6fb3c94cf 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -92,6 +92,8 @@ var/icon/default_worn_icon //Default on-mob icon var/worn_layer //Default on-mob layer + var/drop_sound = 'sound/items/drop/device.ogg' // drop sound - this is the default + /obj/item/New() ..() if(embed_chance < 0) @@ -274,6 +276,11 @@ /obj/item/proc/moved(mob/user as mob, old_loc as turf) return +/obj/item/throw_impact(atom/hit_atom) + ..() + if(drop_sound) + playsound(src, drop_sound, 50, 0, preference = /datum/client_preference/drop_sounds) + // apparently called whenever an item is removed from a slot, container, or anything else. /obj/item/proc/dropped(mob/user as mob) ..() @@ -627,6 +634,8 @@ modules/mob/mob_movement.dm if you move you will be zoomed out modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. */ //Looking through a scope or binoculars should /not/ improve your periphereal vision. Still, increase viewsize a tiny bit so that sniping isn't as restricted to NSEW +/obj/item/var/ignore_visor_zoom_restriction = FALSE + /obj/item/proc/zoom(var/tileoffset = 14,var/viewsize = 9) //tileoffset is client view offset in the direction the user is facing. viewsize is how far out this thing zooms. 7 is normal view var/devicename @@ -654,7 +663,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. if(!zoom && !cannotzoom) if(H.hud_used.hud_shown) H.toggle_zoom_hud() // If the user has already limited their HUD this avoids them having a HUD when they zoom in - H.client.view = viewsize + H.set_viewsize(viewsize) zoom = 1 var/tilesize = 32 @@ -675,11 +684,12 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. H.client.pixel_y = 0 H.visible_message("[usr] peers through the [zoomdevicename ? "[zoomdevicename] of the [src.name]" : "[src.name]"].") - H.looking_elsewhere = TRUE + if(!ignore_visor_zoom_restriction) + H.looking_elsewhere = TRUE H.handle_vision() else - H.client.view = world.view + H.set_viewsize() // Reset to default if(!H.hud_used.hud_shown) H.toggle_zoom_hud() zoom = 0 diff --git a/code/game/objects/items/contraband_vr.dm b/code/game/objects/items/contraband_vr.dm index 0f9b8acabc..a7b0c48aa9 100644 --- a/code/game/objects/items/contraband_vr.dm +++ b/code/game/objects/items/contraband_vr.dm @@ -99,3 +99,13 @@ storage_slots = 7 can_hold = list(/obj/item/clothing/mask/smokable/cigarette/cigar/havana) icon_type = "cigar" + +/obj/item/weapon/miscdisc + name = "wah thing" + desc = "wahwahwah wahwahwa" + icon_state = "wahdisc" + icon = 'icons/obj/contraband_vr.dmi' + w_class = ITEMSIZE_NORMAL + +/obj/item/weapon/miscdisc/attack_self(mob/living/user as mob) + to_chat(user, "LORE.") \ No newline at end of file diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 830ae91daf..0cd94e2cae 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -48,6 +48,7 @@ var/global/list/obj/item/device/pda/PDAs = list() var/list/conversations = list() // For keeping up with who we have PDA messsages from. var/new_message = 0 //To remove hackish overlay check var/new_news = 0 + var/touch_silent = 0 //If 1, no beeps on interacting. var/active_feed // The selected feed var/list/warrant // The warrant as we last knew it @@ -87,6 +88,11 @@ var/global/list/obj/item/device/pda/PDAs = list() else to_chat(usr, "This PDA does not have an ID in it.") +//Bloop when using: +/obj/item/device/pda/CouldUseTopic(var/mob/user) + ..() + if(iscarbon(user) && !touch_silent) + playsound(src, 'sound/machines/pda_click.ogg', 20) /obj/item/device/pda/medical default_cartridge = /obj/item/weapon/cartridge/medical @@ -499,6 +505,7 @@ var/global/list/obj/item/device/pda/PDAs = list() data["note"] = note // current pda notes data["message_silent"] = message_silent // does the pda make noise when it receives a message? data["news_silent"] = news_silent // does the pda make noise when it receives news? + data["touch_silent"] = touch_silent // does the pda make noise when it receives news? data["toff"] = toff // is the messenger function turned off? data["active_conversation"] = active_conversation // Which conversation are we following right now? @@ -768,6 +775,8 @@ var/global/list/obj/item/device/pda/PDAs = list() scanmode = 0 else if((!isnull(cartridge)) && (cartridge.access_atmos)) scanmode = 5 + if("Toggle Beeping") + touch_silent = !touch_silent //MESSENGER/NOTE FUNCTIONS=================================== @@ -1044,6 +1053,7 @@ var/global/list/obj/item/device/pda/PDAs = list() var/mob/M = loc M.put_in_hands(id) to_chat(usr, "You remove the ID from the [name].") + playsound(loc, 'sound/machines/id_swipe.ogg', 100, 1) else id.loc = get_turf(src) id = null @@ -1250,6 +1260,7 @@ var/global/list/obj/item/device/pda/PDAs = list() if (cartridge.radio) cartridge.radio.hostpda = null to_chat(usr, "You remove \the [cartridge] from the [name].") + playsound(loc, 'sound/machines/id_swipe.ogg', 100, 1) cartridge = null /obj/item/device/pda/proc/id_check(mob/user as mob, choice as num)//To check for IDs; 1 for in-pda use, 2 for out of pda use. @@ -1463,13 +1474,9 @@ var/global/list/obj/item/device/pda/PDAs = list() QDEL_NULL(src.pai) return ..() -/obj/item/device/pda/clown/Crossed(AM as mob|obj) //Clown PDA is slippery. - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/item/device/pda/clown/Crossed(atom/movable/AM as mob|obj) //Clown PDA is slippery. + if(AM.is_incorporeal()) + return if (istype(AM, /mob/living)) var/mob/living/M = AM diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index e34d1180c9..2a662ea5ff 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -425,14 +425,14 @@ var/list/civilian_cartridges = list( if(mode==47) var/supplyData[0] - var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if (shuttle) supplyData["shuttle_moving"] = shuttle.has_arrive_time() supplyData["shuttle_eta"] = shuttle.eta_minutes() supplyData["shuttle_loc"] = shuttle.at_station() ? "Station" : "Dock" var/supplyOrderCount = 0 var/supplyOrderData[0] - for(var/S in supply_controller.shoppinglist) + for(var/S in SSsupply.shoppinglist) var/datum/supply_order/SO = S supplyOrderData[++supplyOrderData.len] = list("Number" = SO.ordernum, "Name" = html_encode(SO.object.name), "ApprovedBy" = SO.ordered_by, "Comment" = html_encode(SO.comment)) @@ -444,7 +444,7 @@ var/list/civilian_cartridges = list( var/requestCount = 0 var/requestData[0] - for(var/S in supply_controller.order_history) + for(var/S in SSsupply.order_history) var/datum/supply_order/SO = S if(SO.status != SUP_ORDER_REQUESTED) continue diff --git a/code/game/objects/items/devices/communicator/cartridge.dm b/code/game/objects/items/devices/communicator/cartridge.dm index b5a46b4ebe..b1c3bd41f2 100644 --- a/code/game/objects/items/devices/communicator/cartridge.dm +++ b/code/game/objects/items/devices/communicator/cartridge.dm @@ -140,7 +140,7 @@ if(!reason) return - supply_controller.create_order(S, user, reason) + SSsupply.create_order(S, user, reason) internal_data["supply_reqtime"] = (world.time + 5) % 1e5 if(href_list["order_ref"]) @@ -189,20 +189,20 @@ O.approved_at = new_val if(href_list["approve"]) - supply_controller.approve_order(O, user) + SSsupply.approve_order(O, user) if(href_list["deny"]) - supply_controller.deny_order(O, user) + SSsupply.deny_order(O, user) if(href_list["delete"]) - supply_controller.delete_order(O, user) + SSsupply.delete_order(O, user) if(href_list["clear_all_requests"]) var/mob/user = locate(href_list["user"]) if(!istype(user)) // Invalid ref return - supply_controller.deny_all_pending(user) + SSsupply.deny_all_pending(user) if(href_list["export_ref"]) var/datum/exported_crate/E = locate(href_list["export_ref"]) @@ -258,29 +258,29 @@ E.value = num else if(href_list["delete"]) - supply_controller.delete_export(E, user) + SSsupply.delete_export(E, user) else if(href_list["add_item"]) - supply_controller.add_export_item(E, user) + SSsupply.add_export_item(E, user) - if(supply_controller && supply_controller.shuttle) + if(SSsupply && SSsupply.shuttle) switch(href_list["send_shuttle"]) if("send_away") - if(supply_controller.shuttle.forbidden_atoms_check()) + if(SSsupply.shuttle.forbidden_atoms_check()) to_chat(usr, "For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.") else - supply_controller.shuttle.launch(src) + SSsupply.shuttle.launch(src) to_chat(usr, "Initiating launch sequence.") if("send_to_station") - supply_controller.shuttle.launch(src) - to_chat(usr, "The supply shuttle has been called and will arrive in approximately [round(supply_controller.movetime/600,1)] minutes.") + SSsupply.shuttle.launch(src) + to_chat(usr, "The supply shuttle has been called and will arrive in approximately [round(SSsupply.movetime/600,1)] minutes.") if("cancel_shuttle") - supply_controller.shuttle.cancel_launch(src) + SSsupply.shuttle.cancel_launch(src) if("force_shuttle") - supply_controller.shuttle.force_launch(src) + SSsupply.shuttle.force_launch(src) // Status display switch(href_list["stat_display"]) diff --git a/code/game/objects/items/devices/communicator/communicator.dm b/code/game/objects/items/devices/communicator/communicator.dm index f34ca86c27..fae2d4586f 100644 --- a/code/game/objects/items/devices/communicator/communicator.dm +++ b/code/game/objects/items/devices/communicator/communicator.dm @@ -78,8 +78,8 @@ var/global/list/obj/item/device/communicator/all_communicators = list() // Parameters: None // Description: Adds the new communicator to the global list of all communicators, sorts the list, obtains a reference to the Exonet node, then tries to // assign the device to the holder's name automatically in a spectacularly shitty way. -/obj/item/device/communicator/New() - ..() +/obj/item/device/communicator/Initialize() + . = ..() all_communicators += src all_communicators = sortAtom(all_communicators) node = get_exonet_node() @@ -87,16 +87,22 @@ var/global/list/obj/item/device/communicator/all_communicators = list() camera = new(src) camera.name = "[src] #[rand(100,999)]" camera.c_tag = camera.name + //This is a pretty terrible way of doing this. - spawn(5 SECONDS) //Wait for our mob to finish spawning. - if(ismob(loc)) - register_device(loc.name) - initialize_exonet(loc) - else if(istype(loc, /obj/item/weapon/storage)) - var/obj/item/weapon/storage/S = loc - if(ismob(S.loc)) - register_device(S.loc.name) - initialize_exonet(S.loc) + addtimer(CALLBACK(src, .proc/register_to_holder), 5 SECONDS) + +// Proc: register_to_holder() +// Parameters: None +// Description: Tries to register ourselves to the mob that we've presumably spawned in. Not the most amazing way of doing this. +/obj/item/device/communicator/proc/register_to_holder() + if(ismob(loc)) + register_device(loc.name) + initialize_exonet(loc) + else if(istype(loc, /obj/item/weapon/storage)) + var/obj/item/weapon/storage/S = loc + if(ismob(S.loc)) + register_device(S.loc.name) + initialize_exonet(S.loc) // Proc: examine() // Parameters: user - the user doing the examining @@ -275,14 +281,13 @@ var/global/list/obj/item/device/communicator/all_communicators = list() // Proc: New() // Parameters: None // Description: Gives ghosts an exonet address based on their key and ghost name. -/mob/observer/dead/New() +/mob/observer/dead/Initialize() . = ..() - spawn(20) - exonet = new(src) - if(client) - exonet.make_address("communicator-[src.client]-[src.client.prefs.real_name]") - else - exonet.make_address("communicator-[key]-[src.real_name]") + exonet = new(src) + if(client) + exonet.make_address("communicator-[src.client]-[src.client.prefs.real_name]") + else + exonet.make_address("communicator-[key]-[src.real_name]") // Proc: Destroy() // Parameters: None diff --git a/code/game/objects/items/devices/communicator/helper.dm b/code/game/objects/items/devices/communicator/helper.dm index 25db45b666..ec67686668 100644 --- a/code/game/objects/items/devices/communicator/helper.dm +++ b/code/game/objects/items/devices/communicator/helper.dm @@ -394,7 +394,7 @@ // code\game\machinery\computer\supply.dm, starting at line 55 /obj/item/weapon/commcard/proc/get_supply_shuttle_status() var/shuttle_status[0] - var/datum/shuttle/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if(shuttle) if(shuttle.has_arrive_time()) shuttle_status["location"] = "In transit" @@ -404,8 +404,8 @@ else shuttle_status["time"] = 0 if(shuttle.at_station()) - if(shuttle.docking_controller) - switch(shuttle.docking_controller.get_docking_status()) + if(shuttle.shuttle_docking_controller) + switch(shuttle.shuttle_docking_controller.get_docking_status()) if("docked") shuttle_status["location"] = "Docked" shuttle_status["mode"] = SUP_SHUTTLE_DOCKED @@ -454,7 +454,7 @@ // code\game\machinery\computer\supply.dm, starting at line 130 /obj/item/weapon/commcard/proc/get_supply_orders() var/orders[0] - for(var/datum/supply_order/S in supply_controller.order_history) + for(var/datum/supply_order/S in SSsupply.order_history) orders[++orders.len] = list( "ref" = "\ref[S]", "status" = S.status, @@ -477,7 +477,7 @@ // code\game\machinery\computer\supply.dm, starting at line 147 /obj/item/weapon/commcard/proc/get_supply_receipts() var/receipts[0] - for(var/datum/exported_crate/E in supply_controller.exported_crates) + for(var/datum/exported_crate/E in SSsupply.exported_crates) receipts[++receipts.len] = list( "ref" = "\ref[E]", "contents" = E.contents, @@ -495,8 +495,8 @@ // code\game\machinery\computer\supply.dm, starting at line 147 /obj/item/weapon/commcard/proc/get_supply_pack_list() var/supply_packs[0] - for(var/pack_name in supply_controller.supply_pack) - var/datum/supply_pack/P = supply_controller.supply_pack[pack_name] + for(var/pack_name in SSsupply.supply_pack) + var/datum/supply_pack/P = SSsupply.supply_pack[pack_name] if(P.group == internal_data["supply_category"]) var/list/pack = list( "name" = P.name, @@ -521,7 +521,7 @@ return list( "shuttle_auth" = (internal_data["supply_controls"] & SUP_SEND_SHUTTLE), "order_auth" = (internal_data["supply_controls"] & SUP_ACCEPT_ORDERS), - "supply_points" = supply_controller.points, + "supply_points" = SSsupply.points, "supply_categories" = all_supply_groups ) diff --git a/code/game/objects/items/devices/defib.dm b/code/game/objects/items/devices/defib.dm index 2b55ae5c51..9d95fd2304 100644 --- a/code/game/objects/items/devices/defib.dm +++ b/code/game/objects/items/devices/defib.dm @@ -145,6 +145,12 @@ return 1 if((slot_flags & SLOT_BELT) && M.get_equipped_item(slot_belt) == src) return 1 + //VOREStation Add Start - RIGSuit compatability + if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_s_store) == src) + return 1 + if((slot_flags & SLOT_BELT) && M.get_equipped_item(slot_s_store) == src) + return 1 + //VOREStation Add End return 0 @@ -384,7 +390,7 @@ if(!H.client && !H.teleop) for(var/mob/observer/dead/ghost in player_list) if(ghost.mind == H.mind) - to_chat(ghost, "Someone is attempting to resuscitate you. Re-enter your body if you want to be revived! (Verbs -> Ghost -> Re-enter corpse)") + ghost.notify_revive("Someone is trying to resuscitate you. Re-enter your body if you want to be revived!", 'sound/effects/genetics.ogg') break //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process @@ -489,7 +495,7 @@ living_mob_list += M M.timeofdeath = 0 - M.stat = UNCONSCIOUS //Life() can bring them back to consciousness if it needs to. + M.set_stat(UNCONSCIOUS) //Life() can bring them back to consciousness if it needs to. M.failed_last_breath = 0 //So mobs that died of oxyloss don't revive and have perpetual out of breath. M.reload_fullscreen() diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index acc89b39dc..bd7a4687ae 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -78,8 +78,8 @@ var/obj/item/rig_module/module = src.loc if(module.holder && module.holder.wearer) var/mob/living/carbon/human/H = module.holder.wearer - if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back + if(istype(H) && H.get_rig()) + var/obj/item/weapon/rig/suit = H.get_rig() if(istype(suit)) return suit.cell return null diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index fc3f69dd22..a289e66e82 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -63,6 +63,9 @@ return +/obj/item/device/multitool/is_multitool() + return TRUE + /obj/item/device/multitool/cyborg name = "multitool" desc = "Optimised and stripped-down version of a regular multitool." diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 8948a1ec11..278d911f0e 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -128,6 +128,11 @@ var/global/list/default_medbay_channels = list( ui.set_initial_data(data) ui.open() +/obj/item/device/radio/CouldUseTopic(var/mob/user) + ..() + if(iscarbon(user)) + playsound(src, "button", 10) + /obj/item/device/radio/proc/list_channels(var/mob/user) return list_internal_channels(user) diff --git a/code/game/objects/items/devices/scanners_vr.dm b/code/game/objects/items/devices/scanners_vr.dm index 1a5fd2c61f..8a7bb15c32 100644 --- a/code/game/objects/items/devices/scanners_vr.dm +++ b/code/game/objects/items/devices/scanners_vr.dm @@ -17,6 +17,32 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob var/datum/mind/stored_mind + var/ooc_notes = null //For holding prefs + + + +//These don't perform any checks and need to be wrapped by checks +/obj/item/device/sleevemate/proc/clear_mind() + stored_mind = null + ooc_notes = null + update_icon() + +/obj/item/device/sleevemate/proc/get_mind(mob/living/M) + ASSERT(M.mind) + ooc_notes = M.ooc_notes + stored_mind = M.mind + M.ghostize() + stored_mind.current = null + update_icon() + +/obj/item/device/sleevemate/proc/put_mind(mob/living/M) + stored_mind.active = TRUE + stored_mind.transfer_to(M) + M.ooc_notes = ooc_notes + clear_mind() + + + /obj/item/device/sleevemate/attack(mob/living/M, mob/living/user) if(ishuman(M)) scan_mob(M, user) @@ -34,8 +60,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob switch(choice) if("Delete") to_chat(user,"Internal copy of [stored_mind.name] deleted.") - stored_mind = null - update_icon() + clear_mind() if("Backup") to_chat(user,"Internal copy of [stored_mind.name] backed up to database.") SStranscore.m_backup(stored_mind,null,one_time = TRUE) @@ -183,10 +208,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob usr.visible_message("[usr] begins downloading [target]'s mind!","You begin downloading [target]'s mind!") if(do_after(usr,35 SECONDS,target)) //This is powerful, yo. if(!stored_mind && target.mind) - stored_mind = target.mind - target.ghostize() - stored_mind.current = null - update_icon() + get_mind(target) to_chat(usr,"Mind downloaded!") return @@ -212,12 +234,9 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob if(!sleevemate_mob) sleevemate_mob = new() - stored_mind.active = TRUE //Setting this causes transfer_to, to key them into the mob - stored_mind.transfer_to(sleevemate_mob) + put_mind(sleevemate_mob) SC.catch_mob(sleevemate_mob) - stored_mind = null to_chat(usr,"Mind transferred into Soulcatcher!") - update_icon() if(href_list["mindupload"]) if(!stored_mind) @@ -238,11 +257,8 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob if(!stored_mind) to_chat(usr,"\The [src] no longer has a stored mind.") return - stored_mind.active = TRUE - stored_mind.transfer_to(target) - stored_mind = null + put_mind(target) to_chat(usr,"Mind transferred into [target]!") - update_icon() if(href_list["mindrelease"]) if(stored_mind) @@ -254,10 +270,8 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob return for(var/mob/living/carbon/brain/caught_soul/soul in SC.brainmobs) if(soul.name == href_list["mindrelease"]) - stored_mind = soul.mind - stored_mind.current = null - soul.Destroy() - update_icon() + get_mind(soul) + qdel(soul) to_chat(usr,"Mind downloaded!") return to_chat(usr,"Unable to find that mind in Soulcatcher!") diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index b4400ab5d5..4169dfc947 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -11,11 +11,6 @@ var/toggle = 1 flags = PROXMOVE -/obj/item/device/transfer_valve/proc/process_activation(var/obj/item/device/D) - -/obj/item/device/transfer_valve/IsAssemblyHolder() - return 1 - /obj/item/device/transfer_valve/attackby(obj/item/item, mob/user) var/turf/location = get_turf(src) // For admin logs if(istype(item, /obj/item/weapon/tank)) @@ -116,12 +111,11 @@ src.add_fingerprint(usr) return 1 // Returning 1 sends an update to attached UIs -/obj/item/device/transfer_valve/process_activation(var/obj/item/device/D) +/obj/item/device/transfer_valve/proc/process_activation(var/obj/item/device/D) if(toggle) - toggle = 0 + toggle = FALSE toggle_valve() - spawn(50) // To stop a signal being spammed from a proxy sensor constantly going off or whatever - toggle = 1 + VARSET_IN(src, toggle, TRUE, 5 SECONDS) /obj/item/device/transfer_valve/update_icon() overlays.Cut() diff --git a/code/game/objects/items/devices/translocator_vr.dm b/code/game/objects/items/devices/translocator_vr.dm index 808ced86a3..f171f147c3 100644 --- a/code/game/objects/items/devices/translocator_vr.dm +++ b/code/game/objects/items/devices/translocator_vr.dm @@ -16,6 +16,7 @@ var/abductor = 0 //Can be used on teleportation blocking turfs var/list/beacons = list() + var/loc_network = null //Used if you want to create pre-made beacons on the maps var/ready = 1 var/beacons_left = 3 var/failure_chance = 5 //Percent @@ -24,8 +25,9 @@ var/list/warned_users = list() var/list/logged_events = list() -/obj/item/device/perfect_tele/New() - ..() + +/obj/item/device/perfect_tele/Initialize() + . = ..() flags |= NOBLUDGEON if(cell_type) power_source = new cell_type(src) @@ -73,6 +75,12 @@ to_chat(user,"[src] does not have a power cell.") /obj/item/device/perfect_tele/attack_self(mob/user) + if(loc_network) + for(var/obj/item/device/perfect_tele_beacon/stationary/nb in premade_tele_beacons) + if(nb.tele_network == loc_network) + beacons[nb.tele_name] = nb + loc_network = null //Consumed + if(!(user.ckey in warned_users)) warned_users |= user.ckey alert(user,"This device can be easily used to break ERP preferences due to the nature of teleporting \ @@ -380,6 +388,7 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac /obj/item/device/perfect_tele/alien name = "alien translocator" desc = "This strange device allows one to teleport people and objects across large distances." + icon_state = "alientele" cell_type = /obj/item/weapon/cell/device/weapon/recharge/alien charge_cost = 400 @@ -388,13 +397,26 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac longrange = 1 abductor = 1 +/obj/item/device/perfect_tele/alien/bluefo + name = "hybrid translocator" + desc = "This strange device allows one to teleport people and objects across large distances. It has only a single preprogrammed destination, though." + icon_state = "alientele" + + cell_type = /obj/item/weapon/cell/device/weapon/recharge/alien + charge_cost = 400 + beacons_left = 0 + failure_chance = 0 + longrange = 1 + abductor = 1 + loc_network = "hybridshuttle" + /obj/item/device/perfect_tele/frontier - icon_state = "minitrans" + icon_state = "frontiertrans" beacons_left = 1 //Just one battery_lock = 1 unacidable = 1 failure_chance = 0 //Percent - var/loc_network = null + var/phase_power = 75 var/recharging = 0 @@ -429,12 +451,6 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac loc_network = "centcom" longrange = 1 -/obj/item/device/perfect_tele/frontier/staff/New() - ..() - for(var/obj/item/device/perfect_tele_beacon/stationary/nb in premade_tele_beacons) - if(nb.tele_network == loc_network) - beacons[nb.tele_name] = nb - /obj/item/device/perfect_tele/frontier/unknown name = "modified translocator" desc = "This crank-charged translocator has only one beacon, but it already has a destination preprogrammed into it." @@ -442,12 +458,6 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac longrange = 1 abductor = 1 -/obj/item/device/perfect_tele/frontier/unknown/New() - ..() - for(var/obj/item/device/perfect_tele_beacon/stationary/nb in premade_tele_beacons) - if(nb.tele_network == loc_network) - beacons[nb.tele_name] = nb - /obj/item/device/perfect_tele/frontier/unknown/one loc_network = "unkone" /obj/item/device/perfect_tele/frontier/unknown/two diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm index ea7006a73b..8fc70a14e6 100644 --- a/code/game/objects/items/devices/uplink.dm +++ b/code/game/objects/items/devices/uplink.dm @@ -1,3 +1,5 @@ +GLOBAL_LIST_BOILERPLATE(world_uplinks, /obj/item/device/uplink) + /obj/item/device/uplink var/welcome = "Welcome, Operative" // Welcoming menu message var/uses // Numbers of crystals @@ -12,32 +14,29 @@ var/datum/mind/uplink_owner = null var/used_TC = 0 var/offer_time = 10 MINUTES //The time increment per discount offered - var/next_offer_time //The time a discount will next be offered + var/next_offer_time var/datum/uplink_item/discount_item //The item to be discounted var/discount_amount //The amount as a percent the item will be discounted by /obj/item/device/uplink/nano_host() return loc -/obj/item/device/uplink/New(var/location, var/datum/mind/owner = null, var/telecrystals = DEFAULT_TELECRYSTAL_AMOUNT) - ..() - src.uplink_owner = owner +/obj/item/device/uplink/Initialize(var/mapload, var/datum/mind/owner = null, var/telecrystals = DEFAULT_TELECRYSTAL_AMOUNT) + . = ..() + uplink_owner = owner purchase_log = list() - world_uplinks += src if(owner) uses = owner.tcrystals else uses = telecrystals - START_PROCESSING(SSobj, src) - -/obj/item/device/uplink/Destroy() - world_uplinks -= src - STOP_PROCESSING(SSobj, src) - return ..() + addtimer(CALLBACK(src, .proc/next_offer), offer_time) //It seems like only the /hidden type actually makes use of this... /obj/item/device/uplink/get_item_cost(var/item_type, var/item_cost) return (discount_item && (item_type == discount_item)) ? max(1, round(item_cost*discount_amount)) : item_cost +/obj/item/device/uplink/proc/next_offer() + return //Stub, used on children. + // HIDDEN UPLINK - Can be stored in anything but the host item has to have a trigger for it. /* How to create an uplink in 3 easy steps! @@ -58,21 +57,20 @@ var/exploit_id // Id of the current exploit record we are viewing // The hidden uplink MUST be inside an obj/item's contents. -/obj/item/device/uplink/hidden/New() - spawn(2) - if(!istype(src.loc, /obj/item)) - qdel(src) - ..() +/obj/item/device/uplink/hidden/Initialize() + . = ..() + if(!isitem(loc)) + return INITIALIZE_HINT_QDEL nanoui_data = list() update_nano_data() -/obj/item/device/uplink/hidden/process() - if(world.time > next_offer_time) - discount_item = default_uplink_selection.get_random_item(INFINITY) - discount_amount = pick(90;0.9, 80;0.8, 70;0.7, 60;0.6, 50;0.5, 40;0.4, 30;0.3, 20;0.2, 10;0.1) - next_offer_time = world.time + offer_time - update_nano_data() - SSnanoui.update_uis(src) +/obj/item/device/uplink/hidden/next_offer() + discount_item = default_uplink_selection.get_random_item(INFINITY) + discount_amount = pick(90;0.9, 80;0.8, 70;0.7, 60;0.6, 50;0.5, 40;0.4, 30;0.3, 20;0.2, 10;0.1) + update_nano_data() + SSnanoui.update_uis(src) + next_offer_time = world.time + offer_time + addtimer(CALLBACK(src, .proc/next_offer), offer_time) // Toggles the uplink on and off. Normally this will bypass the item's normal functions and go to the uplink menu, if activated. /obj/item/device/uplink/hidden/proc/toggle() diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index fe1685ec70..602f6e3a66 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -66,7 +66,7 @@ if(ghost.mind && ghost.mind.current == R) R.key = ghost.key - R.stat = CONSCIOUS + R.set_stat(CONSCIOUS) dead_mob_list -= R living_mob_list |= R R.notify_ai(ROBOT_NOTIFICATION_NEW_UNIT) diff --git a/code/game/objects/items/stacks/fifty_spawner.dm b/code/game/objects/items/stacks/fifty_spawner.dm index 0be33e5829..6cd9051c6f 100644 --- a/code/game/objects/items/stacks/fifty_spawner.dm +++ b/code/game/objects/items/stacks/fifty_spawner.dm @@ -4,21 +4,15 @@ desc = "This item spawns stack of 50 of a given material." icon = 'icons/misc/mark.dmi' icon_state = "x4" -// var/material = "" var/obj/item/stack/type_to_spawn = null -/obj/fiftyspawner/New() - spawn() - //spawns the 50-stack and qdels self - ..() - if(istype(src.loc, /obj/structure/loot_pile)) //Spawning from a lootpile is weird, need to wait until we're out of it to do our work. - while(istype(src.loc, /obj/structure/loot_pile)) - sleep(1) - // var/obj_path = text2path("/obj/item/stack/[material]") - var/obj/item/stack/M = new type_to_spawn(src.loc) - M.amount = M.max_amount //some stuff spawns with 60, we're still calling it fifty - M.update_icon() // Some stacks have different sprites depending on how full they are. - qdel(src) +/obj/fiftyspawner/Initialize() + ..() //We're not returning . because we're going to ask to be deleted. + + var/obj/item/stack/M = new type_to_spawn(get_turf(src)) + M.amount = M.max_amount //some stuff spawns with 60, we're still calling it fifty + M.update_icon() // Some stacks have different sprites depending on how full they are. + return INITIALIZE_HINT_QDEL //Bye! /obj/fiftyspawner/rods name = "stack of rods" //this needs to be defined for cargo diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index b429afd31b..8887dd0053 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -10,6 +10,7 @@ var/heal_brute = 0 var/heal_burn = 0 var/apply_sounds + drop_sound = 'sound/items/drop/box.ogg' var/upgrade_to // The type path this stack can be upgraded to. @@ -143,6 +144,7 @@ origin_tech = list(TECH_BIO = 1) no_variants = FALSE apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg') + drop_sound = 'sound/items/drop/gloves.ogg' upgrade_to = /obj/item/stack/medical/advanced/bruise_pack @@ -212,6 +214,7 @@ origin_tech = list(TECH_BIO = 1) no_variants = FALSE apply_sounds = list('sound/effects/ointment.ogg') + drop_sound = 'sound/items/drop/herb.ogg' /obj/item/stack/medical/ointment/attack(mob/living/carbon/M as mob, mob/user as mob) if(..()) @@ -354,6 +357,7 @@ icon_state = "splint" amount = 5 max_amount = 5 + drop_sound = 'sound/items/drop/hat.ogg' var/list/splintable_organs = list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO) //List of organs you can splint, natch. diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index bc21de5e07..f571123fc1 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -16,6 +16,7 @@ icon_state = "sheet-glass" var/is_reinforced = 0 default_type = "glass" + drop_sound = 'sound/items/drop/glass.ogg' /obj/item/stack/material/glass/attack_self(mob/user as mob) construct_window(user) diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index f85bd944fc..255a739d84 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -4,6 +4,7 @@ singular_name = "human skin piece" icon_state = "sheet-hide" no_variants = FALSE + drop_sound = 'sound/items/drop/clothing.ogg' /obj/item/stack/material/animalhide/human amount = 50 diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 357ff7e125..b1e86987ac 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -17,6 +17,7 @@ randpixel = 7 w_class = ITEMSIZE_NORMAL max_amount = 60 + drop_sound = 'sound/items/drop/axe.ogg' /obj/item/stack/tile/New() ..() @@ -37,6 +38,7 @@ flags = 0 origin_tech = list(TECH_BIO = 1) no_variants = FALSE + drop_sound = 'sound/items/drop/herb.ogg' /* * Wood */ @@ -51,6 +53,7 @@ throw_range = 20 flags = 0 no_variants = FALSE + drop_sound = 'sound/items/drop/wooden.ogg' /obj/item/stack/tile/wood/sif name = "alien wood tile" @@ -80,6 +83,7 @@ throw_range = 20 flags = 0 no_variants = FALSE + drop_sound = 'sound/items/drop/clothing.ogg' /obj/item/stack/tile/carpet/teal name = "teal carpet" diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 850de74ba4..9760e2da8a 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -26,6 +26,7 @@ throw_speed = 4 throw_range = 20 force = 0 + drop_sound = 'sound/items/drop/gloves.ogg' /* @@ -36,6 +37,7 @@ desc = "A translucent balloon. There's nothing in it." icon = 'icons/obj/toy.dmi' icon_state = "waterballoon-e" + drop_sound = 'sound/items/drop/rubber.ogg' /obj/item/toy/balloon/New() var/datum/reagents/R = new/datum/reagents(10) @@ -99,6 +101,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "syndballoon" w_class = ITEMSIZE_LARGE + drop_sound = 'sound/items/drop/rubber.ogg' /obj/item/toy/nanotrasenballoon name = "criminal balloon" @@ -110,6 +113,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "ntballoon" w_class = ITEMSIZE_LARGE + drop_sound = 'sound/items/drop/rubber.ogg' /* * Fake telebeacon @@ -147,6 +151,7 @@ w_class = ITEMSIZE_SMALL attack_verb = list("attacked", "struck", "hit") var/bullets = 5 + drop_sound = 'sound/items/drop/gun.ogg' examine(mob/user) if(..(user, 2) && bullets) @@ -239,6 +244,7 @@ icon_state = "foamdart" w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS + drop_sound = 'sound/items/drop/food.ogg' /obj/effect/foam_dart_dummy name = "" @@ -256,6 +262,7 @@ desc = "A cheap, plastic replica of an energy sword. Realistic sounds! Ages 8 and up." icon = 'icons/obj/weapons.dmi' icon_state = "esword" + drop_sound = 'sound/items/drop/gun.ogg' var/lcolor var/rainbow = FALSE item_icons = list( @@ -344,6 +351,7 @@ icon = 'icons/obj/toy.dmi' icon_state = "snappop" w_class = ITEMSIZE_TINY + drop_sound = null throw_impact(atom/hit_atom) ..() @@ -355,13 +363,9 @@ playsound(src, 'sound/effects/snap.ogg', 50, 1) qdel(src) -/obj/item/toy/snappop/Crossed(H as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = H - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/item/toy/snappop/Crossed(atom/movable/H as mob|obj) + if(H.is_incorporeal()) + return if((ishuman(H))) //i guess carp and shit shouldn't set them off var/mob/living/carbon/M = H if(M.m_intent == "run") @@ -382,6 +386,7 @@ name = "water flower" desc = "A seemingly innocent sunflower...with a twist." icon = 'icons/obj/device.dmi' + drop_sound = 'sound/items/drop/food.ogg' icon_state = "sunflower" item_state = "sunflower" var/empty = 0 @@ -452,6 +457,7 @@ desc = "A genuine Admiral Krush Bosun's Whistle, for the aspiring ship's captain! Suitable for ages 8 and up, do not swallow." icon = 'icons/obj/toy.dmi' icon_state = "bosunwhistle" + drop_sound = 'sound/items/drop/card.ogg' var/cooldown = 0 w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS | SLOT_HOLSTER @@ -469,6 +475,7 @@ icon = 'icons/obj/toy.dmi' icon_state = "ripleytoy" var/cooldown = 0 + drop_sound = 'sound/mecha/mechstep.ogg' //all credit to skasi for toy mech fun ideas /obj/item/toy/prize/attack_self(mob/user as mob) @@ -550,6 +557,7 @@ icon_state = "nuketoy" var/cooldown = 0 var/toysay = "What the fuck did you do?" + drop_sound = 'sound/items/drop/accessory.ogg' /obj/item/toy/figure/New() ..() @@ -883,18 +891,18 @@ var/searching = FALSE var/opened = FALSE // has this been slit open? this will allow you to store an object in a plushie. var/obj/item/stored_item // Note: Stored items can't be bigger than the plushie itself. - + /obj/structure/plushie/examine(mob/user) ..() if(opened) to_chat(user, "You notice an incision has been made on [src].") if(in_range(user, src) && stored_item) to_chat(user, "You can see something in there...") - + /obj/structure/plushie/attack_hand(mob/user) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - if(stored_item && !searching) + if(stored_item && opened && !searching) searching = TRUE if(do_after(user, 10)) to_chat(user, "You find \icon[stored_item] [stored_item] in [src]!") @@ -904,7 +912,7 @@ return else searching = FALSE - + if(user.a_intent == I_HELP) user.visible_message("\The [user] hugs [src]!","You hug [src]!") else if (user.a_intent == I_HURT) @@ -931,7 +939,7 @@ if(stored_item) to_chat(user, "There is already something in here.") return - + if(!(I.w_class > w_class)) to_chat(user, "You place [I] inside [src].") user.drop_from_inventory(I, src) @@ -974,6 +982,7 @@ desc = "A small toy plushie. It's very cute." icon = 'icons/obj/toy.dmi' icon_state = "nymphplushie" + drop_sound = 'sound/items/drop/plushie.ogg' w_class = ITEMSIZE_TINY var/last_message = 0 var/pokephrase = "Uww!" @@ -990,7 +999,7 @@ to_chat(user, "You can see something in there...") /obj/item/toy/plushie/attack_self(mob/user as mob) - if(stored_item && !searching) + if(stored_item && opened && !searching) searching = TRUE if(do_after(user, 10)) to_chat(user, "You find \icon[stored_item] [stored_item] in [src]!") @@ -1011,6 +1020,7 @@ user.visible_message("\The [user] attempts to strangle [src]!","You attempt to strangle [src]!") else user.visible_message("\The [user] pokes [src].","You poke [src].") + playsound(src, 'sound/items/drop/plushie.ogg', 25, 0) visible_message("[src] says, \"[pokephrase]\"") last_message = world.time @@ -1034,7 +1044,7 @@ user.visible_message("[user] makes \the [I] kiss \the [src]!.", \ "You make \the [I] kiss \the [src]!.") return - + if(istype(I, /obj/item/device/threadneedle) && opened) to_chat(user, "You sew the hole underneath [src].") @@ -1057,7 +1067,7 @@ stored_item = I to_chat(user, "You placed [I] into [src].") return - + return ..() /obj/item/toy/plushie/nymph @@ -1492,6 +1502,7 @@ icon_state = "inflatable" icon = 'icons/obj/clothing/belts.dmi' slot_flags = SLOT_BELT + drop_sound = 'sound/items/drop/rubber.ogg' /obj/item/toy/xmastree name = "Miniature Christmas tree" @@ -1501,3 +1512,4 @@ w_class = ITEMSIZE_TINY force = 1 throwforce = 1 + drop_sound = 'sound/items/drop/box.ogg' diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 12315972a2..b72a73f34e 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -6,6 +6,7 @@ icon = 'icons/obj/trash.dmi' w_class = ITEMSIZE_SMALL desc = "This is rubbish." + drop_sound = 'sound/items/drop/wrapper.ogg' /obj/item/trash/raisins name = "\improper 4no raisins" @@ -38,6 +39,7 @@ /obj/item/trash/unajerky name = "Moghes Imported Sissalik Jerky" icon_state = "unathitinred" + drop_sound = 'sound/items/drop/soda.ogg' /obj/item/trash/syndi_cakes name = "syndi cakes" @@ -66,6 +68,7 @@ /obj/item/trash/tray name = "tray" icon_state = "tray" + drop_sound = 'sound/items/trayhit1.ogg' /obj/item/trash/candle name = "candle" diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 4d6b6eea03..4a160d05c8 100644 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -106,6 +106,7 @@ AI MODULES if(laws) laws.sync(target, 0) + target.notify_of_law_change() addAdditionalLaws(target, sender) to_chat(target, "\The [sender] has uploaded a change to the laws you must follow, using \an [src]. From now on: ") diff --git a/code/game/objects/items/weapons/canes.dm b/code/game/objects/items/weapons/canes.dm new file mode 100644 index 0000000000..f7688fb2d1 --- /dev/null +++ b/code/game/objects/items/weapons/canes.dm @@ -0,0 +1,124 @@ +/obj/item/weapon/cane + name = "cane" + desc = "A cane used by a true gentleman." + icon = 'icons/obj/weapons.dmi' + icon_state = "cane" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi', + ) + force = 5.0 + throwforce = 7.0 + w_class = ITEMSIZE_NORMAL + matter = list(DEFAULT_WALL_MATERIAL = 50) + attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") + +/obj/item/weapon/cane/crutch + name ="crutch" + desc = "A long stick with a crosspiece at the top, used to help with walking." + icon_state = "crutch" + item_state = "crutch" + +/obj/item/weapon/cane/concealed + var/concealed_blade + +/obj/item/weapon/cane/concealed/New() + ..() + var/obj/item/weapon/material/butterfly/switchblade/temp_blade = new(src) + concealed_blade = temp_blade + temp_blade.attack_self() + +/obj/item/weapon/cane/concealed/attack_self(var/mob/user) + var/datum/gender/T = gender_datums[user.get_visible_gender()] + if(concealed_blade) + user.visible_message("[user] has unsheathed \a [concealed_blade] from [T.his] [src]!", "You unsheathe \the [concealed_blade] from \the [src].") + // Calling drop/put in hands to properly call item drop/pickup procs + playsound(user.loc, 'sound/weapons/holster/sheathout.ogg', 50, 1) + user.drop_from_inventory(src) + user.put_in_hands(concealed_blade) + user.put_in_hands(src) + user.update_inv_l_hand(0) + user.update_inv_r_hand() + concealed_blade = null + else + ..() + +/obj/item/weapon/cane/concealed/attackby(var/obj/item/weapon/material/butterfly/W, var/mob/user) + if(!src.concealed_blade && istype(W)) + var/datum/gender/T = gender_datums[user.get_visible_gender()] + user.visible_message("[user] has sheathed \a [W] into [T.his] [src]!", "You sheathe \the [W] into \the [src].") + playsound(user.loc, 'sound/weapons/holster/sheathin.ogg', 50, 1) + user.drop_from_inventory(W) + W.loc = src + src.concealed_blade = W + update_icon() + else + ..() + +/obj/item/weapon/cane/concealed/update_icon() + if(concealed_blade) + name = initial(name) + icon_state = initial(icon_state) + item_state = initial(icon_state) + else + name = "cane shaft" + icon_state = "nullrod" + item_state = "foldcane" + +/obj/item/weapon/cane/white + name = "white cane" + desc = "A white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others." + icon_state = "whitecane" + +/obj/item/weapon/cane/white/attack(mob/M as mob, mob/user as mob) + if(user.a_intent == I_HELP) + user.visible_message("\The [user] has lightly tapped [M] on the ankle with their white cane!") + return TRUE + else + . = ..() + + +//Code for Telescopic White Cane writen by Gozulio + +/obj/item/weapon/cane/white/collapsible + name = "telescopic white cane" + desc = "A telescopic white cane. They are commonly used by the blind or visually impaired as a mobility tool or as a courtesy to others." + icon_state = "whitecane1in" + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_melee.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_melee.dmi', + ) + slot_flags = SLOT_BELT + w_class = ITEMSIZE_SMALL + force = 3 + var/on = 0 + +/obj/item/weapon/cane/white/collapsible/attack_self(mob/user as mob) + on = !on + if(on) + user.visible_message("\The [user] extends the white cane.",\ + "You extend the white cane.",\ + "You hear an ominous click.") + icon_state = "whitecane1out" + item_state_slots = list(slot_r_hand_str = "whitecane", slot_l_hand_str = "whitecane") + w_class = ITEMSIZE_NORMAL + force = 5 + attack_verb = list("smacked", "struck", "cracked", "beaten") + else + user.visible_message("\The [user] collapses the white cane.",\ + "You collapse the white cane.",\ + "You hear a click.") + icon_state = "whitecane1in" + item_state_slots = list(slot_r_hand_str = null, slot_l_hand_str = null) + w_class = ITEMSIZE_SMALL + force = 3 + attack_verb = list("hit", "poked", "prodded") + + if(istype(user,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + H.update_inv_l_hand() + H.update_inv_r_hand() + + playsound(src.loc, 'sound/weapons/empty.ogg', 50, 1) + add_fingerprint(user) + return TRUE \ No newline at end of file diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 759ae702ab..f3df3c914b 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -34,6 +34,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM origin_tech = list(TECH_MATERIAL = 1) slot_flags = SLOT_EARS attack_verb = list("burnt", "singed") + drop_sound = null /obj/item/weapon/flame/match/process() if(isliving(loc)) @@ -59,6 +60,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM burn_out() return ..() +/obj/item/weapon/flame/match/proc/light(var/mob/user) + playsound(src, 'sound/items/cigs_lighters/matchstick_lit.ogg', 25, 0, -1) + lit = 1 + damtype = "burn" + icon_state = "match_lit" + name = "burning match" + desc = "A match. This one is presently on fire." + START_PROCESSING(SSobj, src) + /obj/item/weapon/flame/match/proc/burn_out() lit = 0 burnt = 1 @@ -90,6 +100,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/ignitermes = "USER lights NAME with FLAME" var/brand blood_sprite_state = null //Can't bloody these + drop_sound = 'sound/items/cigs_lighters/cig_snuff.ogg' /obj/item/clothing/mask/smokable/Initialize() . = ..() @@ -158,6 +169,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/proc/light(var/flavor_text = "[usr] lights the [name].") if(!src.lit) src.lit = 1 + playsound(src, 'sound/items/cigs_lighters/cig_light.ogg', 75, 1, -1) damtype = "fire" if(reagents.get_reagent_amount("phoron")) // the phoron explodes when exposed to fire var/datum/effect/effect/system/reagents_explosion/e = new() @@ -182,6 +194,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/clothing/mask/smokable/proc/die(var/nomessage = 0) var/turf/T = get_turf(src) set_light(0) + playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) STOP_PROCESSING(SSobj, src) if (type_butt) var/obj/item/butt = new type_butt(T) @@ -203,6 +216,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/mob/living/M = loc if (!nomessage) to_chat(M, "Your [name] goes out, and you empty the ash.") + playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) lit = 0 icon_state = initial(icon_state) item_state = initial(item_state) @@ -225,6 +239,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM to_chat(H, "\The [blocked] is in the way!") return 1 to_chat(H, "You take a drag on your [name].") + playsound(src, 'sound/items/cigs_lighters/inhale.ogg', 50, 0, -1) smoke(5) return 1 return ..() @@ -313,6 +328,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(lit == 1) if(user.a_intent == I_HURT) user.visible_message("[user] drops and treads on the lit [src], putting it out instantly.") + playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) die(1) else user.visible_message("[user] puts out \the [src].") @@ -406,6 +422,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(lit == 1) if(user.a_intent == I_HURT) user.visible_message("[user] empties the lit [src] on the floor!.") + playsound(src.loc, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1) die(1) else user.visible_message("[user] puts out \the [src].") diff --git a/code/game/objects/items/weapons/circuitboards/machinery/ships.dm b/code/game/objects/items/weapons/circuitboards/machinery/ships.dm new file mode 100644 index 0000000000..dd37bc2519 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/ships.dm @@ -0,0 +1,23 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/pointdefense + name = T_BOARD("point defense battery") + board_type = new /datum/frame/frame_types/machine + desc = "Control systems for a Kuiper pattern point defense battery. Aim away from vessel." + build_path = /obj/machinery/pointdefense + origin_tech = list(TECH_ENGINEERING = 3, TECH_COMBAT = 2) + req_components = list( + /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser = 1, + /obj/item/weapon/stock_parts/manipulator = 2, + /obj/item/weapon/stock_parts/capacitor = 2, + ) + +/obj/item/weapon/circuitboard/pointdefense_control + name = T_BOARD("fire assist mainframe") + board_type = new /datum/frame/frame_types/machine + desc = "A control computer to synchronize point defense batteries." + build_path = /obj/machinery/pointdefense_control + origin_tech = list(TECH_ENGINEERING = 3, TECH_COMBAT = 2) + req_components = list() diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index 890e557f50..1f53e64e77 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -8,13 +8,9 @@ /* * Banana Peals */ -/obj/item/weapon/bananapeel/Crossed(AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/item/weapon/bananapeel/Crossed(atom/movable/AM as mob|obj) + if(AM.is_incorporeal()) + return if (istype(AM, /mob/living)) var/mob/living/M = AM M.slip("the [src.name]",4) @@ -29,13 +25,9 @@ /obj/item/weapon/soap/proc/wet() reagents.add_reagent("cleaner", 5) -/obj/item/weapon/soap/Crossed(AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/item/weapon/soap/Crossed(atom/movable/AM as mob|obj) + if(AM.is_incorporeal()) + return if (istype(AM, /mob/living)) var/mob/living/M = AM M.slip("the [src.name]",3) diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm index c325600847..9435be7fb3 100644 --- a/code/game/objects/items/weapons/cosmetics.dm +++ b/code/game/objects/items/weapons/cosmetics.dm @@ -8,6 +8,7 @@ slot_flags = SLOT_EARS var/colour = "red" var/open = 0 + drop_sound = 'sound/items/drop/glass.ogg' /obj/item/weapon/lipstick/purple name = "purple lipstick" diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 87fb0ffb7d..f44abcb96b 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -12,6 +12,7 @@ force = 10 matter = list(DEFAULT_WALL_MATERIAL = 90) attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed") + drop_sound = 'sound/items/drop/gascan.ogg' var/spray_particles = 3 var/spray_amount = 10 //units of liquid per particle diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index d342e30863..27c917df28 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -13,6 +13,7 @@ icon = 'icons/obj/items.dmi' icon_state = "gift1" item_state = "gift1" + drop_sound = 'sound/items/drop/box.ogg' /obj/item/weapon/a_gift/New() ..() @@ -26,6 +27,7 @@ /obj/item/weapon/gift/attack_self(mob/user as mob) user.drop_item() + playsound(src.loc, 'sound/items/package_unwrap.ogg', 50,1) if(src.gift) user.put_in_active_hand(gift) src.gift.add_fingerprint(user) diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 6c5f2ced83..763b89c353 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -11,6 +11,7 @@ throw_range = 5 origin_tech = list(TECH_MATERIAL = 1) matter = list(DEFAULT_WALL_MATERIAL = 500) + drop_sound = 'sound/items/drop/accessory.ogg' var/elastic var/dispenser = 0 var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes diff --git a/code/game/objects/items/weapons/id cards/cards.dm b/code/game/objects/items/weapons/id cards/cards.dm index 2b153bab21..6179632f9b 100644 --- a/code/game/objects/items/weapons/id cards/cards.dm +++ b/code/game/objects/items/weapons/id cards/cards.dm @@ -20,6 +20,7 @@ var/associated_account_number = 0 var/list/files = list( ) + drop_sound = 'sound/items/drop/card.ogg' /obj/item/weapon/card/data name = "data disk" diff --git a/code/game/objects/items/weapons/implants/implantaugment.dm b/code/game/objects/items/weapons/implants/implantaugment.dm index 10873d1d06..be6c8721ee 100644 --- a/code/game/objects/items/weapons/implants/implantaugment.dm +++ b/code/game/objects/items/weapons/implants/implantaugment.dm @@ -75,12 +75,12 @@ var/obj/item/organ/external/E = setup_augment_slots(H, NewOrgan) to_chat(H, "You feel a tingling sensation in your [part].") - if(E && istype(E) && !(H.internal_organs_by_name[NewOrgan.organ_tag])) + NewOrgan.forceMove(H) + NewOrgan.owner = H + if(E && istype(E) && !(H.internal_organs_by_name[NewOrgan.organ_tag]) && NewOrgan.check_verb_compatability()) spawn(rand(1 SECONDS, 30 SECONDS)) to_chat(H, "You feel a pressure in your [E] as the tingling fades, the lump caused by the implant now gone.") - NewOrgan.forceMove(H) - NewOrgan.owner = H if(E.internal_organs == null) E.internal_organs = list() E.internal_organs |= NewOrgan diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index 8d445efce2..b2369f995d 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -103,6 +103,7 @@ force_divisor = 0.7 // 10 when wielded with weight 15 (wood) dulled_divisor = 0.75 // Still a club thrown_force_divisor = 1 // as above + drop_sound = 'sound/items/drop/wooden.ogg' /obj/item/weapon/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 74f6fc570f..cf5a706525 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -9,6 +9,7 @@ attack_verb = list("patted", "tapped") force_divisor = 0.25 // 15 when wielded with hardness 60 (steel) thrown_force_divisor = 0.25 // 5 when thrown with weight 20 (steel) + drop_sound = 'sound/items/drop/knife.ogg' /obj/item/weapon/material/butterfly/update_force() if(active) @@ -65,6 +66,7 @@ matter = list(DEFAULT_WALL_MATERIAL = 12000) origin_tech = list(TECH_MATERIAL = 1) attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + drop_sound = 'sound/items/drop/knife.ogg' /obj/item/weapon/material/knife/suicide_act(mob/user) var/datum/gender/TU = gender_datums[user.get_visible_gender()] diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 050307eb7e..29193b1c08 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -21,6 +21,7 @@ origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 1) attack_verb = list("chopped", "torn", "cut") applies_material_colour = 0 + drop_sound = 'sound/items/drop/axe.ogg' /obj/item/weapon/material/knife/machete/hatchet/unathiknife name = "duelling knife" @@ -72,12 +73,14 @@ /obj/item/weapon/material/snow/snowball/attack_self(mob/user as mob) if(user.a_intent == I_HURT) - visible_message("[user] has smashed the snowball in their hand!", "You smash the snowball in your hand.") + //visible_message("[user] has smashed the snowball in their hand!", "You smash the snowball in your hand.") + to_chat(user, "You smash the snowball in your hand.") var/atom/S = new /obj/item/stack/material/snow(user.loc) del(src) user.put_in_hands(S) else - visible_message("[user] starts compacting the snowball.", "You start compacting the snowball.") + //visible_message("[user] starts compacting the snowball.", "You start compacting the snowball.") + to_chat(user, "You start compacting the snowball.") if(do_after(user, 2 SECONDS)) var/atom/S = new /obj/item/weapon/material/snow/snowball/reinforced(user.loc) del(src) diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm index f98959ff2e..e2394537f3 100644 --- a/code/game/objects/items/weapons/material/shards.dm +++ b/code/game/objects/items/weapons/material/shards.dm @@ -106,14 +106,10 @@ qdel(src) return -/obj/item/weapon/material/shard/Crossed(AM as mob|obj) +/obj/item/weapon/material/shard/Crossed(atom/movable/AM as mob|obj) ..() - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(AM.is_incorporeal()) + return if(isliving(AM)) var/mob/M = AM diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm index f1685510eb..3affd40887 100644 --- a/code/game/objects/items/weapons/material/swords.dm +++ b/code/game/objects/items/weapons/material/swords.dm @@ -9,6 +9,7 @@ edge = 1 attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") hitsound = 'sound/weapons/bladeslice.ogg' + drop_sound = 'sound/items/drop/sword.ogg' /obj/item/weapon/material/sword/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack") if(unique_parry_check(user, attacker, damage_source) && prob(50)) diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm index 943964f78b..108751654a 100644 --- a/code/game/objects/items/weapons/material/twohanded.dm +++ b/code/game/objects/items/weapons/material/twohanded.dm @@ -95,6 +95,7 @@ attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") applies_material_colour = 0 can_cleave = TRUE + drop_sound = 'sound/items/drop/axe.ogg' /obj/item/weapon/material/twohanded/fireaxe/update_held_icon() var/mob/living/M = loc diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 17d7bc4621..9145786d69 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -168,7 +168,7 @@ . = ..() var/mutable_appearance/blade_overlay = mutable_appearance(icon, "[icon_state]_blade") blade_overlay.color = lcolor - color = lcolor + color = lcolor if(rainbow) blade_overlay = mutable_appearance(icon, "[icon_state]_blade_rainbow") blade_overlay.color = "FFFFFF" @@ -211,6 +211,8 @@ desc = "An energised battle axe." icon_state = "eaxe" item_state = "eaxe" + colorable = FALSE + lcolor = null //active_force = 150 //holy... active_force = 60 active_throwforce = 35 diff --git a/code/game/objects/items/weapons/mop_deploy.dm b/code/game/objects/items/weapons/mop_deploy.dm index 49836005fa..2e2ea6aebc 100644 --- a/code/game/objects/items/weapons/mop_deploy.dm +++ b/code/game/objects/items/weapons/mop_deploy.dm @@ -1,6 +1,7 @@ /obj/item/weapon/mop_deploy name = "mop" desc = "Deployable mop." + icon = 'icons/obj/janitor.dmi' icon_state = "mop" force = 3 anchored = 1 // Never spawned outside of inventory, should be fine. diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 4e89372ec1..744a92e370 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -186,15 +186,22 @@ var/mutable_appearance/blade_overlay = mutable_appearance(icon, "[icon_state]_blade") if(lcolor) blade_overlay.color = lcolor + color = lcolor cut_overlays() //So that it doesn't keep stacking overlays non-stop on top of each other if(active) add_overlay(blade_overlay) item_state = "[icon_state]_blade" set_light(lrange, lpower, lcolor) else + color = "FFFFFF" set_light(0) item_state = "[icon_state]" + if(istype(usr,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = usr + H.update_inv_l_hand() + H.update_inv_r_hand() + /obj/item/weapon/shield/energy/AltClick(mob/living/user) if(!in_range(src, user)) //Basic checks to prevent abuse return @@ -204,7 +211,7 @@ if(alert("Are you sure you want to recolor your shield?", "Confirm Recolor", "Yes", "No") == "Yes") var/energy_color_input = input(usr,"","Choose Energy Color",lcolor) as color|null if(energy_color_input) - lcolor = sanitize_hexcolor(energy_color_input, desired_format=6, include_crunch=1) + lcolor = sanitize_hexcolor(energy_color_input) update_icon() /obj/item/weapon/shield/energy/examine(mob/user) diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index b2ff7dd06e..6b347e0cb6 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -16,11 +16,8 @@ max_storage_space = INVENTORY_STANDARD_SPACE var/flippable = 0 var/side = 0 //0 = right, 1 = left + drop_sound = 'sound/items/drop/backpack.ogg' -/obj/item/weapon/storage/backpack/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (src.use_sound) - playsound(src.loc, src.use_sound, 50, 1, -5) - ..() /obj/item/weapon/storage/backpack/equipped(var/mob/user, var/slot) if (slot == slot_back && src.use_sound) diff --git a/code/game/objects/items/weapons/storage/backpack_vr.dm b/code/game/objects/items/weapons/storage/backpack_vr.dm index de305d11ad..b14fbf5ff0 100644 --- a/code/game/objects/items/weapons/storage/backpack_vr.dm +++ b/code/game/objects/items/weapons/storage/backpack_vr.dm @@ -134,3 +134,6 @@ sprite_sheets = list( SPECIES_TESHARI = 'icons/mob/species/seromi/back.dmi', SPECIES_WEREBEAST = 'icons/mob/species/werebeast/back.dmi') + +/obj/item/weapon/storage/backpack/ert + max_storage_space = INVENTORY_DUFFLEBAG_SPACE diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index e8cb3135d9..005def5410 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -23,6 +23,7 @@ display_contents_with_number = 0 // UNStABLE AS FuCK, turn on when it stops crashing clients use_to_pickup = 1 slot_flags = SLOT_BELT + drop_sound = 'sound/items/drop/backpack.ogg' // ----------------------------- // Trash bag @@ -33,6 +34,7 @@ icon = 'icons/obj/janitor.dmi' icon_state = "trashbag0" item_state_slots = list(slot_r_hand_str = "trashbag", slot_l_hand_str = "trashbag") + drop_sound = 'sound/items/drop/wrapper.ogg' w_class = ITEMSIZE_LARGE max_w_class = ITEMSIZE_SMALL @@ -59,6 +61,7 @@ desc = "It's a very flimsy, very noisy alternative to a bag." icon = 'icons/obj/trash.dmi' icon_state = "plasticbag" + drop_sound = 'sound/items/drop/wrapper.ogg' w_class = ITEMSIZE_LARGE max_w_class = ITEMSIZE_SMALL diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 8a564be25f..c900e729c5 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -9,6 +9,7 @@ slot_flags = SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined") sprite_sheets = list(SPECIES_TESHARI = 'icons/mob/species/seromi/belt.dmi') + drop_sound = 'sound/items/drop/leather.ogg' var/show_above_suit = 0 diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index d59b5bf3e6..0d97b4f878 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -7,6 +7,8 @@ w_class = ITEMSIZE_NORMAL var/mob/affecting = null var/deity_name = "Christ" + use_sound = 'sound/bureaucracy/bookopen.ogg' + drop_sound = 'sound/bureaucracy/bookclose.ogg' /obj/item/weapon/storage/bible/booze name = "bible" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index d147208d5f..926e6bc5c5 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -28,6 +28,8 @@ var/foldable = /obj/item/stack/material/cardboard // BubbleWrap - if set, can be folded (when empty) into a sheet of cardboard max_w_class = ITEMSIZE_SMALL max_storage_space = INVENTORY_BOX_SPACE + use_sound = 'sound/items/storage/box.ogg' + drop_sound = 'sound/items/drop/box.ogg' // BubbleWrap - A box can be folded up to make card /obj/item/weapon/storage/box/attack_self(mob/user as mob) @@ -50,6 +52,7 @@ return // Now make the cardboard to_chat(user, "You fold [src] flat.") + playsound(src.loc, 'sound/items/storage/boxfold.ogg', 30, 1) new foldable(get_turf(src)) qdel(src) @@ -405,12 +408,13 @@ can_hold = list(/obj/item/weapon/flame/match) starts_with = list(/obj/item/weapon/flame/match = 10) -/obj/item/weapon/storage/box/matches/attackby(obj/item/weapon/flame/match/W as obj, mob/user as mob) +/obj/item/weapon/storage/box/matches/attackby(var/obj/item/weapon/flame/match/W, var/mob/user) if(istype(W) && !W.lit && !W.burnt) - W.lit = 1 - W.damtype = "burn" - W.icon_state = "match_lit" - START_PROCESSING(SSobj, W) + if(prob(25)) + W.light(user) + user.visible_message("[user] manages to light the match on the matchbox.") + else + playsound(src, 'sound/items/cigs_lighters/matchstick_hit.ogg', 25, 0, -1) W.update_icon() return diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index 4c8a631fa3..3d24c6dd0a 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -8,6 +8,8 @@ w_class = ITEMSIZE_LARGE max_w_class = ITEMSIZE_NORMAL max_storage_space = ITEMSIZE_COST_NORMAL * 4 + use_sound = 'sound/items/storage/briefcase.ogg' + drop_sound = 'sound/items/drop/backpack.ogg' /obj/item/weapon/storage/briefcase/clutch name = "clutch purse" diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 2fd85ec7c2..c47e564e01 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -16,6 +16,7 @@ throw_range = 8 max_storage_space = ITEMSIZE_COST_SMALL * 7 // 14 // var/list/icon_variety // VOREStation edit + drop_sound = 'sound/items/drop/box.ogg' /obj/item/weapon/storage/firstaid/Initialize() . = ..() @@ -173,13 +174,14 @@ desc = "It's an airtight container for storing medication." icon_state = "pill_canister" icon = 'icons/obj/chemical.dmi' + drop_sound = 'sound/items/drop/pillbottle.ogg' item_state_slots = list(slot_r_hand_str = "contsolid", slot_l_hand_str = "contsolid") w_class = ITEMSIZE_SMALL can_hold = list(/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/dice,/obj/item/weapon/paper) allow_quick_gather = 1 allow_quick_empty = 1 use_to_pickup = 1 - use_sound = null + use_sound = 'sound/items/storage/pillbottle.ogg' max_storage_space = ITEMSIZE_COST_TINY * 14 max_w_class = ITEMSIZE_TINY var/wrapper_color diff --git a/code/game/objects/items/weapons/storage/quickdraw.dm b/code/game/objects/items/weapons/storage/quickdraw.dm index 5e6f58fd53..98cbe58d99 100644 --- a/code/game/objects/items/weapons/storage/quickdraw.dm +++ b/code/game/objects/items/weapons/storage/quickdraw.dm @@ -78,4 +78,22 @@ /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/syringe - ) \ No newline at end of file + ) + +/obj/item/weapon/storage/quickdraw/syringe_case/clotting + desc = "A small case for safely carrying sharps around. This one is deluxe!" + max_w_class = ITEMSIZE_SMALL + starts_with = list( + /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting, + /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting, + /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting + ) + +/obj/item/weapon/storage/quickdraw/syringe_case/bonemed + desc = "A small case for safely carrying sharps around. This one is deluxe!" + max_w_class = ITEMSIZE_SMALL + starts_with = list( + /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed, + /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed, + /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/bonemed + ) diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index 9bd4a6c5e2..df775b3cc0 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -26,6 +26,7 @@ w_class = ITEMSIZE_NORMAL max_w_class = ITEMSIZE_SMALL max_storage_space = ITEMSIZE_SMALL * 7 + use_sound = 'sound/items/storage/briefcase.ogg' examine(mob/user) if(..(user, 1)) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index f400f87bb3..1b25d5e19a 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -141,8 +141,8 @@ is_seeing -= user /obj/item/weapon/storage/proc/open(mob/user as mob) - if (src.use_sound && !isobserver(user)) - playsound(src.loc, src.use_sound, 50, 1, -5) + if (use_sound) + playsound(src.loc, src.use_sound, 50, 0, -5) orient2hud(user) if (user.s_active) diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index 9ce324c44e..d23a5e2d69 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -14,6 +14,8 @@ max_storage_space = ITEMSIZE_COST_SMALL * 7 //enough to hold all starting contents origin_tech = list(TECH_COMBAT = 1) attack_verb = list("robusted") + use_sound = 'sound/items/storage/toolbox.ogg' + drop_sound = 'sound/items/drop/metalboots.ogg' /obj/item/weapon/storage/toolbox/emergency name = "emergency toolbox" diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 2144a1e394..abae12ed8a 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -266,6 +266,37 @@ /obj/item/weapon/tool/screwdriver ) +/obj/item/weapon/storage/box/syndie_kit/voidsuit + starts_with = list( + /obj/item/clothing/suit/space/void/merc, + /obj/item/clothing/head/helmet/space/void/merc, + /obj/item/clothing/shoes/magboots, + /obj/item/weapon/tank/jetpack/oxygen + ) + +/obj/item/weapon/storage/box/syndie_kit/voidsuit/fire + starts_with = list( + /obj/item/clothing/suit/space/void/merc/fire, + /obj/item/clothing/head/helmet/space/void/merc/fire, + /obj/item/clothing/shoes/magboots, + /obj/item/weapon/tank/jetpack/oxygen + ) + +/obj/item/weapon/storage/box/syndie_kit/concussion_grenade + starts_with = list( + /obj/item/weapon/grenade/concussion = 8 + ) + +/obj/item/weapon/storage/box/syndie_kit/deadliest_game + starts_with = list( + /obj/item/weapon/beartrap/hunting = 4 + ) + +/obj/item/weapon/storage/box/syndie_kit/viral + starts_with = list( + /obj/item/weapon/virusdish/random = 3 + ) + /obj/item/weapon/storage/secure/briefcase/rifle name = "secure briefcase" starts_with = list( @@ -275,6 +306,15 @@ /obj/item/ammo_casing/a145 = 4 ) +/obj/item/weapon/storage/secure/briefcase/flamer + name = "secure briefcase" + starts_with = list( + /obj/item/weapon/gun/magnetic/gasthrower, + /obj/item/weapon/cell/super, + /obj/item/weapon/stock_parts/capacitor/adv, + /obj/item/weapon/tank/phoron/pressurized = 2 + ) + /obj/item/weapon/storage/secure/briefcase/fuelrod name = "heavy briefcase" desc = "A heavy, locked briefcase." diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index 418c0a789a..e5580082a1 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -30,6 +30,7 @@ icon_state = "retractor" matter = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 5000) origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) + drop_sound = 'sound/items/drop/scrap.ogg' /* * Hemostat @@ -41,6 +42,7 @@ matter = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) attack_verb = list("attacked", "pinched") + drop_sound = 'sound/items/drop/scrap.ogg' /* * Cautery @@ -52,6 +54,7 @@ matter = list(DEFAULT_WALL_MATERIAL = 5000, "glass" = 2500) origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) attack_verb = list("burnt") + drop_sound = 'sound/items/drop/scrap.ogg' /* * Surgical Drill @@ -66,6 +69,7 @@ w_class = ITEMSIZE_NORMAL origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) attack_verb = list("drilled") + drop_sound = 'sound/items/drop/accessory.ogg' suicide_act(mob/user) var/datum/gender/TU = gender_datums[user.get_visible_gender()] @@ -91,6 +95,7 @@ origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1) matter = list(DEFAULT_WALL_MATERIAL = 10000, "glass" = 5000) attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + drop_sound = 'sound/items/drop/knife.ogg' suicide_act(mob/user) var/datum/gender/TU = gender_datums[user.get_visible_gender()] @@ -145,6 +150,7 @@ desc = "For heavy duty cutting." icon_state = "saw3" hitsound = 'sound/weapons/circsawhit.ogg' + drop_sound = 'sound/items/drop/accessory.ogg' force = 15.0 w_class = ITEMSIZE_NORMAL throwforce = 9.0 @@ -176,6 +182,7 @@ icon_state = "bone-gel" force = 0 throwforce = 1.0 + drop_sound = 'sound/items/drop/bottle.ogg' /obj/item/weapon/surgical/FixOVein name = "FixOVein" @@ -185,6 +192,7 @@ throwforce = 1.0 origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 3) var/usage_amount = 10 + drop_sound = 'sound/items/drop/accessory.ogg' /obj/item/weapon/surgical/bonesetter name = "bone setter" @@ -195,6 +203,7 @@ throw_speed = 3 throw_range = 5 attack_verb = list("attacked", "hit", "bludgeoned") + drop_sound = 'sound/items/drop/scrap.ogg' /obj/item/weapon/surgical/bone_clamp name = "bone clamp" diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index 06ab7c5939..e000496f28 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -8,6 +8,17 @@ /* * Classic Baton */ + +/obj/item/weapon/melee + name = "weapon" + desc = "Murder device." + icon = 'icons/obj/weapons.dmi' + icon_state = "baton" + item_state = "classic_baton" + slot_flags = SLOT_BELT + force = 10 + drop_sound = 'sound/items/drop/metalweapon.ogg' + /obj/item/weapon/melee/classic_baton name = "police baton" desc = "A wooden truncheon for beating criminal scum." diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index 9e984ba05f..6d6839a4a5 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -113,6 +113,19 @@ air_contents.adjust_gas("phoron", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) return +/obj/item/weapon/tank/phoron/pressurized + name = "fuel can" + icon_state = "phoron_vox" + w_class = ITEMSIZE_NORMAL + +/obj/item/weapon/tank/phoron/pressurized/Initialize() + ..() + + adjust_scale(0.8) + + air_contents.adjust_gas("phoron", (7*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) + return + /* * Emergency Oxygen */ diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index 9c54377e8f..bfb484b307 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -10,6 +10,7 @@ var/list/global/tank_gauge_cache = list() sprite_sheets = list( SPECIES_TESHARI = 'icons/mob/species/seromi/back.dmi' ) + drop_sound = 'sound/items/drop/gascan.ogg' var/gauge_icon = "indicator_tank" var/last_gauge_pressure @@ -77,7 +78,6 @@ var/list/global/tank_gauge_cache = list() if(istype(loc, /obj/item/device/transfer_valve)) var/obj/item/device/transfer_valve/TTV = loc TTV.remove_tank(src) - qdel(TTV) . = ..() @@ -328,6 +328,9 @@ var/list/global/tank_gauge_cache = list() /obj/item/weapon/tank/remove_air(amount) return air_contents.remove(amount) +/obj/item/weapon/tank/proc/remove_air_by_flag(flag, amount) + return air_contents.remove_by_flag(flag, amount) + /obj/item/weapon/tank/return_air() return air_contents diff --git a/code/game/objects/items/weapons/tape.dm b/code/game/objects/items/weapons/tape.dm index 2a3340d71c..62153d440b 100644 --- a/code/game/objects/items/weapons/tape.dm +++ b/code/game/objects/items/weapons/tape.dm @@ -4,6 +4,7 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "taperoll" w_class = ITEMSIZE_TINY + drop_sound = 'sound/items/drop/box.ogg' toolspeed = 2 //It is now used in surgery as a not awful, but probably dangerous option, due to speed. @@ -141,6 +142,7 @@ w_class = ITEMSIZE_TINY plane = MOB_PLANE anchored = FALSE + drop_sound = null var/obj/item/weapon/stuck = null diff --git a/code/game/objects/items/weapons/tools/crowbar.dm b/code/game/objects/items/weapons/tools/crowbar.dm index fab0a6fb98..56afaf8219 100644 --- a/code/game/objects/items/weapons/tools/crowbar.dm +++ b/code/game/objects/items/weapons/tools/crowbar.dm @@ -17,6 +17,7 @@ matter = list(DEFAULT_WALL_MATERIAL = 50) attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") usesound = 'sound/items/crowbar.ogg' + drop_sound = 'sound/items/drop/sword.ogg' toolspeed = 1 /obj/item/weapon/tool/crowbar/is_crowbar() diff --git a/code/game/objects/items/weapons/tools/screwdriver.dm b/code/game/objects/items/weapons/tools/screwdriver.dm index d63692635d..8045445ca3 100644 --- a/code/game/objects/items/weapons/tools/screwdriver.dm +++ b/code/game/objects/items/weapons/tools/screwdriver.dm @@ -15,6 +15,7 @@ throw_range = 5 hitsound = 'sound/weapons/bladeslice.ogg' usesound = 'sound/items/screwdriver.ogg' + drop_sound = 'sound/items/drop/scrap.ogg' matter = list(DEFAULT_WALL_MATERIAL = 75) attack_verb = list("stabbed") sharp = 1 diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm index 7d80699560..ece27fb2c9 100644 --- a/code/game/objects/items/weapons/tools/weldingtool.dm +++ b/code/game/objects/items/weapons/tools/weldingtool.dm @@ -37,6 +37,7 @@ var/burned_fuel_for = 0 // Keeps track of how long the welder's been on, used to gradually empty the welder if left one, without RNG. var/always_process = FALSE // If true, keeps the welder on the process list even if it's off. Used for when it needs to regenerate fuel. toolspeed = 1 + drop_sound = 'sound/items/drop/scrap.ogg' /obj/item/weapon/weldingtool/Initialize() . = ..() @@ -644,6 +645,10 @@ var/obj/item/weapon/rig/suit = H.back if(istype(suit)) return suit.cell + if(istype(src.loc, /obj/item/mecha_parts/mecha_equipment)) + var/obj/item/mecha_parts/mecha_equipment/mounting = src.loc + if(mounting.chassis && mounting.chassis.cell) + return mounting.chassis.cell return null /obj/item/weapon/weldingtool/electric/mounted @@ -652,4 +657,26 @@ /obj/item/weapon/weldingtool/electric/mounted/cyborg toolspeed = 0.5 -#undef WELDER_FUEL_BURN_INTERVAL \ No newline at end of file +/obj/item/weapon/weldingtool/electric/mounted/exosuit + var/obj/item/mecha_parts/mecha_equipment/equip_mount = null + flame_intensity = 1 + eye_safety_modifier = 2 + always_process = TRUE + +/obj/item/weapon/weldingtool/electric/mounted/exosuit/Initialize() + ..() + + if(istype(loc, /obj/item/mecha_parts/mecha_equipment)) + equip_mount = loc + +/obj/item/weapon/weldingtool/electric/mounted/exosuit/process() + ..() + + if(equip_mount && equip_mount.chassis) + var/obj/mecha/M = equip_mount.chassis + if(M.selected == equip_mount && get_fuel()) + setWelding(TRUE, M.occupant) + else + setWelding(FALSE, M.occupant) + +#undef WELDER_FUEL_BURN_INTERVAL diff --git a/code/game/objects/items/weapons/tools/wirecutters.dm b/code/game/objects/items/weapons/tools/wirecutters.dm index 4cfc99487c..28e9e8f6cf 100644 --- a/code/game/objects/items/weapons/tools/wirecutters.dm +++ b/code/game/objects/items/weapons/tools/wirecutters.dm @@ -17,6 +17,7 @@ attack_verb = list("pinched", "nipped") hitsound = 'sound/items/wirecutter.ogg' usesound = 'sound/items/wirecutter.ogg' + drop_sound = 'sound/items/drop/knife.ogg' sharp = 1 edge = 1 toolspeed = 1 diff --git a/code/game/objects/items/weapons/tools/wrench.dm b/code/game/objects/items/weapons/tools/wrench.dm index 3f02a2f8b3..89a51cf217 100644 --- a/code/game/objects/items/weapons/tools/wrench.dm +++ b/code/game/objects/items/weapons/tools/wrench.dm @@ -15,6 +15,7 @@ attack_verb = list("bashed", "battered", "bludgeoned", "whacked") usesound = 'sound/items/ratchet.ogg' toolspeed = 1 + drop_sound = 'sound/items/drop/sword.ogg' /obj/item/weapon/tool/wrench/is_wrench() return TRUE diff --git a/code/game/objects/items/weapons/towels.dm b/code/game/objects/items/weapons/towels.dm index 0c433a63a0..ba1b662ebb 100644 --- a/code/game/objects/items/weapons/towels.dm +++ b/code/game/objects/items/weapons/towels.dm @@ -8,6 +8,7 @@ attack_verb = list("whipped") hitsound = 'sound/weapons/towelwhip.ogg' desc = "A soft cotton towel." + drop_sound = 'sound/items/drop/clothing.ogg' /obj/item/weapon/towel/attack_self(mob/living/user as mob) user.visible_message(text("[] uses [] to towel themselves off.", user, src)) diff --git a/code/game/objects/items/weapons/traps.dm b/code/game/objects/items/weapons/traps.dm index ab71c0cec5..8e6667c759 100644 --- a/code/game/objects/items/weapons/traps.dm +++ b/code/game/objects/items/weapons/traps.dm @@ -105,15 +105,12 @@ L.Stun(stun_length) to_chat(L, "The steel jaws of \the [src] bite into you, trapping you in place!") deployed = 0 + anchored = FALSE can_buckle = initial(can_buckle) -/obj/item/weapon/beartrap/Crossed(AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/item/weapon/beartrap/Crossed(atom/movable/AM as mob|obj) + if(AM.is_incorporeal()) + return if(deployed && isliving(AM)) var/mob/living/L = AM if(L.m_intent == "run") diff --git a/code/game/objects/items/weapons/trays.dm b/code/game/objects/items/weapons/trays.dm index 231e589a69..48d65ffb16 100644 --- a/code/game/objects/items/weapons/trays.dm +++ b/code/game/objects/items/weapons/trays.dm @@ -14,6 +14,7 @@ matter = list(DEFAULT_WALL_MATERIAL = 3000) var/list/carrying = list() // List of things on the tray. - Doohl var/max_carry = 10 + drop_sound = 'sound/items/trayhit1.ogg' /obj/item/weapon/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) user.setClickCooldown(user.get_attack_speed(src)) diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index ea390d52bd..ff982da257 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -9,6 +9,7 @@ throw_range = 4 throwforce = 10 w_class = ITEMSIZE_SMALL + drop_sound = 'sound/items/drop/sword.ogg' suicide_act(mob/user) var/datum/gender/T = gender_datums[user.get_visible_gender()] diff --git a/code/game/objects/items/weapons/weldbackpack.dm b/code/game/objects/items/weapons/weldbackpack.dm index 886f90498a..2f946a5942 100644 --- a/code/game/objects/items/weapons/weldbackpack.dm +++ b/code/game/objects/items/weapons/weldbackpack.dm @@ -9,6 +9,7 @@ var/obj/item/weapon/nozzle = null //Attached welder, or other spray device. var/nozzle_type = /obj/item/weapon/weldingtool/tubefed var/nozzle_attached = 0 + drop_sound = 'sound/items/drop/backpack.ogg' /obj/item/weapon/weldpack/Initialize() . = ..() diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index a2f0606ef4..9f1af1cf1b 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -16,6 +16,7 @@ LINEN BINS throw_speed = 1 throw_range = 2 w_class = ITEMSIZE_SMALL + drop_sound = 'sound/items/drop/clothing.ogg' /obj/item/weapon/bedsheet/attack_self(mob/user as mob) user.drop_item() diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm index 5c606422d7..26e040c7e9 100644 --- a/code/game/objects/structures/catwalk.dm +++ b/code/game/objects/structures/catwalk.dm @@ -87,14 +87,8 @@ return ..() /obj/structure/catwalk/Crossed() - //VOREStation Edit begin: SHADEKIN - var/mob/SK = usr - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN . = ..() - if(isliving(usr)) + if(isliving(usr) && !usr.is_incorporeal()) playsound(src, pick('sound/effects/footstep/catwalk1.ogg', 'sound/effects/footstep/catwalk2.ogg', 'sound/effects/footstep/catwalk3.ogg', 'sound/effects/footstep/catwalk4.ogg', 'sound/effects/footstep/catwalk5.ogg'), 25, 1) /obj/structure/catwalk/CheckExit(atom/movable/O, turf/target) diff --git a/code/game/objects/structures/crates_lockers/closets/walllocker.dm b/code/game/objects/structures/crates_lockers/closets/walllocker.dm index 422d556301..3e351f1fb3 100644 --- a/code/game/objects/structures/crates_lockers/closets/walllocker.dm +++ b/code/game/objects/structures/crates_lockers/closets/walllocker.dm @@ -19,6 +19,8 @@ var/list/spawnitems = list(/obj/item/weapon/tank/emergency/oxygen,/obj/item/clothing/mask/breath,/obj/item/weapon/tool/crowbar/red,/obj/item/device/flashlight/flare,) var/amount = 2 // spawns each items X times. icon_state = "emerg" + icon_closed = "emerg" + icon_opened = "emerg_open" /obj/structure/closet/walllocker/emerglocker/toggle(mob/user as mob) src.attack_hand(user) diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index 79bd5e2949..29f1b231aa 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -64,10 +64,9 @@ icon_state = "vehiclecrate" /obj/structure/largecrate/vehicle/Initialize() - ..() - spawn(1) - for(var/obj/O in contents) - O.update_icon() + . = ..() + for(var/obj/O in contents) + O.update_icon() /obj/structure/largecrate/vehicle/bike name = "spacebike crate" diff --git a/code/game/objects/structures/ghost_pods/ghost_pods.dm b/code/game/objects/structures/ghost_pods/ghost_pods.dm index 7413b4b9d4..12cfe24dc2 100644 --- a/code/game/objects/structures/ghost_pods/ghost_pods.dm +++ b/code/game/objects/structures/ghost_pods/ghost_pods.dm @@ -65,18 +65,13 @@ /obj/structure/ghost_pod/automatic/Initialize() . = ..() - spawn(delay_to_self_open) - if(src) - trigger() + addtimer(CALLBACK(src, .proc/trigger), delay_to_self_open) /obj/structure/ghost_pod/automatic/trigger() . = ..() if(. == FALSE) // If we failed to get a volunteer, try again later if allowed to. if(delay_to_try_again) - spawn(delay_to_try_again) - if(src) - trigger() - + addtimer(CALLBACK(src, .proc/trigger), delay_to_try_again) // This type is triggered by a ghost clicking on it, as opposed to a living player. A ghost query type isn't needed. /obj/structure/ghost_pod/ghost_activated diff --git a/code/game/objects/structures/holoplant.dm b/code/game/objects/structures/holoplant.dm index bbd92b81ee..9a46b8ca15 100644 --- a/code/game/objects/structures/holoplant.dm +++ b/code/game/objects/structures/holoplant.dm @@ -48,13 +48,13 @@ plant = prepare_icon(emagged ? "emagged" : null) overlays += plant set_light(2) - use_power = 2 + use_power = USE_POWER_ACTIVE /obj/machinery/holoplant/proc/deactivate() overlays -= plant QDEL_NULL(plant) set_light(0) - use_power = 0 + use_power = USE_POWER_OFF /obj/machinery/holoplant/power_change() ..() diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm index 41a7c0fd28..995bf4eece 100644 --- a/code/game/objects/structures/inflatable.dm +++ b/code/game/objects/structures/inflatable.dm @@ -3,6 +3,7 @@ desc = "A folded membrane which rapidly expands into a large cubical shape on activation." icon = 'icons/obj/inflatable.dmi' icon_state = "folded_wall" + drop_sound = 'sound/items/drop/rubber.ogg' w_class = ITEMSIZE_NORMAL var/deploy_path = /obj/structure/inflatable diff --git a/code/game/objects/structures/props/alien_props_vr.dm b/code/game/objects/structures/props/alien_props_vr.dm new file mode 100644 index 0000000000..b306d610ba --- /dev/null +++ b/code/game/objects/structures/props/alien_props_vr.dm @@ -0,0 +1,13 @@ +/obj/structure/prop/alien/computer/hybrid + name = "hybrid console" + desc = "The console flashes what appear to be symbols you've never seen before, intermixed with human writing moving too fast to comprehend." + icon = 'icons/obj/abductor_vr.dmi' + icon_state = "console-c" + interaction_message = "The screen flashes an 'access denied' message at you. Perhaps for the best." + +/obj/structure/prop/alien/pod/hybrid + name = "hybrid pod" + desc = "This seems to be a container for something." + icon = 'icons/obj/abductor_vr.dmi' + icon_state = "experiment" + interaction_message = "You don't see any mechanism to open this thing. Probably for the best." \ No newline at end of file diff --git a/code/game/objects/structures/props/beam_prism.dm b/code/game/objects/structures/props/beam_prism.dm index f5c4c3d3c0..b0122ace47 100644 --- a/code/game/objects/structures/props/beam_prism.dm +++ b/code/game/objects/structures/props/beam_prism.dm @@ -197,16 +197,18 @@ P.rotate_auto(new_bearing) /obj/structure/prop/prismcontrol/Initialize() - ..() + . = ..() if(my_turrets.len) //Preset controls. for(var/obj/structure/prop/prism/P in my_turrets) P.remote_dial = src - return - spawn() - for(var/obj/structure/prop/prism/P in orange(src, world.view)) //Don't search a huge area. - if(P.dialID == dialID && !P.remote_dial && P.external_control_lock) - my_turrets |= P - P.remote_dial = src + else + . = INITIALIZE_HINT_LATELOAD + +/obj/structure/prop/prismcontrol/LateInitialize() + for(var/obj/structure/prop/prism/P in orange(src, world.view)) //Don't search a huge area. + if(P.dialID == dialID && !P.remote_dial && P.external_control_lock) + my_turrets |= P + P.remote_dial = src /obj/structure/prop/prismcontrol/Destroy() for(var/obj/structure/prop/prism/P in my_turrets) diff --git a/code/game/objects/structures/simple_doors_vr.dm b/code/game/objects/structures/simple_doors_vr.dm new file mode 100644 index 0000000000..7738674569 --- /dev/null +++ b/code/game/objects/structures/simple_doors_vr.dm @@ -0,0 +1,23 @@ +/material/flockium + name = "flockium" + //stack_type = /obj/item/stack/material/sandstone + icon_base = "flock" + icon_reinf = "flock" + icon_colour = "#FFFFFF" + //shard_type = SHARD_STONE_PIECE + weight = 30 + hardness = 200 + protectiveness = 5 // 20% + conductive = 0 + conductivity = 0 + door_icon_base = "flockdoor" + sheet_singular_name = "quanta" + sheet_plural_name = "quanta" + +/obj/structure/simple_door/flock + name = "aperture" + icon = 'icons/goonstation/featherzone.dmi' + icon_state = "flockdoor" + +/obj/structure/simple_door/flock/New(var/newloc, var/newmat) + ..(newloc, "flockium") \ No newline at end of file diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index c414aa9a02..1a9d4e7315 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -42,7 +42,7 @@ /obj/structure/bed/update_icon() // Prep icon. icon_state = "" - overlays.Cut() + cut_overlays() // Base icon. var/cache_key = "[base_icon]-[material.name]" if(isnull(stool_cache[cache_key])) @@ -50,7 +50,7 @@ if(applies_material_colour) //VOREStation Add - Goes with added var I.color = material.icon_colour stool_cache[cache_key] = I - overlays |= stool_cache[cache_key] + add_overlay(stool_cache[cache_key]) // Padding overlay. if(padding_material) var/padding_cache_key = "[base_icon]-padding-[padding_material.name]" @@ -58,7 +58,7 @@ var/image/I = image(icon, "[base_icon]_padding") I.color = padding_material.icon_colour stool_cache[padding_cache_key] = I - overlays |= stool_cache[padding_cache_key] + add_overlay(stool_cache[padding_cache_key]) // Strings. desc = initial(desc) if(padding_material) @@ -195,7 +195,7 @@ /obj/structure/bed/roller name = "roller bed" desc = "A portable bed-on-wheels made for transporting medical patients." - icon = 'icons/obj/rollerbed_vr.dmi' //VOREStation Edit + icon = 'icons/obj/rollerbed.dmi' icon_state = "rollerbed" anchored = 0 surgery_odds = 75 @@ -229,7 +229,7 @@ /obj/item/roller name = "roller bed" desc = "A collapsed roller bed that can be carried around." - icon = 'icons/obj/rollerbed_vr.dmi' //VOREStation Edit + icon = 'icons/obj/rollerbed.dmi' icon_state = "folded_rollerbed" center_of_mass = list("x" = 17,"y" = 7) slot_flags = SLOT_BACK @@ -288,6 +288,7 @@ /obj/structure/bed/roller/Move() ..() + playsound(src, 'sound/effects/roll.ogg', 100, 1) if(has_buckled_mobs()) for(var/A in buckled_mobs) var/mob/living/L = A diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 433b107b01..5be1d6d198 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -9,11 +9,9 @@ buckle_lying = 0 //force people to sit up in chairs when buckled var/propelled = 0 // Check for fire-extinguisher-driven chairs -/obj/structure/bed/chair/New() - ..() //Todo make metal/stone chairs display as thrones - spawn(3) //sorry. i don't think there's a better way to do this. - update_layer() - return +/obj/structure/bed/chair/Initialize() + . = ..() + update_layer() /obj/structure/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() @@ -47,13 +45,12 @@ var/cache_key = "[base_icon]-armrest-[padding_material ? padding_material.name : "no_material"]" if(isnull(stool_cache[cache_key])) var/image/I = image(icon, "[base_icon]_armrest") - I.layer = MOB_LAYER + 0.1 I.plane = MOB_PLANE + I.layer = ABOVE_MOB_LAYER if(padding_material) I.color = padding_material.icon_colour - stool_cache[cache_key] = I - overlays |= stool_cache[cache_key] - + stool_cache[cache_key] = I + add_overlay(stool_cache[cache_key]) /obj/structure/bed/chair/proc/update_layer() if(src.dir == NORTH) @@ -145,6 +142,7 @@ /obj/structure/bed/chair/office/Move() ..() + playsound(src, 'sound/effects/roll.ogg', 100, 1) if(has_buckled_mobs()) for(var/A in buckled_mobs) var/mob/living/occupant = A diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm index 205ba2a750..79b970e1cf 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs_vr.dm @@ -11,7 +11,7 @@ var/image/I = image(icon, "[base_icon]_over") I.layer = ABOVE_MOB_LAYER I.plane = MOB_PLANE - overlays |= I + add_overlay(I) /obj/structure/bed/chair/bar_stool name = "bar stool" diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index d7adf8079f..525b9883d5 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -37,14 +37,14 @@ var/global/list/stool_cache = list() //haha stool /obj/item/weapon/stool/update_icon() // Prep icon. icon_state = "" - overlays.Cut() + cut_overlays() // Base icon. var/cache_key = "stool-[material.name]" if(isnull(stool_cache[cache_key])) var/image/I = image(icon, base_icon) I.color = material.icon_colour stool_cache[cache_key] = I - overlays |= stool_cache[cache_key] + add_overlay(stool_cache[cache_key]) // Padding overlay. if(padding_material) var/padding_cache_key = "stool-padding-[padding_material.name]" @@ -52,7 +52,7 @@ var/global/list/stool_cache = list() //haha stool var/image/I = image(icon, "[base_icon]_padding") //VOREStation Edit I.color = padding_material.icon_colour stool_cache[padding_cache_key] = I - overlays |= stool_cache[padding_cache_key] + add_overlay(stool_cache[padding_cache_key]) // Strings. if(padding_material) name = "[padding_material.display_name] [initial(name)]" //this is not perfect but it will do for now. diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm index e177f2c4a1..8a3902fa1d 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm @@ -14,9 +14,9 @@ /obj/structure/bed/chair/wheelchair/set_dir() ..() - overlays = null + cut_overlays() var/image/O = image(icon = 'icons/obj/furniture.dmi', icon_state = "w_overlay", layer = FLY_LAYER, dir = src.dir) - overlays += O + add_overlay(O) if(has_buckled_mobs()) for(var/A in buckled_mobs) var/mob/living/L = A @@ -93,6 +93,8 @@ /obj/structure/bed/chair/wheelchair/Move() ..() + cut_overlays() + playsound(src, 'sound/effects/roll.ogg', 75, 1) if(has_buckled_mobs()) for(var/A in buckled_mobs) var/mob/living/occupant = A diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 464cf08f7d..467579a225 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -124,7 +124,7 @@ icon_state = "shower" density = 0 anchored = 1 - use_power = 0 + use_power = USE_POWER_OFF var/on = 0 var/obj/effect/mist/mymist = null var/ismist = 0 //needs a var so we can make it linger~ @@ -384,6 +384,7 @@ return to_chat(usr, "You start washing your hands.") + playsound(loc, 'sound/effects/sink_long.ogg', 75, 1) busy = 1 sleep(40) @@ -406,6 +407,7 @@ if (istype(RG) && RG.is_open_container()) RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) user.visible_message("[user] fills \the [RG] using \the [src].","You fill \the [RG] using \the [src].") + playsound(loc, 'sound/effects/sink.ogg', 75, 1) return 1 else if (istype(O, /obj/item/weapon/melee/baton)) diff --git a/code/game/response_team.dm b/code/game/response_team.dm index 480d89c61b..2b3ae97ae2 100644 --- a/code/game/response_team.dm +++ b/code/game/response_team.dm @@ -131,6 +131,7 @@ proc/trigger_armed_response_team(var/force = 0) can_call_ert = 0 // Only one call per round, gentleman. send_emergency_team = 1 + consider_ert_load() //VOREStation Add sleep(600 * 5) send_emergency_team = 0 // Can no longer join the ERT. diff --git a/code/game/response_team_vr.dm b/code/game/response_team_vr.dm new file mode 100644 index 0000000000..5b9c93ed6c --- /dev/null +++ b/code/game/response_team_vr.dm @@ -0,0 +1,11 @@ +GLOBAL_VAR(ert_loaded) + +/proc/consider_ert_load() + if(!GLOB.ert_loaded) + GLOB.ert_loaded = TRUE + var/datum/map_template/MT = SSmapping.map_templates["Special Area - ERT"] + if(!istype(MT)) + error("ERT Area is not a valid map template!") + else + MT.load_new_z(centered = TRUE) + log_and_message_admins("Loaded the ERT shuttle just now.") \ No newline at end of file diff --git a/code/game/sound.dm b/code/game/sound.dm index cd3b140bd9..98e24a1f34 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -137,6 +137,82 @@ if ("button") soundin = pick('sound/machines/button1.ogg','sound/machines/button2.ogg','sound/machines/button3.ogg','sound/machines/button4.ogg') if ("switch") soundin = pick('sound/machines/switch1.ogg','sound/machines/switch2.ogg','sound/machines/switch3.ogg','sound/machines/switch4.ogg') if ("casing_sound") soundin = pick('sound/weapons/casingfall1.ogg','sound/weapons/casingfall2.ogg','sound/weapons/casingfall3.ogg') + if ("pickaxe") soundin = pick('sound/weapons/mine/pickaxe1.ogg', 'sound/weapons/mine/pickaxe2.ogg','sound/weapons/mine/pickaxe3.ogg','sound/weapons/mine/pickaxe4.ogg') + if("shatter") + soundin = pick('sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg') + if("explosion") + soundin = pick( + 'sound/effects/Explosion1.ogg', + 'sound/effects/Explosion2.ogg', + 'sound/effects/Explosion3.ogg', + 'sound/effects/Explosion4.ogg', + 'sound/effects/Explosion5.ogg', + 'sound/effects/Explosion6.ogg') + if("sparks") + soundin = pick( + 'sound/effects/sparks1.ogg', + 'sound/effects/sparks2.ogg', + 'sound/effects/sparks3.ogg', + 'sound/effects/sparks5.ogg', + 'sound/effects/sparks6.ogg', + 'sound/effects/sparks7.ogg') + if("rustle") + soundin = pick('sound/effects/rustle1.ogg','sound/effects/rustle2.ogg','sound/effects/rustle3.ogg','sound/effects/rustle4.ogg','sound/effects/rustle5.ogg') + if("punch") + soundin = pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg') + if("clownstep") + soundin = pick('sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg') + if("swing_hit") + soundin = pick('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg') + if("hiss") + soundin = pick('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg') + if("pageturn") + soundin = pick('sound/effects/pageturn1.ogg', 'sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg') + if("fracture") + soundin = pick('sound/effects/bonebreak1.ogg','sound/effects/bonebreak2.ogg','sound/effects/bonebreak3.ogg','sound/effects/bonebreak4.ogg') + if("canopen") + soundin = pick('sound/effects/can_open1.ogg','sound/effects/can_open2.ogg','sound/effects/can_open3.ogg','sound/effects/can_open4.ogg') + if("mechstep") + soundin = pick('sound/mecha/mechstep1.ogg', 'sound/mecha/mechstep2.ogg') + if("thunder") + soundin = pick( + 'sound/effects/thunder/thunder1.ogg', + 'sound/effects/thunder/thunder2.ogg', + 'sound/effects/thunder/thunder3.ogg', + 'sound/effects/thunder/thunder4.ogg', + 'sound/effects/thunder/thunder5.ogg', + 'sound/effects/thunder/thunder6.ogg', + 'sound/effects/thunder/thunder7.ogg', + 'sound/effects/thunder/thunder8.ogg', + 'sound/effects/thunder/thunder9.ogg', + 'sound/effects/thunder/thunder10.ogg') + if("keyboard") + soundin = pick( + 'sound/effects/keyboard/keyboard1.ogg', + 'sound/effects/keyboard/keyboard2.ogg', + 'sound/effects/keyboard/keyboard3.ogg', + 'sound/effects/keyboard/keyboard4.ogg') + if("button") + soundin = pick('sound/machines/button1.ogg','sound/machines/button2.ogg','sound/machines/button3.ogg','sound/machines/button4.ogg') + if("switch") + soundin = pick('sound/machines/switch1.ogg','sound/machines/switch2.ogg','sound/machines/switch3.ogg','sound/machines/switch4.ogg') + if("casing_sound") + soundin = pick('sound/weapons/casingfall1.ogg','sound/weapons/casingfall2.ogg','sound/weapons/casingfall3.ogg') + if("ricochet") + soundin = pick( + 'sound/weapons/effects/ric1.ogg', + 'sound/weapons/effects/ric2.ogg', + 'sound/weapons/effects/ric3.ogg', + 'sound/weapons/effects/ric4.ogg', + 'sound/weapons/effects/ric5.ogg') + if("bullet_miss") + soundin = pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg') + if ("pickaxe") + soundin = pick( + 'sound/weapons/mine/pickaxe1.ogg', + 'sound/weapons/mine/pickaxe2.ogg', + 'sound/weapons/mine/pickaxe3.ogg', + 'sound/weapons/mine/pickaxe4.ogg') //VORESTATION EDIT - vore sounds for better performance if ("hunger_sounds") soundin = pick('sound/vore/growl1.ogg','sound/vore/growl2.ogg','sound/vore/growl3.ogg','sound/vore/growl4.ogg','sound/vore/growl5.ogg') diff --git a/code/game/trader_visit.dm b/code/game/trader_visit.dm index 1fa78fdf21..31889dfff7 100644 --- a/code/game/trader_visit.dm +++ b/code/game/trader_visit.dm @@ -64,6 +64,7 @@ proc/trigger_trader_visit() can_call_traders = 0 // Only one call per round. send_beruang = 1 + consider_trader_load() //VOREStation Add sleep(600 * 5) send_beruang = 0 // Can no longer join the traders. diff --git a/code/game/trader_visit_vr.dm b/code/game/trader_visit_vr.dm new file mode 100644 index 0000000000..81b9b3adcd --- /dev/null +++ b/code/game/trader_visit_vr.dm @@ -0,0 +1,11 @@ +GLOBAL_VAR(trader_loaded) + +/proc/consider_trader_load() + if(!GLOB.trader_loaded) + GLOB.trader_loaded = TRUE + var/datum/map_template/MT = SSmapping.map_templates["Special Area - Trader"] + if(!istype(MT)) + error("Trader is not a valid map template!") + else + MT.load_new_z(centered = TRUE) + log_and_message_admins("Loaded the trade shuttle just now.") \ No newline at end of file diff --git a/code/game/turfs/flooring/flooring.dm b/code/game/turfs/flooring/flooring.dm index 2f45eb7b51..60157c1ee8 100644 --- a/code/game/turfs/flooring/flooring.dm +++ b/code/game/turfs/flooring/flooring.dm @@ -173,7 +173,7 @@ var/list/flooring_types /decl/flooring/tiling/tech desc = "Scuffed from the passage of countless greyshirts." - icon = 'icons/turf/flooring/techfloor_vr.dmi' + icon = 'icons/turf/flooring/techfloor.dmi' icon_base = "techfloor_gray" build_type = /obj/item/stack/tile/floor/techgrey can_paint = null diff --git a/code/game/turfs/flooring/flooring_premade.dm b/code/game/turfs/flooring/flooring_premade.dm index 624ba0a766..5453c2da40 100644 --- a/code/game/turfs/flooring/flooring_premade.dm +++ b/code/game/turfs/flooring/flooring_premade.dm @@ -114,7 +114,7 @@ /turf/simulated/floor/tiled/techfloor name = "floor" - icon = 'icons/turf/flooring/techfloor_vr.dmi' + icon = 'icons/turf/flooring/techfloor.dmi' icon_state = "techfloor_gray" initial_flooring = /decl/flooring/tiling/tech diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 21488e5f26..9e48b3777c 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -55,8 +55,8 @@ B.clean_blood() ..() -/turf/simulated/New() - ..() +/turf/simulated/Initialize(mapload) + . = ..() if(istype(loc, /area/chapel)) holy = 1 levelupdate() diff --git a/code/game/turfs/simulated/dungeon/wall.dm b/code/game/turfs/simulated/dungeon/wall.dm index 8a70473842..2bfc23145e 100644 --- a/code/game/turfs/simulated/dungeon/wall.dm +++ b/code/game/turfs/simulated/dungeon/wall.dm @@ -3,8 +3,8 @@ /turf/simulated/wall/dungeon block_tele = TRUE // Anti-cheese. -/turf/simulated/wall/dungeon/New(var/newloc) - ..(newloc,"dungeonium") +/turf/simulated/wall/dungeon/Initialize(mapload) + . = ..(mapload, "dungeonium") /turf/simulated/wall/dungeon/attackby() return @@ -16,27 +16,55 @@ return /turf/simulated/wall/solidrock //for more stylish anti-cheese. - name = "solid rock" - desc = "This rock seems dense, impossible to drill." description_info = "Probably not going to be able to drill or bomb your way through this, best to try and find a way around." - icon_state = "bedrock" - var/base_state = "bedrock" + var/rock_side = "rock_side" block_tele = TRUE - -/turf/simulated/wall/solidrock/update_icon() - for(var/direction in cardinal) - var/turf/T = get_step(src,direction) - if(istype(T) && !T.density) - var/place_dir = turn(direction, 180) - if(!mining_overlay_cache["rock_side_[place_dir]"]) - mining_overlay_cache["rock_side_[place_dir]"] = image('icons/turf/walls.dmi', "rock_side", dir = place_dir) - T.add_overlay(mining_overlay_cache["rock_side_[place_dir]"]) +/turf/simulated/wall/solidrock/Initialize(mapload) + . = ..(mapload, "bedrock") /turf/simulated/wall/solidrock/Initialize() - icon_state = base_state + . = ..() update_icon(1) +/turf/simulated/wall/solidrock/update_material() + name = "solid rock" + desc = "This rock seems dense, impossible to drill." + +/turf/simulated/wall/solidrock/proc/get_cached_border(var/cache_id, var/direction, var/icon_file, var/icon_state, var/offset = 32) + if(!mining_overlay_cache["[cache_id]_[direction]"]) + var/image/new_cached_image = image(icon_state, dir = direction, layer = ABOVE_TURF_LAYER) + switch(direction) + if(NORTH) + new_cached_image.pixel_y = offset + if(SOUTH) + new_cached_image.pixel_y = -offset + if(EAST) + new_cached_image.pixel_x = offset + if(WEST) + new_cached_image.pixel_x = -offset + mining_overlay_cache["[cache_id]_[direction]"] = new_cached_image + return new_cached_image + + return mining_overlay_cache["[cache_id]_[direction]"] + +/turf/simulated/wall/solidrock/update_icon(var/update_neighbors) + if(density) + var/image/I + for(var/i = 1 to 4) + I = image('icons/turf/wall_masks.dmi', "rock[wall_connections[i]]", dir = 1<<(i-1)) + add_overlay(I) + for(var/direction in cardinal) + var/turf/T = get_step(src,direction) + if(istype(T) && !T.density) + add_overlay(get_cached_border(rock_side,direction,icon,rock_side)) + + else if(update_neighbors) + for(var/direction in alldirs) + if(istype(get_step(src, direction), /turf/simulated/wall/solidrock)) + var/turf/simulated/wall/solidrock/M = get_step(src, direction) + M.update_icon() + /turf/simulated/wall/solidrock/attackby() return @@ -44,4 +72,31 @@ return /turf/simulated/wall/solidrock/take_damage() //These things are suppose to be unbreakable - return \ No newline at end of file + return + + +//Mossy rocks for POI. Unbreakable, no teleport. + +/turf/simulated/wall/solidrock/mossyrockpoi // Version for POI labyrinths. No teleporting, no breaking. + desc = "An old, yet impressively durably rock wall." + var/mossyrock_side = "mossyrock_side" + +/turf/simulated/wall/solidrock/Initialize(mapload) + . = ..(mapload, "mossyrock") + +/turf/simulated/wall/solidrock/mossyrockpoi/update_icon(var/update_neighbors) + if(density) + var/image/I + for(var/i = 1 to 4) + I = image('icons/turf/wall_masks.dmi', "mossyrock[wall_connections[i]]", dir = 1<<(i-1)) + add_overlay(I) + for(var/direction in cardinal) + var/turf/T = get_step(src,direction) + if(istype(T) && !T.density) + add_overlay(get_cached_border(mossyrock_side,direction,icon,mossyrock_side)) + + else if(update_neighbors) + for(var/direction in alldirs) + if(istype(get_step(src, direction), /turf/simulated/wall/solidrock/mossyrockpoi)) + var/turf/simulated/wall/solidrock/mossyrockpoi/M = get_step(src, direction) + M.update_icon() \ No newline at end of file diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 31bfd62684..af6d681122 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -20,7 +20,7 @@ 'sound/effects/footstep/plating4.ogg', 'sound/effects/footstep/plating5.ogg')) - var/list/old_decals = null // VOREStation Edit - Remember what decals we had between being pried up and replaced. + var/list/old_decals = null // Flooring data. var/flooring_override @@ -35,12 +35,12 @@ /turf/simulated/floor/is_plating() return !flooring -/turf/simulated/floor/New(var/newloc, var/floortype) - ..(newloc) +/turf/simulated/floor/Initialize(mapload, floortype) + . = ..() if(!floortype && initial_flooring) floortype = initial_flooring if(floortype) - set_flooring(get_flooring_data(floortype)) + set_flooring(get_flooring_data(floortype), TRUE) else footstep_sounds = base_footstep_sounds if(can_dirty && can_start_dirty) @@ -48,29 +48,24 @@ dirt += rand(50,100) update_dirt() //5% chance to start with dirt on a floor tile- give the janitor something to do -/turf/simulated/floor/proc/set_flooring(var/decl/flooring/newflooring) +/turf/simulated/floor/proc/swap_decals() + var/current_decals = decals + decals = old_decals + old_decals = current_decals + +/turf/simulated/floor/proc/set_flooring(var/decl/flooring/newflooring, var/initializing) make_plating(defer_icon_update = 1) + if(!flooring && !initializing) // Plating -> Flooring + swap_decals() flooring = newflooring footstep_sounds = newflooring.footstep_sounds - // VOREStation Edit - We are plating switching to flooring, swap out old_decals for decals - var/tmp/list/overfloor_decals = old_decals - old_decals = decals - decals = overfloor_decals - // VOREStation Edit End update_icon(1) levelupdate() //This proc will set floor_type to null and the update_icon() proc will then change the icon_state of the turf //This proc auto corrects the grass tiles' siding. /turf/simulated/floor/proc/make_plating(var/place_product, var/defer_icon_update) - cut_overlays() - // VOREStation Edit - We are flooring switching to plating, swap out old_decals for decals. - if(flooring) - var/tmp/list/underfloor_decals = old_decals - old_decals = decals - decals = underfloor_decals - // VOREStation Edit End name = base_name desc = base_desc @@ -78,7 +73,8 @@ icon_state = base_icon_state footstep_sounds = base_footstep_sounds - if(flooring) + if(flooring) // Flooring -> Plating + swap_decals() if(flooring.build_type && place_product) new flooring.build_type(src) flooring = null diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index d670fc3a40..151efd819c 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -55,7 +55,7 @@ return new_dest -/obj/landed_holder/proc/leave_turf() +/obj/landed_holder/proc/leave_turf(var/turf/base_turf = null) var/turf/new_source //Change our source to whatever it was before if(turf_type) @@ -67,7 +67,7 @@ new_source.underlays = underlays new_source.decals = decals else - new_source = my_turf.ChangeTurf(get_base_turf_by_area(my_turf),,1) + new_source = my_turf.ChangeTurf(base_turf ? base_turf : get_base_turf_by_area(my_turf),,1) return new_source @@ -83,11 +83,31 @@ var/turf/under_turf //Underlay override turf path. var/join_flags = 0 //Bitstring to represent adjacency of joining walls var/join_group = "shuttle" //A tag for what other walls to join with. Null if you don't want them to. + var/static/list/antilight_cache + +/turf/simulated/shuttle/Initialize(mapload) + ..() + if(!antilight_cache) + antilight_cache = list() + for(var/diag in cornerdirs) + var/image/I = image(LIGHTING_ICON, null, icon_state = "diagonals", layer = 10, dir = diag) + I.plane = PLANE_LIGHTING + antilight_cache["[diag]"] = I /turf/simulated/shuttle/Destroy() landed_holder = null ..() +// For joined corners touching static lighting turfs, add an overlay to cancel out that part of our lighting overlay. +/turf/simulated/shuttle/proc/update_breaklights() + if(join_flags in cornerdirs) //We're joined at an angle + //Dynamic lighting dissolver + var/turf/T = get_step(src, turn(join_flags,180)) + if(!T || !T.dynamic_lighting || !get_area(T).dynamic_lighting) + add_overlay(antilight_cache["[join_flags]"], TRUE) + return + cut_overlay(antilight_cache["[join_flags]"], TRUE) + /turf/simulated/shuttle/proc/underlay_update() if(!takes_underlays) //Basically, if it's not forced, and we don't care, don't do it. @@ -103,11 +123,19 @@ //Well if this isn't our first rodeo, we know EXACTLY what we landed on, and it looks like this. if(landed_holder && !interior_corner) - var/mutable_appearance/landed_on = new(landed_holder) - landed_on.layer = FLOAT_LAYER //Not turf - landed_on.plane = FLOAT_PLANE //Not turf - us.underlays = list(landed_on) - appearance = us + //Space gets special treatment + if(ispath(landed_holder.turf_type, /turf/space)) + var/image/spaceimage = image(landed_holder.icon, landed_holder.icon_state) + spaceimage.plane = SPACE_PLANE + underlays = list(spaceimage) + else + var/mutable_appearance/landed_on = new(landed_holder) + landed_on.layer = FLOAT_LAYER //Not turf + landed_on.plane = FLOAT_PLANE //Not turf + us.underlays = list(landed_on) + appearance = us + + spawn update_breaklights() //So that we update the breaklight overlays only after turfs are connected return if(!under) @@ -143,12 +171,15 @@ under_ma = new(under) if(under_ma) - if(ispath(under,/turf/space)) //Scramble space turfs - under_ma.icon_state = "[rand(1,25)]" + if(ispath(under,/turf/space) || istype(under,/turf/space)) //Space gets weird treatment + under_ma.icon_state = "white" + under_ma.plane = SPACE_PLANE us.underlays = list(under_ma) appearance = us + spawn update_breaklights() //So that we update the breaklight overlays only after turfs are connected + return under /turf/simulated/shuttle/floor diff --git a/code/game/turfs/simulated/floor_types_vr.dm b/code/game/turfs/simulated/floor_types_vr.dm index e89c3d0b29..c4315b29b2 100644 --- a/code/game/turfs/simulated/floor_types_vr.dm +++ b/code/game/turfs/simulated/floor_types_vr.dm @@ -1,3 +1,17 @@ +/turf/simulated/shuttle/floor/alienplating/blue + icon = 'icons/turf/shuttle_alien_blue.dmi' + icon_state = "alienplating" + +/turf/simulated/shuttle/floor/alienplating/blue/half + icon_state = "alienplatinghalf" + +/turf/simulated/shuttle/floor/alien/blue + icon = 'icons/turf/shuttle_alien_blue.dmi' + icon_state = "alienpod1" + light_range = 4 + light_power = 0.8 + light_color = "#66ffff" // Bright cyan. + /turf/simulated/floor/flesh name = "flesh" desc = "This slick flesh ripples and squishes under your touch" @@ -14,4 +28,17 @@ return /turf/simulated/floor/flesh/ex_act(severity) - return \ No newline at end of file + return + +/turf/simulated/floor/flock + icon = 'icons/goonstation/featherzone.dmi' + icon_state = "floor" + +/turf/simulated/floor/flock/Crossed(var/atom/movable/AM) + . = ..() + if(isliving(AM)) + icon_state = "floor-on" + set_light(3,3,"#26c5a9") + spawn(5 SECONDS) + icon_state = "floor" + set_light(0,0,"#ffffff") \ No newline at end of file diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm index acf0c17317..01ad912b70 100644 --- a/code/game/turfs/simulated/lava.dm +++ b/code/game/turfs/simulated/lava.dm @@ -39,15 +39,15 @@ /turf/simulated/floor/lava/Entered(atom/movable/AM) if(burn_stuff(AM)) - START_PROCESSING(SSobj, src) + START_PROCESSING(SSturfs, src) /turf/simulated/floor/lava/hitby(atom/movable/AM) if(burn_stuff(AM)) - START_PROCESSING(SSobj, src) + START_PROCESSING(SSturfs, src) /turf/simulated/floor/lava/process() if(!burn_stuff()) - STOP_PROCESSING(SSobj, src) + return PROCESS_KILL /turf/simulated/floor/lava/proc/is_safe() //if anything matching this typecache is found in the lava, we don't burn things diff --git a/code/game/turfs/simulated/outdoors/outdoors.dm b/code/game/turfs/simulated/outdoors/outdoors.dm index a378cc48da..7bef49cd49 100644 --- a/code/game/turfs/simulated/outdoors/outdoors.dm +++ b/code/game/turfs/simulated/outdoors/outdoors.dm @@ -24,10 +24,10 @@ var/list/turf_edge_cache = list() update_icon() . = ..() -/turf/simulated/floor/New() +/turf/simulated/floor/Initialize(mapload) if(outdoors) SSplanets.addTurf(src) - ..() + . = ..() /turf/simulated/floor/Destroy() if(outdoors) diff --git a/code/game/turfs/simulated/wall_attacks.dm b/code/game/turfs/simulated/wall_attacks.dm index f9ae1e7bc3..1ef11c40de 100644 --- a/code/game/turfs/simulated/wall_attacks.dm +++ b/code/game/turfs/simulated/wall_attacks.dm @@ -232,7 +232,7 @@ if(WT.remove_fuel(0,user)) to_chat(user, "You start repairing the damage to [src].") - playsound(src.loc, WT.usesound, 100, 1) + playsound(src, WT.usesound, 100, 1) if(do_after(user, max(5, damage / 5) * WT.toolspeed) && WT && WT.isOn()) to_chat(user, "You finish repairing the damage to [src].") take_damage(-damage) diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm index 1b530d32b0..4da8675b9b 100644 --- a/code/game/turfs/simulated/wall_types.dm +++ b/code/game/turfs/simulated/wall_types.dm @@ -1,91 +1,92 @@ /turf/simulated/wall/r_wall icon_state = "rgeneric" -/turf/simulated/wall/r_wall/New(var/newloc) - ..(newloc, "plasteel","plasteel") //3strong +/turf/simulated/wall/r_wall/Initialize(mapload) + . = ..(mapload, "plasteel","plasteel") //3strong -/turf/simulated/wall/shull/New(var/newloc) //Spaaaace ship. - ..(newloc, MAT_STEELHULL, null, MAT_STEELHULL) -/turf/simulated/wall/rshull/New(var/newloc) - ..(newloc, MAT_STEELHULL, MAT_STEELHULL, MAT_STEELHULL) -/turf/simulated/wall/pshull/New(var/newloc) //Spaaaace-er ship. - ..(newloc, MAT_PLASTEELHULL, null, MAT_PLASTEELHULL) -/turf/simulated/wall/rpshull/New(var/newloc) - ..(newloc, MAT_PLASTEELHULL, MAT_PLASTEELHULL, MAT_PLASTEELHULL) -/turf/simulated/wall/dshull/New(var/newloc) //Spaaaace-est ship. - ..(newloc, MAT_DURASTEELHULL, null, MAT_DURASTEELHULL) -/turf/simulated/wall/rdshull/New(var/newloc) - ..(newloc, MAT_DURASTEELHULL, MAT_DURASTEELHULL, MAT_DURASTEELHULL) -/turf/simulated/wall/thull/New(var/newloc) - ..(newloc, MAT_TITANIUMHULL, null, MAT_TITANIUMHULL) -/turf/simulated/wall/rthull/New(var/newloc) - ..(newloc, MAT_TITANIUMHULL, MAT_TITANIUMHULL, MAT_TITANIUMHULL) +/turf/simulated/wall/shull/Initialize(mapload) //Spaaaace ship. + . = ..(mapload, MAT_STEELHULL, null, MAT_STEELHULL) +/turf/simulated/wall/rshull/Initialize(mapload) + . = ..(mapload, MAT_STEELHULL, MAT_STEELHULL, MAT_STEELHULL) +/turf/simulated/wall/pshull/Initialize(mapload) //Spaaaace-er ship. + . = ..(mapload, MAT_PLASTEELHULL, null, MAT_PLASTEELHULL) +/turf/simulated/wall/rpshull/Initialize(mapload) + . = ..(mapload, MAT_PLASTEELHULL, MAT_PLASTEELHULL, MAT_PLASTEELHULL) +/turf/simulated/wall/dshull/Initialize(mapload) //Spaaaace-est ship. + . = ..(mapload, MAT_DURASTEELHULL, null, MAT_DURASTEELHULL) +/turf/simulated/wall/rdshull/Initialize(mapload) + . = ..(mapload, MAT_DURASTEELHULL, MAT_DURASTEELHULL, MAT_DURASTEELHULL) +/turf/simulated/wall/thull/Initialize(mapload) + . = ..(mapload, MAT_TITANIUMHULL, null, MAT_TITANIUMHULL) +/turf/simulated/wall/rthull/Initialize(mapload) + . = ..(mapload, MAT_TITANIUMHULL, MAT_TITANIUMHULL, MAT_TITANIUMHULL) /turf/simulated/wall/cult icon_state = "cult" -/turf/simulated/wall/cult/New(var/newloc) - ..(newloc,"cult","cult2","cult") +/turf/simulated/wall/cult/Initialize(mapload) + . = ..(mapload, "cult","cult2","cult") /turf/unsimulated/wall/cult name = "cult wall" desc = "Hideous images dance beneath the surface." icon = 'icons/turf/wall_masks.dmi' icon_state = "cult" -/turf/simulated/wall/r_wall -/turf/simulated/wall/iron/New(var/newloc) - ..(newloc,"iron") -/turf/simulated/wall/uranium/New(var/newloc) - ..(newloc,"uranium") -/turf/simulated/wall/diamond/New(var/newloc) - ..(newloc,"diamond") -/turf/simulated/wall/gold/New(var/newloc) - ..(newloc,"gold") -/turf/simulated/wall/silver/New(var/newloc) - ..(newloc,"silver") -/turf/simulated/wall/lead/New(var/newloc) - ..(newloc,"lead") -/turf/simulated/wall/r_lead/New(var/newloc) - ..(newloc,"lead", "lead") -/turf/simulated/wall/phoron/New(var/newloc) - ..(newloc,"phoron") -/turf/simulated/wall/sandstone/New(var/newloc) - ..(newloc,"sandstone") -/turf/simulated/wall/ironphoron/New(var/newloc) - ..(newloc,"iron","phoron") -/turf/simulated/wall/golddiamond/New(var/newloc) - ..(newloc,"gold","diamond") -/turf/simulated/wall/silvergold/New(var/newloc) - ..(newloc,"silver","gold") -/turf/simulated/wall/sandstonediamond/New(var/newloc) - ..(newloc,"sandstone","diamond") -/turf/simulated/wall/snowbrick/New(var/newloc) - ..(newloc,"packed snow") +/turf/simulated/wall/iron/Initialize(mapload) + . = ..(mapload, "iron") +/turf/simulated/wall/uranium/Initialize(mapload) + . = ..(mapload, "uranium") +/turf/simulated/wall/diamond/Initialize(mapload) + . = ..(mapload, "diamond") +/turf/simulated/wall/gold/Initialize(mapload) + . = ..(mapload, "gold") +/turf/simulated/wall/silver/Initialize(mapload) + . = ..(mapload, "silver") +/turf/simulated/wall/lead/Initialize(mapload) + . = ..(mapload, "lead") +/turf/simulated/wall/r_lead/Initialize(mapload) + . = ..(mapload, "lead", "lead") +/turf/simulated/wall/phoron/Initialize(mapload) + . = ..(mapload, "phoron") +/turf/simulated/wall/sandstone/Initialize(mapload) + . = ..(mapload, "sandstone") +/turf/simulated/wall/ironphoron/Initialize(mapload) + . = ..(mapload, "iron","phoron") +/turf/simulated/wall/golddiamond/Initialize(mapload) + . = ..(mapload, "gold","diamond") +/turf/simulated/wall/silvergold/Initialize(mapload) + . = ..(mapload, "silver","gold") +/turf/simulated/wall/sandstonediamond/Initialize(mapload) + . = ..(mapload, "sandstone","diamond") +/turf/simulated/wall/snowbrick/Initialize(mapload) + . = ..(mapload, "packed snow") -/turf/simulated/wall/resin/New(var/newloc) - ..(newloc,"resin",null,"resin") +/turf/simulated/wall/resin/Initialize(mapload) + . = ..(mapload, "resin",null,"resin") // Kind of wondering if this is going to bite me in the butt. -/turf/simulated/wall/skipjack/New(var/newloc) - ..(newloc,"alienalloy") +/turf/simulated/wall/skipjack/Initialize(mapload) + . = ..(mapload, "alienalloy") /turf/simulated/wall/skipjack/attackby() return -/turf/simulated/wall/titanium/New(var/newloc) - ..(newloc,"titanium") +/turf/simulated/wall/titanium/Initialize(mapload) + . = ..(mapload, "titanium") +/turf/simulated/wall/durasteel/Initialize(mapload) + . = ..(mapload, "durasteel", "durasteel") /turf/simulated/wall/durasteel/blueserg/New(var/newloc) ..(newloc,"durasteel", "durasteel") /turf/simulated/wall/durasteel/blueserg/attackby(obj/item/I, mob/user) return -/turf/simulated/wall/wood/New(var/newloc) - ..(newloc, MAT_WOOD) +/turf/simulated/wall/wood/Initialize(mapload) + . = ..(mapload, MAT_WOOD) -/turf/simulated/wall/sifwood/New(var/newloc) - ..(newloc, MAT_SIFWOOD) +/turf/simulated/wall/sifwood/Initialize(mapload) + . = ..(mapload, MAT_SIFWOOD) -/turf/simulated/wall/log/New(var/newloc) - ..(newloc, MAT_LOG) +/turf/simulated/wall/log/Initialize(mapload) + . = ..(mapload, MAT_LOG) -/turf/simulated/wall/log_sif/New(var/newloc) - ..(newloc, MAT_SIFLOG) +/turf/simulated/wall/log_sif/Initialize(mapload) + . = ..(mapload, MAT_SIFLOG) /turf/unsimulated/wall/ice name = "Ice wall" @@ -167,16 +168,14 @@ icon_state = "alien-nj" join_group = null -/turf/simulated/shuttle/wall/New() - ..() - //To allow mappers to rename shuttle walls to like "redfloor interior" or whatever for ease of use. - name = true_name - /turf/simulated/shuttle/wall/Initialize() . = ..() + //To allow mappers to rename shuttle walls to like "redfloor interior" or whatever for ease of use. + name = true_name + if(join_group) - src.auto_join() + auto_join() else icon_state = base_state diff --git a/code/game/turfs/simulated/wall_types_vr.dm b/code/game/turfs/simulated/wall_types_vr.dm index 0fc6028c88..6ebf9df004 100644 --- a/code/game/turfs/simulated/wall_types_vr.dm +++ b/code/game/turfs/simulated/wall_types_vr.dm @@ -35,8 +35,8 @@ /turf/simulated/flesh/attackby() return -/turf/simulated/flesh/New() - ..() +/turf/simulated/flesh/Initialize(mapload) + . = ..() update_icon(1) var/list/flesh_overlay_cache = list() @@ -59,4 +59,15 @@ var/list/flesh_overlay_cache = list() for(var/direction in alldirs) if(istype(get_step(src, direction), /turf/simulated/flesh)) var/turf/simulated/flesh/F = get_step(src, direction) - F.update_icon() \ No newline at end of file + F.update_icon() + +/turf/simulated/shuttle/wall/flock + icon = 'icons/goonstation/featherzone.dmi' + icon_state = "flockwall0" + base_state = "flockwall" + hard_corner = 1 //They're all HC + true_name = "wall" + +/turf/simulated/shuttle/wall/flock/Initialize() + . = ..() + set_light(3,3,"#26c5a9") diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index bf5f711b20..d72beb290c 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -27,8 +27,8 @@ for(var/obj/O in src) O.hide(1) -/turf/simulated/wall/New(var/newloc, var/materialtype, var/rmaterialtype, var/girdertype) - ..(newloc) +/turf/simulated/wall/Initialize(mapload, materialtype, rmaterialtype, girdertype) + . = ..() icon_state = "blank" if(!materialtype) materialtype = DEFAULT_WALL_MATERIAL diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm index f1b35b6b35..b450f344d7 100644 --- a/code/game/turfs/simulated/water.dm +++ b/code/game/turfs/simulated/water.dm @@ -16,6 +16,8 @@ var/depth = 1 // Higher numbers indicates deeper water. + var/reagent_type = "water" + /turf/simulated/floor/water/Initialize() . = ..() update_icon() @@ -33,6 +35,21 @@ /turf/simulated/floor/water/get_edge_icon_state() return "water_shallow" +/turf/simulated/floor/water/attackby(obj/item/O as obj, mob/user as mob) + var/obj/item/weapon/reagent_containers/RG = O + if (istype(RG) && RG.is_open_container()) + RG.reagents.add_reagent(reagent_type, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) + user.visible_message("[user] fills \the [RG] using \the [src].","You fill \the [RG] using \the [src].") + return 1 + + else if(istype(O, /obj/item/weapon/mop)) + O.reagents.add_reagent(reagent_type, 5) + to_chat(user, "You wet \the [O] in \the [src].") + playsound(loc, 'sound/effects/slosh.ogg', 25, 1) + return 1 + + else return ..() + /turf/simulated/floor/water/return_air_for_internal_lifeform(var/mob/living/L) if(L && L.lying) if(L.can_breathe_water()) // For squid. diff --git a/code/game/turfs/space/cracked_asteroid.dm b/code/game/turfs/space/cracked_asteroid.dm index 75cf25fd3f..ca77a8cd2c 100644 --- a/code/game/turfs/space/cracked_asteroid.dm +++ b/code/game/turfs/space/cracked_asteroid.dm @@ -7,6 +7,7 @@ icon_state = "asteroid_cracked" dynamic_lighting = TRUE keep_sprite = TRUE + plane = TURF_PLANE //It's not really space /turf/space/cracked_asteroid/is_space() // So people don't start floating when standing on it. return FALSE diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index b72143e4c0..29bad72682 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -1,20 +1,68 @@ /turf/space icon = 'icons/turf/space.dmi' name = "\proper space" - icon_state = "0" + icon_state = "default" dynamic_lighting = 0 + plane = SPACE_PLANE temperature = T20C thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT can_build_into_floor = TRUE var/keep_sprite = FALSE -// heat_capacity = 700000 No. + var/edge = 0 /turf/space/Initialize() . = ..() + if(!keep_sprite) - icon_state = "[((x + y) ^ ~(x * y) + z) % 25]" - update_starlight() + icon_state = "white" + + if(config.starlight) + update_starlight() + + build_overedge() //Spread out over the edge of the map if we're an edge + toggle_transit() //Add static dust (not passing a dir) + +/turf/space/proc/toggle_transit(var/direction) + cut_overlays() + + if(!direction) + add_overlay(SSskybox.dust_cache["[((x + y) ^ ~(x * y) + z) % 25]"]) + return + + if(direction & (NORTH|SOUTH)) + var/x_shift = SSskybox.phase_shift_by_x[src.x % (SSskybox.phase_shift_by_x.len - 1) + 1] + var/transit_state = ((direction & SOUTH ? world.maxy - src.y : src.y) + x_shift)%15 + add_overlay(SSskybox.speedspace_cache["NS_[transit_state]"]) + else if(direction & (EAST|WEST)) + var/y_shift = SSskybox.phase_shift_by_y[src.y % (SSskybox.phase_shift_by_y.len - 1) + 1] + var/transit_state = ((direction & WEST ? world.maxx - src.x : src.x) + y_shift)%15 + add_overlay(SSskybox.speedspace_cache["EW_[transit_state]"]) + + for(var/atom/movable/AM in src) + if (!AM.simulated) + continue + + if(!AM.anchored) + AM.throw_at(get_step(src,reverse_direction(direction)), 5, 1) + else if (istype(AM, /obj/effect/decal)) + qdel(AM) //No more space blood coming with the shuttle + +/turf/space/proc/build_overedge(var/forced_dirs) + if(y == world.maxy || forced_dirs & NORTH) + edge |= NORTH + else if(y == 1 || forced_dirs & SOUTH) + edge |= SOUTH + + if(x == 1 || forced_dirs & WEST) + edge |= WEST + else if(x == world.maxx || forced_dirs & EAST) + edge |= EAST + + if(!edge) + return + + add_overlay(SSskybox.mapedge_cache["[edge]"], TRUE) /turf/space/is_space() return 1 @@ -24,9 +72,10 @@ for(var/obj/O in src) O.hide(0) +/turf/space/is_solid_structure() + return locate(/obj/structure/lattice, src) //counts as solid structure if it has a lattice + /turf/space/proc/update_starlight() - if(!config.starlight) - return if(locate(/turf/simulated) in orange(src,1)) set_light(config.starlight) else @@ -86,24 +135,16 @@ // If that's changed, then you'll want to swipe the rest of the roofing code from code/game/turfs/simulated/floor_attackby.dm return - -// Ported from unstable r355 - -/turf/space/Entered(atom/movable/A as mob|obj) - if(movement_disabled) - to_chat(usr, "Movement is admin-disabled.") //This is to identify lag problems - return +/turf/space/Entered(var/atom/movable/A) ..() - if ((!(A) || src != A.loc)) return + + if (!A || src != A.loc) + return inertial_drift(A) - if(ticker && ticker.mode) - - // Okay, so let's make it so that people can travel z levels but not nuke disks! - // if(ticker.mode.name == "mercenary") return - if (A.x <= TRANSITIONEDGE || A.x >= (world.maxx - TRANSITIONEDGE + 1) || A.y <= TRANSITIONEDGE || A.y >= (world.maxy - TRANSITIONEDGE + 1)) - A.touch_map_edge() + if(edge && ticker?.mode) + A.touch_map_edge() /turf/space/proc/Sandbox_Spacemove(atom/movable/A as mob|obj) var/cur_x diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm index 0bfcb4e0f6..02c589e966 100644 --- a/code/game/turfs/space/transit.dm +++ b/code/game/turfs/space/transit.dm @@ -1,5 +1,4 @@ /turf/space/transit - keep_sprite = TRUE can_build_into_floor = FALSE var/pushdirection // push things that get caught in the transit tile this direction @@ -7,87 +6,26 @@ /turf/space/transit/attackby(obj/O as obj, mob/user as mob) return -//generates a list used to randomize transit animations so they aren't in lockstep -/turf/space/transit/proc/get_cross_shift_list(var/size) - var/list/result = list() - - result += rand(0, 14) - for(var/i in 2 to size) - var/shifts = list(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) - shifts -= result[i - 1] //consecutive shifts should not be equal - if(i == size) - shifts -= result[1] //because shift list is a ring buffer - result += pick(shifts) - - return result +/turf/space/transit/Initialize() + . = ..() + toggle_transit(reverse_dir[pushdirection]) //------------------------ /turf/space/transit/north // moving to the north icon_state = "arrow-north" pushdirection = SOUTH // south because the space tile is scrolling south - var/static/list/phase_shift_by_x - -/turf/space/transit/north/New() - ..() - if(!phase_shift_by_x) - phase_shift_by_x = get_cross_shift_list(15) - - var/x_shift = phase_shift_by_x[src.x % (phase_shift_by_x.len - 1) + 1] - var/transit_state = (world.maxy - src.y + x_shift)%15 + 1 - - icon_state = "speedspace_ns_[transit_state]" -//------------------------ /turf/space/transit/south // moving to the south icon_state = "arrow-south" pushdirection = SOUTH // south because the space tile is scrolling south - var/static/list/phase_shift_by_x - -/turf/space/transit/south/New() - ..() - if(!phase_shift_by_x) - phase_shift_by_x = get_cross_shift_list(15) - - var/x_shift = phase_shift_by_x[src.x % (phase_shift_by_x.len - 1) + 1] - var/transit_state = (world.maxy - src.y + x_shift)%15 + 1 - - var/icon/I = new(icon, "speedspace_ns_[transit_state]") - I.Flip(SOUTH) - icon = I -//------------------------ /turf/space/transit/east // moving to the east icon_state = "arrow-east" pushdirection = WEST - var/static/list/phase_shift_by_y - -/turf/space/transit/east/New() - ..() - if(!phase_shift_by_y) - phase_shift_by_y = get_cross_shift_list(15) - - var/y_shift = phase_shift_by_y[src.y % (phase_shift_by_y.len - 1) + 1] - var/transit_state = (world.maxx - src.x + y_shift)%15 + 1 - - icon_state = "speedspace_ew_[transit_state]" -//------------------------ /turf/space/transit/west // moving to the west icon_state = "arrow-west" pushdirection = WEST - var/static/list/phase_shift_by_y - -/turf/space/transit/west/New() - ..() - if(!phase_shift_by_y) - phase_shift_by_y = get_cross_shift_list(15) - - var/y_shift = phase_shift_by_y[src.y % (phase_shift_by_y.len - 1) + 1] - var/transit_state = (world.maxx - src.x + y_shift)%15 + 1 - - var/icon/I = new(icon, "speedspace_ew_[transit_state]") - I.Flip(WEST) - icon = I //------------------------ \ No newline at end of file diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 207b84ef0d..48a6e0650a 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -34,26 +34,22 @@ var/can_build_into_floor = FALSE // Used for things like RCDs (and maybe lattices/floor tiles in the future), to see if a floor should replace it. var/list/dangerous_objects // List of 'dangerous' objs that the turf holds that can cause something bad to happen when stepped on, used for AI mobs. -/turf/New() - ..() - for(var/atom/movable/AM as mob|obj in src) - spawn( 0 ) - src.Entered(AM) - return - turfs |= src - - if(dynamic_lighting) - luminosity = 0 - else - luminosity = 1 +/turf/Initialize(mapload) + . = ..() + for(var/atom/movable/AM in src) + Entered(AM) + //Lighting related + luminosity = !(dynamic_lighting) + has_opaque_atom |= (opacity) + + //Pathfinding related if(movement_cost && pathweight == 1) // This updates pathweight automatically. pathweight = movement_cost /turf/Destroy() - turfs -= src + . = QDEL_HINT_IWILLGC ..() - return QDEL_HINT_IWILLGC /turf/ex_act(severity) return 0 @@ -64,6 +60,10 @@ /turf/proc/is_intact() return 0 +// Used by shuttle code to check if this turf is empty enough to not crush want it lands on. +/turf/proc/is_solid_structure() + return 1 + /turf/attack_hand(mob/user) if(!(user.canmove) || user.restrained() || !(user.pulling)) return 0 @@ -268,20 +268,23 @@ var/const/enterloopsanity = 100 for(var/obj/O in src) O.hide(O.hides_under_flooring() && !is_plating()) -/turf/proc/AdjacentTurfs() - var/L[] = new() - for(var/turf/simulated/t in oview(src,1)) - if(!t.density) - if(!LinkBlocked(src, t) && !TurfBlockedNonWindow(t)) - L.Add(t) - return L +/turf/proc/AdjacentTurfs(var/check_blockage = TRUE) + . = list() + for(var/t in (trange(1,src) - src)) + var/turf/T = t + if(check_blockage) + if(!T.density) + if(!LinkBlocked(src, T) && !TurfBlockedNonWindow(T)) + . += t + else + . += t -/turf/proc/CardinalTurfs() - var/L[] = new() - for(var/turf/simulated/T in AdjacentTurfs()) +/turf/proc/CardinalTurfs(var/check_blockage = TRUE) + . = list() + for(var/ad in AdjacentTurfs(check_blockage)) + var/turf/T = ad if(T.x == src.x || T.y == src.y) - L.Add(T) - return L + . += T /turf/proc/Distance(turf/t) if(get_dist(src,t) == 1) diff --git a/code/game/turfs/unsimulated.dm b/code/game/turfs/unsimulated.dm index 894fac57b2..584137ff45 100644 --- a/code/game/turfs/unsimulated.dm +++ b/code/game/turfs/unsimulated.dm @@ -10,9 +10,10 @@ icon = 'icons/turf/space.dmi' icon_state = "0" dynamic_lighting = FALSE + initialized = FALSE -/turf/unsimulated/fake_space/New() - ..() +/turf/unsimulated/fake_space/Initialize(mapload) + . = ..() icon_state = "[((x + y) ^ ~(x * y) + z) % 25]" //VOREStation Add End diff --git a/code/game/turfs/unsimulated/beach.dm b/code/game/turfs/unsimulated/beach.dm index 4638b15cab..056facb60c 100644 --- a/code/game/turfs/unsimulated/beach.dm +++ b/code/game/turfs/unsimulated/beach.dm @@ -14,9 +14,10 @@ /turf/unsimulated/beach/water name = "Water" icon_state = "water" + initialized = FALSE -/turf/unsimulated/beach/water/New() - ..() +/turf/unsimulated/beach/water/Initialize() + . = ..() add_overlay(image("icon"='icons/misc/beach.dmi',"icon_state"="water2","layer"=MOB_LAYER+0.1)) /turf/simulated/floor/beach @@ -54,6 +55,6 @@ /turf/simulated/floor/beach/water/ocean icon_state = "seadeep" -/turf/simulated/floor/beach/water/New() - ..() +/turf/simulated/floor/beach/water/Initialize() + . = ..() add_overlay(image("icon"='icons/misc/beach.dmi',"icon_state"="water5","layer"=MOB_LAYER+0.1)) diff --git a/code/game/turfs/unsimulated/planetary.dm b/code/game/turfs/unsimulated/planetary.dm index 35cd7aa4a8..4fb26f16b6 100644 --- a/code/game/turfs/unsimulated/planetary.dm +++ b/code/game/turfs/unsimulated/planetary.dm @@ -9,6 +9,7 @@ density = 1 alpha = 0 blocks_air = 0 + initialized = FALSE // Set these to get your desired planetary atmosphere. oxygen = 0 @@ -17,8 +18,8 @@ phoron = 0 temperature = T20C -/turf/unsimulated/wall/planetary/New() - ..() +/turf/unsimulated/wall/planetary/Initialize() + . = ..() SSplanets.addTurf(src) /turf/unsimulated/wall/planetary/Destroy() diff --git a/code/game/verbs/advanced_who.dm b/code/game/verbs/advanced_who.dm index bbde65fd07..9f067054f2 100644 --- a/code/game/verbs/advanced_who.dm +++ b/code/game/verbs/advanced_who.dm @@ -71,4 +71,5 @@ msg += "[line]\n" msg += "Total Players: [length(Lines)]" + msg = "" + msg + "" to_chat(src, msg) \ No newline at end of file diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 000c9991b7..a6e2625257 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -70,7 +70,7 @@ display_name = "[holder.fakekey]/([src.key])" else display_name = holder.fakekey - if(holder && !holder.fakekey && (holder.rights & R_ADMIN) && config.allow_admin_ooccolor && (src.prefs.ooccolor != initial(src.prefs.ooccolor))) // keeping this for the badmins + if(holder && !holder.fakekey && (holder.rights & R_ADMIN|R_FUN|R_EVENT) && config.allow_admin_ooccolor && (src.prefs.ooccolor != initial(src.prefs.ooccolor))) // keeping this for the badmins to_chat(target, "" + create_text_tag("ooc", "OOC:", target) + " [display_name]: [msg]") else to_chat(target, "" + create_text_tag("ooc", "OOC:", target) + " [display_name]: [msg]") diff --git a/code/game/world.dm b/code/game/world.dm index d36693fb61..212921f33c 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -154,15 +154,15 @@ var/world_topic_spam_protect_time = world.timeofday else if(T == "manifest") var/list/positions = list() var/list/set_names = list( - "heads" = command_positions, - "sec" = security_positions, - "eng" = engineering_positions, - "med" = medical_positions, - "sci" = science_positions, - "car" = cargo_positions, - "pla" = planet_positions, //VOREStation Edit, - "civ" = civilian_positions, - "bot" = nonhuman_positions + "heads" = SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND), + "sec" = SSjob.get_job_titles_in_department(DEPARTMENT_SECURITY), + "eng" = SSjob.get_job_titles_in_department(DEPARTMENT_ENGINEERING), + "med" = SSjob.get_job_titles_in_department(DEPARTMENT_MEDICAL), + "sci" = SSjob.get_job_titles_in_department(DEPARTMENT_RESEARCH), + "car" = SSjob.get_job_titles_in_department(DEPARTMENT_CARGO), + "pla" = SSjob.get_job_titles_in_department(DEPARTMENT_PLANET), //VOREStation Add, + "civ" = SSjob.get_job_titles_in_department(DEPARTMENT_CIVILIAN), + "bot" = SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC) ) for(var/datum/data/record/t in data_core.general) @@ -646,6 +646,20 @@ proc/establish_old_db_connection() maxz++ max_z_changed() +// Call this to change world.fps, don't modify it directly. +/world/proc/change_fps(new_value = 20) + if(new_value <= 0) + CRASH("change_fps() called with [new_value] new_value.") + if(fps == new_value) + return //No change required. + + fps = new_value + on_tickrate_change() + +// Called whenver world.tick_lag or world.fps are changed. +/world/proc/on_tickrate_change() + SStimer?.reset_buckets() + #undef FAILED_DB_CONNECTION_CUTOFF /world/New() SERVER_TOOLS_ON_NEW diff --git a/code/global_init.dm b/code/global_init.dm index c562209183..7a96219a0c 100644 --- a/code/global_init.dm +++ b/code/global_init.dm @@ -14,9 +14,17 @@ var/global/datum/global_init/init = new () Pre-map initialization stuff should go here. */ /datum/global_init/New() - - makeDatumRefLists() +/* VOREStation Removal - Ours is even earlier, in world/New() + //logs + log_path += time2text(world.realtime, "YYYY/MM-Month/DD-Day/round-hh-mm-ss") + diary = file("[log_path].log") + href_logfile = file("[log_path]-hrefs.htm") + error_log = file("[log_path]-error.log") + debug_log = file("[log_path]-debug.log") + debug_log << "[log_end]\n[log_end]\nStarting up. [time_stamp()][log_end]\n---------------------[log_end]" +*/ //VOREStation Removal End load_configuration() + makeDatumRefLists() initialize_integrated_circuits_list() diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index c7aa816014..fc1a8e05ca 100644 --- a/code/modules/admin/DB ban/functions.dm +++ b/code/modules/admin/DB ban/functions.dm @@ -301,7 +301,7 @@ datum/admins/proc/DB_ban_unban_by_id(var/id) output += "" for(var/j in get_all_jobs()) output += "" - for(var/j in nonhuman_positions) + for(var/j in SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC)) output += "" var/list/bantypes = list("traitor","changeling","operative","revolutionary","cultist","wizard") //For legacy bans. for(var/antag_type in all_antag_types) // Grab other bans. diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index c9e1546a63..e56727c95d 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -75,6 +75,7 @@ proc/admin_notice(var/message, var/rights) if(M.client) body += "| Prison | " + body += "\ Send back to Lobby | " var/muted = M.client.prefs.muted body += {"
Mute: \[IC | @@ -90,7 +91,7 @@ proc/admin_notice(var/message, var/rights) Get | Send To

- [check_rights(R_ADMIN|R_MOD,0) ? "Traitor panel | " : "" ] + [check_rights(R_ADMIN|R_MOD|R_EVENT,0) ? "Traitor panel | " : "" ] Narrate to | Subtle message "} @@ -128,6 +129,8 @@ proc/admin_notice(var/message, var/rights) else body += "Animalize | " + body += "Respawn | " + // DNA2 - Admin Hax if(M.dna && iscarbon(M)) body += "

" @@ -1373,7 +1376,7 @@ var/datum/announcement/minor/admin_min_announcer = new return //Extra sanity check to make sure only observers are shoved into things //Same as assume-direct-control perm requirements. - if (!check_rights(R_VAREDIT,0) || !check_rights(R_ADMIN|R_DEBUG,0)) + if (!check_rights(R_VAREDIT,0) || !check_rights(R_ADMIN|R_DEBUG|R_EVENT,0)) return 0 if (!frommob.ckey) return 0 @@ -1426,7 +1429,7 @@ var/datum/announcement/minor/admin_min_announcer = new if (!istype(src,/datum/admins)) src = usr.client.holder - if (!istype(src,/datum/admins) || !check_rights(R_ADMIN)) + if (!istype(src,/datum/admins) || !check_rights(R_ADMIN|R_EVENT|R_FUN)) to_chat(usr, "Error: you are not an admin!") return @@ -1444,7 +1447,7 @@ var/datum/announcement/minor/admin_min_announcer = new var/msg - if(check_rights(R_ADMIN|R_MOD)) + if(check_rights(R_ADMIN|R_MOD|R_EVENT)) if (H.paralysis == 0) H.paralysis = 8000 msg = "has paralyzed [key_name(H)]." @@ -1462,7 +1465,7 @@ var/datum/announcement/minor/admin_min_announcer = new set popup_menu = FALSE //VOREStation Edit - Declutter. var/crystals - if(check_rights(R_ADMIN)) + if(check_rights(R_ADMIN|R_EVENT)) crystals = input("Amount of telecrystals for [H.ckey], currently [H.mind.tcrystals].", crystals) as null|num if (!isnull(crystals)) H.mind.tcrystals = crystals @@ -1478,7 +1481,7 @@ var/datum/announcement/minor/admin_min_announcer = new set popup_menu = FALSE //VOREStation Edit - Declutter. var/crystals - if(check_rights(R_ADMIN)) + if(check_rights(R_ADMIN|R_EVENT)) crystals = input("Amount of telecrystals to give to [H.ckey], currently [H.mind.tcrystals].", crystals) as null|num if (!isnull(crystals)) H.mind.tcrystals += crystals @@ -1561,12 +1564,12 @@ datum/admins/var/obj/item/weapon/paper/admin/faxreply // var to hold fax replies if(P.sender) // sent as a reply log_admin("[key_name(src.owner)] replied to a fax message from [key_name(P.sender)]") for(var/client/C in admins) - if((R_ADMIN | R_MOD) & C.holder.rights) + if((R_ADMIN | R_MOD | R_EVENT) & C.holder.rights) to_chat(C, "FAX LOG:[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(P.sender)] (VIEW)") else log_admin("[key_name(src.owner)] has sent a fax message to [destination.department]") for(var/client/C in admins) - if((R_ADMIN | R_MOD) & C.holder.rights) + if((R_ADMIN | R_MOD | R_EVENT) & C.holder.rights) to_chat(C, "FAX LOG:[key_name_admin(src.owner)] has sent a fax message to [destination.department] (VIEW)") else diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 208a254e1b..327ee34e4a 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -1,6 +1,7 @@ //admin verb groups - They can overlap if you so wish. Only one of each verb will exist in the verbs list regardless var/list/admin_verbs_default = list( /datum/admins/proc/show_player_panel, //shows an interface for individual players, with various links (links require additional flags, + /client/proc/player_panel_new, //shows an interface for all players, with links to various panels, /client/proc/player_panel, /client/proc/deadmin_self, //destroys our own admin datum so we can play as a regular player, /client/proc/hide_verbs, //hides all our adminverbs, @@ -15,7 +16,6 @@ var/list/admin_verbs_default = list( ) var/list/admin_verbs_admin = list( - /client/proc/player_panel_new, //shows an interface for all players, with links to various panels, /datum/admins/proc/set_tcrystals, /datum/admins/proc/add_tcrystals, /client/proc/invisimin, //allows our mob to go invisible/visible, @@ -141,7 +141,7 @@ var/list/admin_verbs_fun = list( /datum/admins/proc/call_drop_pod, /client/proc/smite_vr, //VOREStation Add, /client/proc/smite, - /client/proc/admin_lightning_strike + /client/proc/admin_lightning_strike, ) var/list/admin_verbs_spawn = list( @@ -343,6 +343,8 @@ var/list/admin_verbs_mod = list( /client/proc/cmd_mod_say, /client/proc/cmd_event_say, /datum/admins/proc/show_player_info, + /datum/admins/proc/show_traitor_panel, + /client/proc/colorooc, /client/proc/player_panel_new, /client/proc/dsay, /datum/admins/proc/show_skills, @@ -361,13 +363,137 @@ var/list/admin_verbs_mod = list( /datum/admins/proc/view_atk_log //shows the server combat-log, doesn't do anything presently, ) -//VOREStation Edit Start - Highly Modified List var/list/admin_verbs_event_manager = list( - /client/proc/cmd_admin_say, //admin-only ooc chat, + /client/proc/cmd_admin_say, //VOREStation Edit - Event managers can use asay, + /client/proc/cmd_admin_pm_context, + /client/proc/cmd_admin_pm_panel, + /client/proc/admin_ghost, + /datum/admins/proc/show_player_info, + /client/proc/dsay, + /client/proc/cmd_admin_subtle_message, + /client/proc/debug_variables, + /client/proc/check_antagonists, + /client/proc/aooc, + /datum/admins/proc/paralyze_mob, + /client/proc/cmd_admin_direct_narrate, + /client/proc/allow_character_respawn, + /datum/admins/proc/sendFax, + /client/proc/respawn_character, + /proc/possess, + /proc/release, + /datum/admins/proc/change_weather, + /datum/admins/proc/change_time, + /client/proc/admin_give_modifier, + /client/proc/Jump, + /client/proc/jumptomob, + /client/proc/jumptocoord, + /client/proc/cmd_admin_delete, + /datum/admins/proc/delay, + /client/proc/Set_Holiday, + /client/proc/make_sound, + /client/proc/toggle_random_events, + /datum/admins/proc/cmd_admin_dress, + /client/proc/cmd_admin_gib_self, + /client/proc/drop_bomb, + /client/proc/cmd_admin_add_freeform_ai_law, + /client/proc/cmd_admin_add_random_ai_law, + /client/proc/make_sound, + /client/proc/toggle_random_events, + /client/proc/editappear, + /client/proc/roll_dices, + /datum/admins/proc/call_supply_drop, + /datum/admins/proc/call_drop_pod, + /datum/admins/proc/PlayerNotes, + /client/proc/callproc, + /client/proc/callproc_datum, + /client/proc/debug_controller, + /client/proc/show_gm_status, + /datum/admins/proc/change_weather, + /datum/admins/proc/change_time, + /client/proc/admin_give_modifier, + /datum/admins/proc/cmd_admin_dress, + /client/proc/cmd_admin_gib_self, + /datum/admins/proc/set_tcrystals, + /datum/admins/proc/add_tcrystals, + /client/proc/invisimin, //allows our mob to go invisible/visible, + /datum/admins/proc/show_traitor_panel, //interface which shows a mob's mind., + /datum/admins/proc/show_game_mode, //Configuration window for the current game mode., + /datum/admins/proc/force_mode_latespawn, //Force the mode to try a latespawn proc, + /datum/admins/proc/force_antag_latespawn, //Force a specific template to try a latespawn proc, + /datum/admins/proc/announce, //priority announce something to all clients., + /datum/admins/proc/intercom, //send a fake intercom message, like an arrivals announcement, + /datum/admins/proc/intercom_convo, //send a fake intercom conversation, like an ATC exchange, + /client/proc/colorooc, //allows us to set a custom colour for everythign we say in ooc, + /client/proc/admin_ghost, //allows us to ghost/reenter body at will, + /client/proc/toggle_view_range, //changes how far we can see, + /client/proc/cmd_admin_pm_context, //right-click adminPM interface, + /client/proc/cmd_admin_pm_panel, //admin-pm list, + /client/proc/cmd_admin_subtle_message, //send an message to somebody as a 'voice in their head', + /client/proc/cmd_admin_delete, //delete an instance/object/mob/etc, + /client/proc/cmd_admin_check_contents, //displays the contents of an instance, + /client/proc/cmd_admin_check_player_logs, //checks a player's attack logs, + /client/proc/cmd_admin_check_dialogue_logs, //checks a player's dialogue logs, + /datum/admins/proc/access_news_network, //allows access of newscasters, + /client/proc/jumptocoord, //we ghost and jump to a coordinate, + /client/proc/Getmob, //teleports a mob to our location, + /client/proc/Getkey, //teleports a mob with a certain ckey to our location, + /client/proc/Jump, + /client/proc/jumptokey, //allows us to jump to the location of a mob with a certain ckey, + /client/proc/jumptomob, //allows us to jump to a specific mob, + /client/proc/jumptoturf, //allows us to jump to a specific turf, + /client/proc/admin_call_shuttle, //allows us to call the emergency shuttle, + /client/proc/admin_cancel_shuttle, //allows us to cancel the emergency shuttle, sending it back to CentCom, + /client/proc/cmd_admin_direct_narrate, //send text directly to a player with no padding. Useful for narratives and fluff-text, + /client/proc/cmd_admin_world_narrate, //sends text to all players with no padding, + /client/proc/cmd_admin_create_centcom_report, + /client/proc/check_words, //displays cult-words, + /client/proc/check_ai_laws, //shows AI and borg laws, + /client/proc/rename_silicon, //properly renames silicons, + /client/proc/manage_silicon_laws, // Allows viewing and editing silicon laws. , + /client/proc/check_antagonists, + /client/proc/admin_memo, //admin memo system. show/delete/write. +SERVER needed to delete admin memos of others, + /client/proc/dsay, //talk in deadchat using our ckey/fakekey, + /client/proc/secrets, + /client/proc/game_panel, //game panel, allows to change game-mode etc, /client/proc/cmd_mod_say, - /client/proc/cmd_event_say + /client/proc/cmd_event_say, + /datum/admins/proc/show_player_info, + /client/proc/free_slot, //frees slot for chosen job, + /client/proc/cmd_admin_change_custom_event, + /client/proc/cmd_admin_rejuvenate, + /client/proc/toggleghostwriters, + /datum/admins/proc/show_skills, + /client/proc/man_up, + /client/proc/global_man_up, + /client/proc/response_team, // Response Teams admin verb, + /client/proc/trader_ship, // Trader ship admin verb, + /client/proc/allow_character_respawn, // Allows a ghost to respawn , + /client/proc/event_manager_panel, + /client/proc/aooc, + /client/proc/change_human_appearance_admin, // Allows an admin to change the basic appearance of human-based mobs , + /client/proc/change_human_appearance_self, // Allows the human-based mob itself change its basic appearance , + /client/proc/change_security_level, + /client/proc/makePAI, + /client/proc/toggle_debug_logs, + /client/proc/toggle_attack_logs, + /datum/admins/proc/paralyze_mob, + /client/proc/fixatmos, + /datum/admins/proc/sendFax, + /client/proc/despawn_player, + /datum/admins/proc/view_feedback, + /datum/admins/proc/capture_map, + /client/proc/Set_Holiday, + /datum/admins/proc/startnow, + /datum/admins/proc/restart, + /datum/admins/proc/delay, + /client/proc/cmd_mod_say, + /datum/admins/proc/immreboot, + /client/proc/everyone_random, + /client/proc/cmd_admin_delete, //delete an instance/object/mob/etc, + /client/proc/cmd_debug_del_all, + /client/proc/toggle_random_events, + /client/proc/modify_server_news ) -//VOREStation Edit End /client/proc/add_admin_verbs() if(holder) @@ -821,7 +947,7 @@ var/list/admin_verbs_event_manager = list( set name = "Rename Silicon" set category = "Admin" - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return var/mob/living/silicon/S = input("Select silicon.", "Rename Silicon.") as null|anything in silicon_mob_list if(!S) return @@ -836,7 +962,7 @@ var/list/admin_verbs_event_manager = list( set name = "Manage Silicon Laws" set category = "Admin" - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT)) return var/mob/living/silicon/S = input("Select silicon.", "Manage Silicon Laws") as null|anything in silicon_mob_list if(!S) return @@ -888,7 +1014,7 @@ var/list/admin_verbs_event_manager = list( set desc = "Sets the station security level" set category = "Admin" - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT)) return var sec_level = input(usr, "It's currently code [get_security_level()].", "Select Security Level") as null|anything in (list("green","yellow","violet","orange","blue","red","delta")-get_security_level()) if(alert("Switch from code [get_security_level()] to code [sec_level]?","Change security level?","Yes","No") == "Yes") set_security_level(sec_level) diff --git a/code/modules/admin/secrets/admin_secrets/jump_shuttle.dm b/code/modules/admin/secrets/admin_secrets/jump_shuttle.dm index 4097632aa3..3767d21a8b 100644 --- a/code/modules/admin/secrets/admin_secrets/jump_shuttle.dm +++ b/code/modules/admin/secrets/admin_secrets/jump_shuttle.dm @@ -2,17 +2,17 @@ name = "Jump a Shuttle" /datum/admin_secret_item/admin_secret/jump_shuttle/can_execute(var/mob/user) - if(!shuttle_controller) return 0 + if(!SSshuttles) return 0 return ..() /datum/admin_secret_item/admin_secret/jump_shuttle/execute(var/mob/user) . = ..() if(!.) return - var/shuttle_tag = input(user, "Which shuttle do you want to jump?") as null|anything in shuttle_controller.shuttles + var/shuttle_tag = input(user, "Which shuttle do you want to jump?") as null|anything in SSshuttles.shuttles if (!shuttle_tag) return - var/datum/shuttle/S = shuttle_controller.shuttles[shuttle_tag] + var/datum/shuttle/S = SSshuttles.shuttles[shuttle_tag] var/origin_area = input(user, "Which area is the shuttle at now? (MAKE SURE THIS IS CORRECT OR THINGS WILL BREAK)") as null|area in world if (!origin_area) return diff --git a/code/modules/admin/secrets/admin_secrets/launch_shuttle.dm b/code/modules/admin/secrets/admin_secrets/launch_shuttle.dm index 9d6ce44a2d..2f253a1a80 100644 --- a/code/modules/admin/secrets/admin_secrets/launch_shuttle.dm +++ b/code/modules/admin/secrets/admin_secrets/launch_shuttle.dm @@ -2,7 +2,7 @@ name = "Launch a Shuttle" /datum/admin_secret_item/admin_secret/launch_shuttle/can_execute(var/mob/user) - if(!shuttle_controller) return 0 + if(!SSshuttles) return 0 return ..() /datum/admin_secret_item/admin_secret/launch_shuttle/execute(var/mob/user) @@ -10,15 +10,15 @@ if(!.) return var/list/valid_shuttles = list() - for (var/shuttle_tag in shuttle_controller.shuttles) - if (istype(shuttle_controller.shuttles[shuttle_tag], /datum/shuttle/ferry)) + for (var/shuttle_tag in SSshuttles.shuttles) + if (istype(SSshuttles.shuttles[shuttle_tag], /datum/shuttle/autodock)) valid_shuttles += shuttle_tag var/shuttle_tag = input(user, "Which shuttle do you want to launch?") as null|anything in valid_shuttles if (!shuttle_tag) return - var/datum/shuttle/ferry/S = shuttle_controller.shuttles[shuttle_tag] + var/datum/shuttle/autodock/S = SSshuttles.shuttles[shuttle_tag] if (S.can_launch()) S.launch(user) log_and_message_admins("launched the [shuttle_tag] shuttle", user) diff --git a/code/modules/admin/secrets/admin_secrets/launch_shuttle_forced.dm b/code/modules/admin/secrets/admin_secrets/launch_shuttle_forced.dm index d1a86fec98..592a8da57c 100644 --- a/code/modules/admin/secrets/admin_secrets/launch_shuttle_forced.dm +++ b/code/modules/admin/secrets/admin_secrets/launch_shuttle_forced.dm @@ -2,7 +2,7 @@ name = "Launch a Shuttle (Forced)" /datum/admin_secret_item/admin_secret/launch_shuttle_forced/can_execute(var/mob/user) - if(!shuttle_controller) return 0 + if(!SSshuttles) return 0 return ..() /datum/admin_secret_item/admin_secret/launch_shuttle_forced/execute(var/mob/user) @@ -10,15 +10,15 @@ if(!.) return var/list/valid_shuttles = list() - for (var/shuttle_tag in shuttle_controller.shuttles) - if (istype(shuttle_controller.shuttles[shuttle_tag], /datum/shuttle/ferry)) + for (var/shuttle_tag in SSshuttles.shuttles) + if (istype(SSshuttles.shuttles[shuttle_tag], /datum/shuttle/autodock)) valid_shuttles += shuttle_tag var/shuttle_tag = input(user, "Which shuttle's launch do you want to force?") as null|anything in valid_shuttles if (!shuttle_tag) return - var/datum/shuttle/ferry/S = shuttle_controller.shuttles[shuttle_tag] + var/datum/shuttle/autodock/S = SSshuttles.shuttles[shuttle_tag] if (S.can_force()) S.force_launch(user) log_and_message_admins("forced the [shuttle_tag] shuttle", user) diff --git a/code/modules/admin/secrets/admin_secrets/move_shuttle.dm b/code/modules/admin/secrets/admin_secrets/move_shuttle.dm index 5772bbed54..a79a2d7143 100644 --- a/code/modules/admin/secrets/admin_secrets/move_shuttle.dm +++ b/code/modules/admin/secrets/admin_secrets/move_shuttle.dm @@ -2,7 +2,7 @@ name = "Move a Shuttle" /datum/admin_secret_item/admin_secret/move_shuttle/can_execute(var/mob/user) - if(!shuttle_controller) return 0 + if(!SSshuttles) return 0 return ..() /datum/admin_secret_item/admin_secret/move_shuttle/execute(var/mob/user) @@ -13,16 +13,15 @@ if (confirm == "Cancel") return - var/shuttle_tag = input(user, "Which shuttle do you want to jump?") as null|anything in shuttle_controller.shuttles + var/shuttle_tag = input(user, "Which shuttle do you want to jump?") as null|anything in SSshuttles.shuttles if (!shuttle_tag) return - var/datum/shuttle/S = shuttle_controller.shuttles[shuttle_tag] + var/datum/shuttle/S = SSshuttles.shuttles[shuttle_tag] - var/origin_area = input(user, "Which area is the shuttle at now? (MAKE SURE THIS IS CORRECT OR THINGS WILL BREAK)") as null|area in world - if (!origin_area) return + var/destination_tag = input(user, "Which landmark do you want to jump to? (IF YOU GET THIS WRONG THINGS WILL BREAK)") as null|anything in SSshuttles.registered_shuttle_landmarks + if (!destination_tag) return + var/destination_location = SSshuttles.get_landmark(destination_tag) + if (!destination_location) return - var/destination_area = input(user, "Which area is the shuttle at now? (MAKE SURE THIS IS CORRECT OR THINGS WILL BREAK)") as null|area in world - if (!destination_area) return - - S.move(origin_area, destination_area) + S.attempt_move(destination_location) log_and_message_admins("moved the [shuttle_tag] shuttle", user) diff --git a/code/modules/admin/secrets/random_events/gravity.dm b/code/modules/admin/secrets/random_events/gravity.dm index 2b1dc572e1..5f248a4dfc 100644 --- a/code/modules/admin/secrets/random_events/gravity.dm +++ b/code/modules/admin/secrets/random_events/gravity.dm @@ -17,7 +17,7 @@ gravity_is_on = !gravity_is_on for(var/area/A in all_areas) - A.gravitychange(gravity_is_on,A) + A.gravitychange(gravity_is_on) feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","Grav") diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a66cf17fe2..fe6048d0c2 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -11,7 +11,7 @@ return if(href_list["ahelp"]) - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return var/ahelp_ref = href_list["ahelp"] @@ -198,7 +198,7 @@ edit_admin_permissions() else if(href_list["call_shuttle"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT)) return if( ticker.mode.name == "blob" ) alert("You can't call the shuttle during blob!") @@ -394,8 +394,8 @@ //Regular jobs //Command (Blue) jobs += "" - jobs += "" - for(var/jobPos in command_positions) + jobs += "" + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue @@ -415,8 +415,8 @@ //Security (Red) counter = 0 jobs += "
Command Positions
Command Positions
" - jobs += "" - for(var/jobPos in security_positions) + jobs += "" + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_SECURITY)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue @@ -436,8 +436,8 @@ //Engineering (Yellow) counter = 0 jobs += "
Security Positions
Security Positions
" - jobs += "" - for(var/jobPos in engineering_positions) + jobs += "" + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_ENGINEERING)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue @@ -457,8 +457,8 @@ //Cargo (Yellow) counter = 0 jobs += "
Engineering Positions
Engineering Positions
" - jobs += "" - for(var/jobPos in cargo_positions) + jobs += "" + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_CARGO)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue @@ -478,8 +478,8 @@ //Medical (White) counter = 0 jobs += "
Cargo Positions
Cargo Positions
" - jobs += "" - for(var/jobPos in medical_positions) + jobs += "" + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_MEDICAL)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue @@ -499,8 +499,8 @@ //Science (Purple) counter = 0 jobs += "
Medical Positions
Medical Positions
" - jobs += "" - for(var/jobPos in science_positions) + jobs += "" + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_RESEARCH)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue @@ -520,8 +520,8 @@ //Exploration (Purple) counter = 0 jobs += "
Science Positions
Science Positions
" - jobs += "" - for(var/jobPos in planet_positions) + jobs += "" + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_PLANET)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue @@ -541,8 +541,8 @@ //Civilian (Grey) counter = 0 jobs += "
Exploration Positions
Science Positions
" - jobs += "" - for(var/jobPos in civilian_positions) + jobs += "" + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_CIVILIAN)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue @@ -568,8 +568,8 @@ //Non-Human (Green) counter = 0 jobs += "
Civilian Positions
Civilian Positions
" - jobs += "" - for(var/jobPos in nonhuman_positions) + jobs += "" + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) if(!job) continue @@ -656,58 +656,58 @@ var/list/joblist = list() switch(href_list["jobban3"]) if("commanddept") - for(var/jobPos in command_positions) + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND)) if(!jobPos) continue var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title if("securitydept") - for(var/jobPos in security_positions) + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_SECURITY)) if(!jobPos) continue var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title if("engineeringdept") - for(var/jobPos in engineering_positions) + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_ENGINEERING)) if(!jobPos) continue var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title if("cargodept") - for(var/jobPos in cargo_positions) + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_CARGO)) if(!jobPos) continue var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title if("medicaldept") - for(var/jobPos in medical_positions) + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_MEDICAL)) if(!jobPos) continue var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title if("sciencedept") - for(var/jobPos in science_positions) + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_RESEARCH)) if(!jobPos) continue var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title //VOREStation Edit Start if("explorationdept") - for(var/jobPos in planet_positions) + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_PLANET)) if(!jobPos) continue var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title //VOREStation Edit End if("civiliandept") - for(var/jobPos in civilian_positions) + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_CIVILIAN)) if(!jobPos) continue var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title if("nonhumandept") joblist += "pAI" - for(var/jobPos in nonhuman_positions) + for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC)) if(!jobPos) continue var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue @@ -935,7 +935,7 @@ cmd_admin_mute(M, mute_type) else if(href_list["c_mode"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT)) return if(ticker && ticker.mode) return alert(usr, "The game has already started.", null, null, null, null) @@ -948,7 +948,7 @@ usr << browse(dat, "window=c_mode") else if(href_list["f_secret"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT)) return if(ticker && ticker.mode) return alert(usr, "The game has already started.", null, null, null, null) @@ -962,7 +962,7 @@ usr << browse(dat, "window=f_secret") else if(href_list["c_mode2"]) - if(!check_rights(R_ADMIN|R_SERVER)) return + if(!check_rights(R_ADMIN|R_SERVER|R_EVENT)) return if (ticker && ticker.mode) return alert(usr, "The game has already started.", null, null, null, null) @@ -975,7 +975,7 @@ .(href, list("c_mode"=1)) else if(href_list["f_secret2"]) - if(!check_rights(R_ADMIN|R_SERVER)) return + if(!check_rights(R_ADMIN|R_SERVER|R_EVENT)) return if(ticker && ticker.mode) return alert(usr, "The game has already started.", null, null, null, null) @@ -1065,6 +1065,29 @@ log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.") message_admins("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) + else if(href_list["sendbacktolobby"]) + if(!check_rights(R_ADMIN)) + return + + var/mob/M = locate(href_list["sendbacktolobby"]) + if(!isobserver(M)) + to_chat(usr, "You can only send ghost players back to the Lobby.") + return + + if(!M.client) + to_chat(usr, "[M] doesn't seem to have an active client.") + return + + if(alert(usr, "Send [key_name(M)] back to Lobby?", "Message", "Yes", "No") != "Yes") + return + + log_admin("[key_name(usr)] has sent [key_name(M)] back to the Lobby.") + message_admins("[key_name(usr)] has sent [key_name(M)] back to the Lobby.") + + var/mob/new_player/NP = new() + NP.ckey = M.ckey + qdel(M) + else if(href_list["tdome1"]) if(!check_rights(R_FUN)) return @@ -1223,6 +1246,15 @@ usr.client.cmd_admin_animalize(M) + else if(href_list["respawn"]) + if(!check_rights(R_SPAWN)) + return + + var/client/C = locate(href_list["respawn"]) + if(!istype(C)) + return + usr.client.respawn_character_proper(C) + else if(href_list["togmutate"]) if(!check_rights(R_SPAWN)) return @@ -1350,7 +1382,7 @@ to_chat(src.owner, "(PM) (PP) (VV) (SM) ([admin_jump_link(M, src)]) (CA)") else if(href_list["adminspawncookie"]) - if(!check_rights(R_ADMIN|R_FUN)) return + if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return var/mob/living/carbon/human/H = locate(href_list["adminspawncookie"]) if(!ishuman(H)) @@ -1374,7 +1406,7 @@ to_chat(H, "Your prayers have been answered!! You received the best cookie!") else if(href_list["adminsmite"]) - if(!check_rights(R_ADMIN|R_FUN)) return + if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return var/mob/living/carbon/human/H = locate(href_list["adminsmite"]) if(!ishuman(H)) @@ -1384,7 +1416,7 @@ owner.smite(H) else if(href_list["BlueSpaceArtillery"]) - if(!check_rights(R_ADMIN|R_FUN)) return + if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return var/mob/living/M = locate(href_list["BlueSpaceArtillery"]) if(!isliving(M)) @@ -1488,38 +1520,38 @@ P.adminbrowse() else if(href_list["jumpto"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT|R_MOD)) return var/mob/M = locate(href_list["jumpto"]) usr.client.jumptomob(M) else if(href_list["getmob"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT|R_FUN)) return if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes") return var/mob/M = locate(href_list["getmob"]) usr.client.Getmob(M) else if(href_list["sendmob"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT|R_FUN)) return var/mob/M = locate(href_list["sendmob"]) usr.client.sendmob(M) else if(href_list["narrateto"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT|R_FUN)) return var/mob/M = locate(href_list["narrateto"]) usr.client.cmd_admin_direct_narrate(M) else if(href_list["subtlemessage"]) - if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return + if(!check_rights(R_MOD|R_ADMIN|R_EVENT|R_FUN,0)) return var/mob/M = locate(href_list["subtlemessage"]) usr.client.cmd_admin_subtle_message(M) else if(href_list["traitor"]) - if(!check_rights(R_ADMIN|R_MOD)) return + if(!check_rights(R_ADMIN|R_MOD|R_EVENT)) return if(!ticker || !ticker.mode) alert("The game hasn't started yet!") @@ -1868,7 +1900,7 @@ populate_inactive_customitems_list(src.owner) else if(href_list["vsc"]) - if(check_rights(R_ADMIN|R_SERVER)) + if(check_rights(R_ADMIN|R_SERVER|R_EVENT)) if(href_list["vsc"] == "airflow") vsc.ChangeSettingsDialog(usr,vsc.settings) if(href_list["vsc"] == "phoron") @@ -1895,7 +1927,7 @@ show_player_panel(M) else if(href_list["cryoplayer"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_EVENT)) return var/mob/living/carbon/M = locate(href_list["cryoplayer"]) //VOREStation edit from just an all mob check to mob/living/carbon if(!istype(M)) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index c32fd68a11..589aefed79 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -511,7 +511,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) set name = "Show Ticket List" set category = "Admin" - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG, TRUE)) + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT, TRUE)) return var/browse_to diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm index fae66d4af9..db948d08e6 100644 --- a/code/modules/admin/verbs/adminjump.dm +++ b/code/modules/admin/verbs/adminjump.dm @@ -8,7 +8,7 @@ set name = "Jump to Area" set desc = "Area to jump to" set category = "Admin" - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return if(config.allow_admin_jump) @@ -21,10 +21,10 @@ else alert("Admin jumping disabled") -/client/proc/jumptoturf(var/turf/T in turfs) +/client/proc/jumptoturf(var/turf/T in world) set name = "Jump to Turf" set category = "Admin" - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return if(config.allow_admin_jump) log_admin("[key_name(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]") @@ -40,7 +40,8 @@ set category = "Admin" set name = "Jump to Mob" set popup_menu = FALSE //VOREStation Edit - Declutter. - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) + + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return if(config.allow_admin_jump) @@ -62,7 +63,7 @@ set category = "Admin" set name = "Jump to Coordinate" - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return if (config.allow_admin_jump) @@ -82,7 +83,7 @@ set category = "Admin" set name = "Jump to Key" - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return if(config.allow_admin_jump) @@ -106,7 +107,7 @@ set category = "Admin" set name = "Get Mob" set desc = "Mob to teleport" - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return if(config.allow_admin_jump) log_admin("[key_name(usr)] jumped to [key_name(M)]") @@ -124,7 +125,7 @@ set name = "Get Key" set desc = "Key to teleport" - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return if(config.allow_admin_jump) @@ -152,7 +153,7 @@ /client/proc/sendmob(var/mob/M in sortmobs()) set category = "Admin" set name = "Send Mob" - if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) + if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT)) return var/area/A = input(usr, "Pick an area.", "Pick an area") in return_sorted_areas() if(A) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 2bf3a1f5cc..2bd7326b3b 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -6,7 +6,7 @@ set category = null set name = "Admin PM Mob" if(!holder) - to_chat(src, "Error: Admin-PM-Context: Only administrators may use this command.") + to_chat(src, "Error: Admin-PM-Context: Only administrators may use this command.") return if( !ismob(M) || !M.client ) return @@ -18,7 +18,7 @@ set category = "Admin" set name = "Admin PM" if(!holder) - to_chat(src, "Error: Admin-PM-Panel: Only administrators may use this command.") + to_chat(src, "Error: Admin-PM-Panel: Only administrators may use this command.") return var/list/client/targets[0] for(var/client/T) @@ -37,7 +37,7 @@ /client/proc/cmd_ahelp_reply(whom) if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).") + to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).") return var/client/C if(istext(whom)) @@ -48,16 +48,16 @@ C = whom if(!C) if(holder) - to_chat(src, "Error: Admin-PM: Client not found.") + to_chat(src, "Error: Admin-PM: Client not found.") return var/datum/admin_help/AH = C.current_ticket if(AH) - message_admins("[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.") + message_admins("[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.") var/msg = input(src,"Message:", "Private message to [key_name(C, 0, 0)]") as text|null if (!msg) - message_admins("[key_name_admin(src)] has cancelled their reply to [key_name(C, 0, 0)]'s admin help.") + message_admins("[key_name_admin(src)] has cancelled their reply to [key_name(C, 0, 0)]'s admin help.") return cmd_admin_pm(whom, msg, AH) @@ -65,12 +65,12 @@ //Fetching a message if needed. src is the sender and C is the target client /client/proc/cmd_admin_pm(whom, msg, datum/admin_help/AH) if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).") + to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).") return if(!holder && !current_ticket) //no ticket? https://www.youtube.com/watch?v=iHSPf6x1Fdo - to_chat(src, "You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.") - to_chat(src, "Message: [msg]") + to_chat(src, "You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.") + to_chat(src, "Message: [msg]") return var/client/recipient @@ -95,14 +95,14 @@ if(!msg) return if(holder) - to_chat(src, "Error: Use the admin IRC channel, nerd.") + to_chat(src, "Error: Use the admin IRC channel, nerd.") return else if(!recipient) if(holder) - to_chat(src, "Error: Admin-PM: Client not found.") + to_chat(src, "Error: Admin-PM: Client not found.") to_chat(src, msg) else current_ticket.MessageNoRecipient(msg) @@ -116,12 +116,12 @@ return if(prefs.muted & MUTE_ADMINHELP) - to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).") + to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).") return if(!recipient) if(holder) - to_chat(src, "Error: Admin-PM: Client not found.") + to_chat(src, "Error: Admin-PM: Client not found.") else current_ticket.MessageNoRecipient(msg) return @@ -140,27 +140,27 @@ var/keywordparsedmsg = keywords_lookup(msg) if(irc) - to_chat(src, "PM to-Admins: [rawmsg]") - admin_ticket_log(src, "Reply PM from-[key_name(src, TRUE, TRUE)] to IRC: [keywordparsedmsg]") + to_chat(src, "PM to-Admins: [rawmsg]") + admin_ticket_log(src, "Reply PM from-[key_name(src, TRUE, TRUE)] to IRC: [keywordparsedmsg]") ircreplyamount-- send2irc("Reply: [ckey]",rawmsg) else if(recipient.holder) if(holder) //both are admins - to_chat(recipient, "Admin PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]") - to_chat(src, "Admin PM to-[key_name(recipient, src, 1)]: [keywordparsedmsg]") + to_chat(recipient, "Admin PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]") + to_chat(src, "Admin PM to-[key_name(recipient, src, 1)]: [keywordparsedmsg]") //omg this is dumb, just fill in both their tickets - var/interaction_message = "PM from-[key_name(src, recipient, 1)] to-[key_name(recipient, src, 1)]: [keywordparsedmsg]" + var/interaction_message = "PM from-[key_name(src, recipient, 1)] to-[key_name(recipient, src, 1)]: [keywordparsedmsg]" admin_ticket_log(src, interaction_message) if(recipient != src) //reeee admin_ticket_log(recipient, interaction_message) else //recipient is an admin but sender is not - var/replymsg = "Reply PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]" + var/replymsg = "Reply PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]" admin_ticket_log(src, replymsg) to_chat(recipient, replymsg) - to_chat(src, "PM to-Admins: [msg]") + to_chat(src, "PM to-Admins: [msg]") //play the recieving admin the adminhelp sound (if they have them enabled) if(recipient.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping)) @@ -171,12 +171,12 @@ if(!recipient.current_ticket) new /datum/admin_help(msg, recipient, TRUE) - to_chat(recipient, "-- Administrator private message --") - to_chat(recipient, "Admin PM from-[key_name(src, recipient, 0)]: [msg]") - to_chat(recipient, "Click on the administrator's name to reply.") - to_chat(src, "Admin PM to-[key_name(recipient, src, 1)]: [msg]") + to_chat(recipient, "-- Administrator private message --") + to_chat(recipient, "Admin PM from-[key_name(src, recipient, 0)]: [msg]") + to_chat(recipient, "Click on the administrator's name to reply.") + to_chat(src, "Admin PM to-[key_name(recipient, src, 1)]: [msg]") - admin_ticket_log(recipient, "PM From [key_name_admin(src)]: [keywordparsedmsg]") + admin_ticket_log(recipient, "PM From [key_name_admin(src)]: [keywordparsedmsg]") //always play non-admin recipients the adminhelp sound recipient << 'sound/effects/adminhelp.ogg' @@ -195,19 +195,19 @@ return else //neither are admins - to_chat(src, "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.") + to_chat(src, "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.") return if(irc) log_admin("PM: [key_name(src)]->IRC: [rawmsg]") for(var/client/X in admins) - to_chat(X, "PM: [key_name(src, X, 0)]->IRC: [keywordparsedmsg]") + to_chat(X, "PM: [key_name(src, X, 0)]->IRC: [keywordparsedmsg]") else log_admin("PM: [key_name(src)]->[key_name(recipient)]: [rawmsg]") //we don't use message_admins here because the sender/receiver might get it too for(var/client/X in admins) if(X.key!=key && X.key!=recipient.key) //check client/X is an admin and isn't the sender or recipient - to_chat(X, "PM: [key_name(src, X, 0)]->[key_name(recipient, X, 0)]: [keywordparsedmsg]" ) + to_chat(X, "PM: [key_name(src, X, 0)]->[key_name(recipient, X, 0)]: [keywordparsedmsg]" ) /proc/IrcPm(target,msg,sender) var/client/C = GLOB.directory[target] @@ -256,11 +256,11 @@ message_admins("IRC message from [sender] to [key_name_admin(C)] : [msg]") log_admin("IRC PM: [sender] -> [key_name(C)] : [msg]") - to_chat(C, "-- Administrator private message --") - to_chat(C, "Admin PM from-[adminname]: [msg]") - to_chat(C, "Click on the administrator's name to reply.") + to_chat(C, "-- Administrator private message --") + to_chat(C, "Admin PM from-[adminname]: [msg]") + to_chat(C, "Click on the administrator's name to reply.") - admin_ticket_log(C, "PM From [irc_tagged]: [msg]") + admin_ticket_log(C, "PM From [irc_tagged]: [msg]") window_flash(C, ignorepref = TRUE) //always play non-admin recipients the adminhelp sound diff --git a/code/modules/admin/verbs/antag-ooc.dm b/code/modules/admin/verbs/antag-ooc.dm index 13c6e6a767..79edaf15d9 100644 --- a/code/modules/admin/verbs/antag-ooc.dm +++ b/code/modules/admin/verbs/antag-ooc.dm @@ -3,7 +3,7 @@ set name = "AOOC" set desc = "Antagonist OOC" - var/is_admin = check_rights(R_ADMIN|R_MOD, show_msg = 0) + var/is_admin = check_rights(R_ADMIN|R_MOD|R_EVENT, show_msg = 0) var/is_antag = usr.mind && usr.mind.special_role if(!is_antag && !is_admin) // Non-antagonists and non-admins have no business using this. @@ -30,7 +30,7 @@ var/player_display = (is_admin && !is_antag) ? "[display_name]([usr.client.holder.rank])" : display_name for(var/mob/M in mob_list) - if(check_rights(R_ADMIN|R_MOD, 0, M)) // Staff can see AOOC unconditionally, and with more details. + if(check_rights(R_ADMIN|R_MOD|R_EVENT, 0, M)) // Staff can see AOOC unconditionally, and with more details. to_chat(M, "[create_text_tag("aooc", "Antag-OOC:", M.client)] [get_options_bar(src, 0, 1, 1)]([admin_jump_link(usr, M.client.holder)]): [msg]") else if(M.client) // Players can only see AOOC if observing, or if they are an antag type allowed to use AOOC. var/datum/antagonist/A = null diff --git a/code/modules/admin/verbs/atmosdebug.dm b/code/modules/admin/verbs/atmosdebug.dm index 653b62ddee..2f7d65db05 100644 --- a/code/modules/admin/verbs/atmosdebug.dm +++ b/code/modules/admin/verbs/atmosdebug.dm @@ -28,7 +28,7 @@ to_chat(usr, "Checking for overlapping pipes...") next_turf: - for(var/turf/T in turfs) + for(var/turf/T in world) for(var/dir in cardinal) var/list/connect_types = list(1 = 0, 2 = 0, 3 = 0) for(var/obj/machinery/atmospherics/pipe in T) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index efcd78b450..1bbb72fd99 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -303,7 +303,7 @@ set name = "Assume direct control" set desc = "Direct intervention" - if(!check_rights(R_DEBUG|R_ADMIN)) return + if(!check_rights(R_DEBUG|R_ADMIN|R_EVENT)) return if(M.ckey) if(alert("This mob is being controlled by [M.ckey]. Are you sure you wish to assume control of it? [M.ckey] will be made a ghost.",,"Yes","No") != "Yes") return @@ -539,7 +539,7 @@ Pump.air2.gas["nitrogen"] = 3750 //The contents of 2 canisters. Pump.air2.temperature = 50 Pump.air2.update_values() - Pump.use_power=1 + Pump.update_use_power(USE_POWER_IDLE) Pump.target_pressure = 4500 Pump.update_icon() diff --git a/code/modules/admin/verbs/fps.dm b/code/modules/admin/verbs/fps.dm new file mode 100644 index 0000000000..fbafc004db --- /dev/null +++ b/code/modules/admin/verbs/fps.dm @@ -0,0 +1,23 @@ +//Merged Doohl's and the existing ticklag as they both had good elements about them ~ +//Replaces the old Ticklag verb, fps is easier to understand +/client/proc/set_server_fps() + set category = "Debug" + set name = "Set Server FPS" + set desc = "Sets game speed in frames-per-second. Can potentially break the game" + + if(!check_rights(R_DEBUG)) + return + + var/new_fps = round(input("Sets game frames-per-second. Can potentially break the game (default: [config.fps])", "FPS", world.fps) as num|null) + if(new_fps <= 0) + to_chat(src, "Error: set_server_fps(): Invalid world.fps value. No changes made.") + return + if(new_fps > config.fps * 1.5) + if(alert(src, "You are setting fps to a high value:\n\t[new_fps] frames-per-second\n\tconfig.fps = [config.fps]", "Warning!", "Confirm", "ABORT-ABORT-ABORT") != "Confirm") + return + + var/msg = "[key_name(src)] has modified world.fps to [new_fps]" + log_admin(msg, 0) + message_admins(msg, 0) + world.change_fps(new_fps) + feedback_add_details("admin_verb", "SETFPS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/grief_fixers.dm b/code/modules/admin/verbs/grief_fixers.dm index 62534a246d..b8815876b2 100644 --- a/code/modules/admin/verbs/grief_fixers.dm +++ b/code/modules/admin/verbs/grief_fixers.dm @@ -2,7 +2,7 @@ set category = "Admin" set name = "Fix Atmospherics Grief" - if(!check_rights(R_ADMIN|R_DEBUG)) return + if(!check_rights(R_ADMIN|R_DEBUG|R_EVENT)) return if(alert("WARNING: Executing this command will perform a full reset of atmosphere. All pipelines will lose any gas that may be in them, and all zones will be reset to contain air mix as on roundstart. The supermatter engine will also be stopped (to prevent overheat due to removal of coolant). Do not use unless the station is suffering serious atmospheric issues due to grief or bug.", "Full Atmosphere Reboot", "No", "Yes") == "No") @@ -38,7 +38,7 @@ unsorted_overlays |= gas_data.tile_overlay[id] - for(var/turf/simulated/T in turfs) + for(var/turf/simulated/T in world) T.air = null T.overlays.Remove(unsorted_overlays) T.zone = null diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 5dd933abef..12e0bd6d96 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -139,7 +139,7 @@ var/list/debug_verbs = list ( ,/client/proc/cmd_assume_direct_control ,/client/proc/jump_to_dead_group ,/client/proc/startSinglo - ,/client/proc/ticklag + ,/client/proc/set_server_fps ,/client/proc/cmd_admin_grantfullaccess ,/client/proc/kaboom ,/client/proc/cmd_admin_areatest diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index d018c6c475..aec9db7e81 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -20,7 +20,7 @@ msg = "[bicon(cross)] PRAY: [key_name(src, 1)] (?) (PP) (VV) (SM) ([admin_jump_link(src, src)]) (CA) (SC) (SMITE): [msg]" for(var/client/C in admins) - if(R_ADMIN & C.holder.rights) + if(R_ADMIN|R_EVENT & C.holder.rights) if(C.is_preference_enabled(/datum/client_preference/admin/show_chat_prayers)) to_chat(C,msg) C << 'sound/effects/ding.ogg' @@ -32,13 +32,13 @@ /proc/CentCom_announce(var/msg, var/mob/Sender, var/iamessage) msg = "[uppertext(using_map.boss_short)]M[iamessage ? " IA" : ""]:[key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, src)]) (CA) (BSA) (RPLY): [msg]" for(var/client/C in admins) - if(R_ADMIN & C.holder.rights) + if(R_ADMIN|R_EVENT & C.holder.rights) to_chat(C,msg) C << 'sound/machines/signal.ogg' /proc/Syndicate_announce(var/msg, var/mob/Sender) msg = "ILLEGAL:[key_name(Sender, 1)] (PP) (VV) (SM) ([admin_jump_link(Sender, src)]) (CA) (BSA) (RPLY): [msg]" for(var/client/C in admins) - if(R_ADMIN & C.holder.rights) + if(R_ADMIN|R_EVENT & C.holder.rights) to_chat(C,msg) C << 'sound/machines/signal.ogg' \ No newline at end of file diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 66cb6aaccf..73a8e7bc5b 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -131,7 +131,7 @@ return var/msg = input("Message:", text("Enter the text you wish to appear to your target:")) as text - if(!(msg[1] == "<" && msg[length(msg)] == ">")) //You can use HTML but only if the whole thing is HTML. Tries to prevent admin 'accidents'. + if(msg && !(msg[1] == "<" && msg[length(msg)] == ">")) //You can use HTML but only if the whole thing is HTML. Tries to prevent admin 'accidents'. msg = sanitize(msg) if( !msg ) @@ -147,10 +147,10 @@ /client/proc/cmd_admin_godmode(mob/M as mob in mob_list) set category = "Special Verbs" set name = "Godmode" - + if(!holder) return - + M.status_flags ^= GODMODE to_chat(usr, " Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]") @@ -219,7 +219,7 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0) if(!holder) return - + var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") if(confirm != "Yes") return log_admin("[key_name(src)] has added a random AI law.") @@ -266,10 +266,10 @@ Ccomp's first proc. set category = "Special Verbs" set name = "Allow player to respawn" set desc = "Let's the player bypass the wait to respawn or allow them to re-enter their corpse." - + if(!holder) return - + var/list/ghosts= get_ghosts(1,1) var/target = input("Please, select a ghost!", "COME BACK TO LIFE!", null, null) as null|anything in ghosts @@ -332,10 +332,10 @@ Ccomp's first proc. set category = "Server" set name = "Toggle antagHUD Restrictions" set desc = "Restricts players that have used antagHUD from being able to join this round." - + if(!holder) return - + var/action="" if(config.antag_hud_restricted) for(var/mob/observer/dead/g in get_ghosts()) @@ -365,16 +365,22 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "Spawn Character" set desc = "(Re)Spawn a client's loaded character." - + if(!holder) return - //I frontload all the questions so we don't have a half-done process while you're reading. var/client/picked_client = input(src, "Please specify which client's character to spawn.", "Client", "") as null|anything in GLOB.clients if(!picked_client) return - var/location = alert(src,"Please specify where to spawn them.", "Location", "Right Here", "Arrivals", "Cancel") + respawn_character_proper(picked_client) + +/client/proc/respawn_character_proper(client/picked_client) + if(!istype(picked_client)) + return + + //I frontload all the questions so we don't have a half-done process while you're reading. + var/location = alert(src, "Please specify where to spawn them.", "Location", "Right Here", "Arrivals", "Cancel") if(location == "Cancel" || !location) return @@ -445,15 +451,17 @@ Traitors and the like can also be revived with the previous role mostly intact. var/mob/living/carbon/human/new_character var/spawnloc + var/sparks //Where did you want to spawn them? switch(location) if("Right Here") //Spawn them on your turf - if(!src.mob) - to_chat(src, "You can't use 'Right Here' when you are not 'Right Anywhere'!") - return - spawnloc = get_turf(src.mob) + sparks = alert(src,"Sparks like they teleported in?", "Showy", "Yes", "No", "Cancel") + if(sparks == "Cancel") + return + if(sparks == "No") + sparks = FALSE if("Arrivals") //Spawn them at a latejoin spawnpoint spawnloc = pick(latejoin) @@ -468,6 +476,14 @@ Traitors and the like can also be revived with the previous role mostly intact. return new_character = new(spawnloc) + + if(sparks) + anim(spawnloc,new_character,'icons/mob/mob.dmi',,"phasein",,new_character.dir) + playsound(spawnloc, "sparks", 50, 1) + var/datum/effect/effect/system/spark_spread/spk = new(new_character) + spk.set_up(5, 0, new_character) + spk.attach(new_character) + spk.start() //We were able to spawn them, right? if(!new_character) @@ -526,7 +542,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!holder) return - + var/input = sanitize(input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null) if(!input) return @@ -555,7 +571,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!holder) return - + if(!mob) return if(!istype(M)) @@ -827,10 +843,12 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!holder) return + var/view = src.view if(view == world.view) view = input("Select view range:", "FUCK YE", 7) in list(1,2,3,4,5,6,7,8,9,10,11,12,13,14,128) else view = world.view + mob.set_viewsize(view) log_admin("[key_name(usr)] changed their view range to [view].") //message_admins("[key_name_admin(usr)] changed their view range to [view].", 1) //why? removed by order of XSI @@ -968,7 +986,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set desc = "Removes a player from the round as if they'd cryo'd." set popup_menu = FALSE - if(!check_rights(R_ADMIN)) + if(!check_rights(R_ADMIN|R_EVENT)) return if(!M) diff --git a/code/modules/admin/verbs/ticklag.dm b/code/modules/admin/verbs/ticklag.dm deleted file mode 100644 index 3c34f0f35a..0000000000 --- a/code/modules/admin/verbs/ticklag.dm +++ /dev/null @@ -1,24 +0,0 @@ -//Merged Doohl's and the existing ticklag as they both had good elements about them ~Carn - -/client/proc/ticklag() - set category = "Debug" - set name = "Set Ticklag" - set desc = "Sets a new tick lag. Recommend you don't mess with this too much! Stable, time-tested ticklag value is 0.9" - - if(!check_rights(R_DEBUG)) return - - var/newtick = input("Sets a new tick lag. Please don't mess with this too much! The stable, time-tested ticklag value is 0.9","Lag of Tick", world.tick_lag) as num|null - //I've used ticks of 2 before to help with serious singulo lags - if(newtick && newtick <= 2 && newtick > 0) - log_admin("[key_name(src)] has modified world.tick_lag to [newtick]", 0) - message_admins("[key_name(src)] has modified world.tick_lag to [newtick]", 0) - world.tick_lag = newtick - feedback_add_details("admin_verb","TICKLAG") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - - switch(alert("Enable Tick Compensation?","Tick Comp is currently: [config.Tickcomp]","Yes","No")) - if("Yes") config.Tickcomp = 1 - else config.Tickcomp = 0 - else - to_chat(src, "Error: ticklag(): Invalid world.ticklag value. No changes made.") - - diff --git a/code/modules/admin/view_variables/modify_variables.dm b/code/modules/admin/view_variables/modify_variables.dm index 8878318fd6..1e3aef04bd 100644 --- a/code/modules/admin/view_variables/modify_variables.dm +++ b/code/modules/admin/view_variables/modify_variables.dm @@ -310,6 +310,13 @@ GLOBAL_PROTECT(VVpixelmovement) if(!variable) return + if(variable in GLOB.VVpixelmovement) + if(!check_rights(R_DEBUG)) + return + var/prompt = alert(src, "Editing this var may irreparably break tile gliding for the rest of the round. THIS CAN'T BE UNDONE", "DANGER", "ABORT ", "Continue", " ABORT") + if (prompt != "Continue") + return + if(!O.can_vv_get(variable)) return diff --git a/code/modules/admin/view_variables/topic.dm b/code/modules/admin/view_variables/topic.dm index 20b1e24ae4..b524ade4b2 100644 --- a/code/modules/admin/view_variables/topic.dm +++ b/code/modules/admin/view_variables/topic.dm @@ -68,7 +68,7 @@ href_list["datumrefresh"] = href_list["mob_player_panel"] else if(href_list["give_spell"]) - if(!check_rights(R_ADMIN|R_FUN)) return + if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return var/mob/M = locate(href_list["give_spell"]) if(!istype(M)) @@ -79,7 +79,7 @@ href_list["datumrefresh"] = href_list["give_spell"] else if(href_list["give_modifier"]) - if(!check_rights(R_ADMIN|R_FUN|R_DEBUG)) + if(!check_rights(R_ADMIN|R_FUN|R_DEBUG|R_EVENT)) return var/mob/living/M = locate(href_list["give_modifier"]) @@ -91,7 +91,7 @@ href_list["datumrefresh"] = href_list["give_modifier"] else if(href_list["give_disease2"]) - if(!check_rights(R_ADMIN|R_FUN)) return + if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return var/mob/M = locate(href_list["give_disease2"]) if(!istype(M)) @@ -134,7 +134,7 @@ href_list["datumrefresh"] = href_list["build_mode"] else if(href_list["drop_everything"]) - if(!check_rights(R_DEBUG|R_ADMIN)) return + if(!check_rights(R_DEBUG|R_ADMIN|R_EVENT)) return var/mob/M = locate(href_list["drop_everything"]) if(!istype(M)) @@ -466,7 +466,7 @@ M.regenerate_icons() else if(href_list["adjustDamage"] && href_list["mobToDamage"]) - if(!check_rights(R_DEBUG|R_ADMIN|R_FUN)) return + if(!check_rights(R_DEBUG|R_ADMIN|R_FUN|R_EVENT)) return var/mob/living/L = locate(href_list["mobToDamage"]) if(!istype(L)) return diff --git a/code/modules/ai/_defines.dm b/code/modules/ai/_defines.dm index e94d26b3c3..7b49f18ddb 100644 --- a/code/modules/ai/_defines.dm +++ b/code/modules/ai/_defines.dm @@ -20,6 +20,11 @@ #define MOVEMENT_FAILED 0 // Move() returned false for whatever reason and the mob didn't move. #define MOVEMENT_SUCCESSFUL 1 // Move() returned true and the mob hopefully moved. +// Results of pre-attack checks +#define ATTACK_ON_COOLDOWN -1 // Recently attacked and needs to try again soon. +#define ATTACK_FAILED 0 // Something else went wrong! Maybe they moved away! +#define ATTACK_SUCCESSFUL 1 // We attacked (or tried to, misses count too) + // Reasons for targets to not be valid. Based on why, the AI responds differently. #define AI_TARGET_VALID 0 // We can fight them. #define AI_TARGET_INVIS 1 // They were in field of view but became invisible. Switch to STANCE_BLINDFIGHT if no other viable targets exist. diff --git a/code/modules/ai/aI_holder_subtypes/slime_xenobio_ai.dm b/code/modules/ai/aI_holder_subtypes/slime_xenobio_ai.dm index 019d806698..743e2b405c 100644 --- a/code/modules/ai/aI_holder_subtypes/slime_xenobio_ai.dm +++ b/code/modules/ai/aI_holder_subtypes/slime_xenobio_ai.dm @@ -133,7 +133,7 @@ return rabid = TRUE my_slime.update_mood() - my_slime.visible_message(span("danger", "\The [src] enrages!")) + my_slime.visible_message(span("danger", "\The [my_slime] enrages!")) // Called when using a pacification agent (or it's Kendrick being initalized). /datum/ai_holder/simple_mob/xenobio_slime/proc/pacify() diff --git a/code/modules/ai/ai_holder.dm b/code/modules/ai/ai_holder.dm index c1638d207a..aadcdaa9e2 100644 --- a/code/modules/ai/ai_holder.dm +++ b/code/modules/ai/ai_holder.dm @@ -103,15 +103,11 @@ // 'Tactical' processes such as moving a step, meleeing an enemy, firing a projectile, and other fairly cheap actions that need to happen quickly. /datum/ai_holder/proc/handle_tactics() - if(busy) - return handle_special_tactic() handle_stance_tactical() // 'Strategical' processes that are more expensive on the CPU and so don't get run as often as the above proc, such as A* pathfinding or robust targeting. /datum/ai_holder/proc/handle_strategicals() - if(busy) - return handle_special_strategical() handle_stance_strategical() diff --git a/code/modules/ai/ai_holder_combat.dm b/code/modules/ai/ai_holder_combat.dm index 65fd1785b1..64dfa7d17e 100644 --- a/code/modules/ai/ai_holder_combat.dm +++ b/code/modules/ai/ai_holder_combat.dm @@ -70,21 +70,21 @@ /datum/ai_holder/proc/melee_attack(atom/A) pre_melee_attack(A) . = holder.IAttack(A) - if(.) + if(. == ATTACK_SUCCESSFUL) post_melee_attack(A) // Ditto. /datum/ai_holder/proc/ranged_attack(atom/A) pre_ranged_attack(A) . = holder.IRangedAttack(A) - if(.) + if(. == ATTACK_SUCCESSFUL) post_ranged_attack(A) // Most mobs probably won't have this defined but we don't care. /datum/ai_holder/proc/special_attack(atom/movable/AM) pre_special_attack(AM) . = holder.ISpecialAttack(AM) - if(.) + if(. == ATTACK_SUCCESSFUL) post_special_attack(AM) // Called when within striking/shooting distance, however cooldown is not considered. @@ -218,7 +218,6 @@ var/dir_to_target = get_dir(holder, target_atom) holder.face_atom(target_atom) - ai_log("breakthrough() : Exiting", AI_LOG_DEBUG) // Sometimes the mob will try to hit something diagonally, and generally this fails. // So instead we will try two more times with some adjustments if the attack fails. @@ -274,32 +273,32 @@ for(var/obj/structure/window/W in problem_turf) if(W.dir == reverse_dir[holder.dir]) // So that windows get smashed in the right order ai_log("destroy_surroundings() : Attacking side window.", AI_LOG_INFO) - return holder.IAttack(W) + return melee_attack(W) else if(W.is_fulltile()) ai_log("destroy_surroundings() : Attacking full tile window.", AI_LOG_INFO) - return holder.IAttack(W) + return melee_attack(W) // Kill hull shields in the way. for(var/obj/effect/energy_field/shield in problem_turf) if(shield.density) // Don't attack shields that are already down. ai_log("destroy_surroundings() : Attacking hull shield.", AI_LOG_INFO) - return holder.IAttack(shield) + return melee_attack(shield) // Kill common obstacle in the way like tables. var/obj/structure/obstacle = locate(/obj/structure, problem_turf) if(istype(obstacle, /obj/structure/window) || istype(obstacle, /obj/structure/closet) || istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/grille)) ai_log("destroy_surroundings() : Attacking generic structure.", AI_LOG_INFO) - return holder.IAttack(obstacle) + return melee_attack(obstacle) for(var/obj/machinery/door/D in problem_turf) // Required since firelocks take up the same turf. if(D.density) ai_log("destroy_surroundings() : Attacking closed door.", AI_LOG_INFO) - return holder.IAttack(D) + return melee_attack(D) ai_log("destroy_surroundings() : Exiting due to nothing to attack.", AI_LOG_INFO) - return FALSE // Nothing to attack. + return ATTACK_FAILED // Nothing to attack. // Override for special behaviour. /datum/ai_holder/proc/can_violently_breakthrough() - return violent_breakthrough \ No newline at end of file + return violent_breakthrough diff --git a/code/modules/ai/ai_holder_movement.dm b/code/modules/ai/ai_holder_movement.dm index 58b8c9d5ee..eb465dec5d 100644 --- a/code/modules/ai/ai_holder_movement.dm +++ b/code/modules/ai/ai_holder_movement.dm @@ -9,13 +9,14 @@ var/home_low_priority = FALSE // If true, the mob will not go home unless it has nothing better to do, e.g. its following someone. var/max_home_distance = 3 // How far the mob can go away from its home before being told to go_home(). // Note that there is a 'BYOND cap' of 14 due to limitations of get_/step_to(). - // Wandering. var/wander = FALSE // If true, the mob will randomly move in the four cardinal directions when idle. var/wander_delay = 0 // How many ticks until the mob can move a tile in handle_wander_movement(). var/base_wander_delay = 2 // What the above var gets set to when it wanders. Note that a tick happens every half a second. var/wander_when_pulled = FALSE // If the mob will refrain from wandering if someone is pulling it. + // Breakthrough + var/failed_breakthroughs = 0 // How many times we've failed to breakthrough something lately /datum/ai_holder/proc/walk_to_destination() ai_log("walk_to_destination() : Entering.",AI_LOG_TRACE) @@ -90,7 +91,9 @@ // step_to(holder, A) if(holder.IMove(get_step_to(holder, A)) == MOVEMENT_FAILED) ai_log("walk_path() : Failed to move, attempting breakthrough.", AI_LOG_INFO) - breakthrough(A) // We failed to move, time to smash things. + if(!breakthrough(A) && failed_breakthroughs++ >= 5) // We failed to move, time to smash things. + give_up_movement() + failed_breakthroughs = 0 return if(move_once() == FALSE) // Start walking the path. @@ -106,7 +109,9 @@ ai_log("walk_path() : Going to IMove().", AI_LOG_TRACE) if(holder.IMove(get_step_to(holder, A)) == MOVEMENT_FAILED ) ai_log("walk_path() : Failed to move, attempting breakthrough.", AI_LOG_INFO) - breakthrough(A) // We failed to move, time to smash things. + if(!breakthrough(A) && failed_breakthroughs++ >= 5) // We failed to move, time to smash things. + give_up_movement() + failed_breakthroughs = 0 ai_log("walk_path() : Exited.", AI_LOG_TRACE) diff --git a/code/modules/ai/interfaces.dm b/code/modules/ai/interfaces.dm index 59ffbeea72..b4323782d3 100644 --- a/code/modules/ai/interfaces.dm +++ b/code/modules/ai/interfaces.dm @@ -8,7 +8,7 @@ /mob/living/simple_mob/IAttack(atom/A) if(!canClick()) // Still on cooldown from a "click". - return FALSE + return ATTACK_ON_COOLDOWN return attack_target(A) // This will set click cooldown. /mob/living/proc/IRangedAttack(atom/A) @@ -16,7 +16,7 @@ /mob/living/simple_mob/IRangedAttack(atom/A) if(!canClick()) // Still on cooldown from a "click". - return FALSE + return ATTACK_ON_COOLDOWN return shoot_target(A) // Test if the AI is allowed to attempt a ranged attack. diff --git a/code/modules/artifice/deadringer.dm b/code/modules/artifice/deadringer.dm index bdac793daf..3e95152528 100644 --- a/code/modules/artifice/deadringer.dm +++ b/code/modules/artifice/deadringer.dm @@ -67,7 +67,7 @@ if(timer > 0) timer-- if(timer == 20) - uncloak() + reveal() if(corpse) new /obj/effect/effect/smoke/chem(corpse.loc) qdel(corpse) @@ -86,7 +86,7 @@ makeacorpse(watchowner) return -/obj/item/weapon/deadringer/proc/uncloak() +/obj/item/weapon/deadringer/proc/reveal() if(watchowner) watchowner.alpha = 255 playsound(get_turf(src), 'sound/effects/uncloak.ogg', 35, 1, -1) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 04dadddc04..b5851ab4c6 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -13,7 +13,7 @@ var/secured = 1 var/list/attached_overlays = null var/obj/item/device/assembly_holder/holder = null - var/cooldown = 0//To prevent spam + var/cooldown = FALSE //To prevent spam var/wires = WIRE_RECEIVE | WIRE_PULSE var/const/WIRE_RECEIVE = 1 //Allows Pulsed(0) to call Activate() @@ -22,78 +22,45 @@ var/const/WIRE_RADIO_RECEIVE = 8 //Allows Pulsed(1) to call Activate() var/const/WIRE_RADIO_PULSE = 16 //Allows Pulse(1) to send a radio message -/obj/item/device/assembly/proc/activate() //What the device does when turned on +/obj/item/device/assembly/proc/holder_movement() return -/obj/item/device/assembly/proc/pulsed(var/radio = 0) //Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs - return +/obj/item/device/assembly/proc/process_cooldown() + if(cooldown) + return FALSE + cooldown = TRUE + VARSET_IN(src, cooldown, FALSE, 2 SECONDS) + return TRUE -/obj/item/device/assembly/proc/pulse(var/radio = 0) //Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct - return - -/obj/item/device/assembly/proc/toggle_secure() //Code that has to happen when the assembly is un\secured goes here - return - -/obj/item/device/assembly/proc/attach_assembly(var/obj/A, var/mob/user) //Called when an assembly is attacked by another - return - -/obj/item/device/assembly/proc/process_cooldown() //Called via spawn(10) to have it count down the cooldown var - return - -/obj/item/device/assembly/proc/holder_movement() //Called when the holder is moved - return - -/obj/item/device/assembly/interact(mob/user as mob) //Called when attack_self is called - return - - -/obj/item/device/assembly/process_cooldown() - cooldown-- - if(cooldown <= 0) return 0 - spawn(10) - process_cooldown() - return 1 - - -/obj/item/device/assembly/pulsed(var/radio = 0) +/obj/item/device/assembly/proc/pulsed(var/radio = 0) if(holder && (wires & WIRE_RECEIVE)) activate() if(radio && (wires & WIRE_RADIO_RECEIVE)) activate() return 1 - -/obj/item/device/assembly/pulse(var/radio = 0) +/obj/item/device/assembly/proc/pulse(var/radio = 0) if(holder && (wires & WIRE_PULSE)) holder.process_activation(src, 1, 0) if(holder && (wires & WIRE_PULSE_SPECIAL)) holder.process_activation(src, 0, 1) -// if(radio && (wires & WIRE_RADIO_PULSE)) - //Not sure what goes here quite yet send signal? return 1 +/obj/item/device/assembly/proc/activate() + if(!secured || !process_cooldown()) + return FALSE + return TRUE -/obj/item/device/assembly/activate() - if(!secured || (cooldown > 0)) return 0 - cooldown = 2 - spawn(10) - process_cooldown() - return 1 - - -/obj/item/device/assembly/toggle_secure() +/obj/item/device/assembly/proc/toggle_secure() secured = !secured update_icon() return secured - -/obj/item/device/assembly/attach_assembly(var/obj/item/device/assembly/A, var/mob/user) +/obj/item/device/assembly/proc/attach_assembly(var/obj/item/device/assembly/A, var/mob/user) holder = new/obj/item/device/assembly_holder(get_turf(src)) if(holder.attach(A,src,user)) to_chat(user, "You attach \the [A] to \the [src]!") - return 1 - return 0 - + return TRUE /obj/item/device/assembly/attackby(obj/item/weapon/W as obj, mob/user as mob) if(isassembly(W)) @@ -107,14 +74,10 @@ else to_chat(user, "\The [src] can now be attached!") return - ..() - return - + return ..() /obj/item/device/assembly/process() - STOP_PROCESSING(SSobj, src) - return - + return PROCESS_KILL /obj/item/device/assembly/examine(mob/user) ..(user) @@ -132,7 +95,6 @@ interact(user) return 1 - /obj/item/device/assembly/interact(mob/user as mob) return //HTML MENU FOR WIRES GOES HERE @@ -140,41 +102,3 @@ if(istype(loc, /obj/item/device/assembly_holder)) return loc.nano_host() return ..() - -/* - var/small_icon_state = null//If this obj will go inside the assembly use this for icons - var/list/small_icon_state_overlays = null//Same here - var/obj/holder = null - var/cooldown = 0//To prevent spam - - proc - Activate()//Called when this assembly is pulsed by another one - Process_cooldown()//Call this via spawn(10) to have it count down the cooldown var - Attach_Holder(var/obj/H, var/mob/user)//Called when an assembly holder attempts to attach, sets src's loc in here - - - Activate() - if(cooldown > 0) - return 0 - cooldown = 2 - spawn(10) - Process_cooldown() - //Rest of code here - return 0 - - - Process_cooldown() - cooldown-- - if(cooldown <= 0) return 0 - spawn(10) - Process_cooldown() - return 1 - - - Attach_Holder(var/obj/H, var/mob/user) - if(!H) return 0 - if(!H.IsAssemblyHolder()) return 0 - //Remember to have it set its loc somewhere in here - - -*/ diff --git a/code/modules/assembly/helpers.dm b/code/modules/assembly/helpers.dm index bfecbd8a41..cc3100f772 100644 --- a/code/modules/assembly/helpers.dm +++ b/code/modules/assembly/helpers.dm @@ -27,18 +27,3 @@ if(istype(O, /obj/item/device/assembly/timer)) return 1 return 0 - -/* -Name: IsSpecialAssembly -Desc: If true is an object that can be attached to an assembly holder but is a special thing like a phoron can or door -*/ - -/obj/proc/IsSpecialAssembly() - return 0 - -/* -Name: IsAssemblyHolder -Desc: If true is an object that can hold an assemblyholder object -*/ -/obj/proc/IsAssemblyHolder() - return 0 \ No newline at end of file diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 441367c80d..c95d2869e9 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -14,76 +14,48 @@ var/obj/item/device/assembly/a_right = null var/obj/special_assembly = null -/obj/item/device/assembly_holder/proc/attach(var/obj/item/device/D, var/obj/item/device/D2, var/mob/user) - return +/obj/item/device/assembly_holder/proc/attach(var/obj/item/device/assembly/D, var/obj/item/device/assembly/D2, var/mob/user) + if(!D || !D2) + return FALSE + + if(!istype(D) || !istype(D2)) + return FALSE -/obj/item/device/assembly_holder/proc/attach_special(var/obj/O, var/mob/user) - return - -/obj/item/device/assembly_holder/proc/process_activation(var/obj/item/device/D) - return - -/obj/item/device/assembly_holder/proc/detached() - return - - -/obj/item/device/assembly_holder/IsAssemblyHolder() - return 1 - - -/obj/item/device/assembly_holder/attach(var/obj/item/device/D, var/obj/item/device/D2, var/mob/user) - if((!D)||(!D2)) return 0 - if((!isassembly(D))||(!isassembly(D2))) return 0 - if((D:secured)||(D2:secured)) return 0 + if(D.secured || D2.secured) + return FALSE + if(user) user.remove_from_mob(D) user.remove_from_mob(D2) - D:holder = src - D2:holder = src - D.loc = src - D2.loc = src + + D.holder = src + D2.holder = src + D.forceMove(src) + D2.forceMove(src) a_left = D a_right = D2 name = "[D.name]-[D2.name] assembly" update_icon() - usr.put_in_hands(src) + user.put_in_hands(src) - return 1 + return TRUE - -/obj/item/device/assembly_holder/attach_special(var/obj/O, var/mob/user) - if(!O) return - if(!O.IsSpecialAssembly()) return 0 - -/* if(O:Attach_Holder()) - special_assembly = O - update_icon() - src.name = "[a_left.name] [a_right.name] [special_assembly.name] assembly" -*/ +/obj/item/device/assembly_holder/proc/detached() return - /obj/item/device/assembly_holder/update_icon() - overlays.Cut() + cut_overlays() if(a_left) - overlays += "[a_left.icon_state]_left" + add_overlay("[a_left.icon_state]_left") for(var/O in a_left.attached_overlays) - overlays += "[O]_l" + add_overlay("[O]_l") if(a_right) - src.overlays += "[a_right.icon_state]_right" + add_overlay("[a_right.icon_state]_right") for(var/O in a_right.attached_overlays) - overlays += "[O]_r" + add_overlay("[O]_r") if(master) master.update_icon() -/* if(special_assembly) - special_assembly.update_icon() - if(special_assembly:small_icon_state) - src.overlays += special_assembly:small_icon_state - for(var/O in special_assembly:small_icon_state_overlays) - src.overlays += O -*/ - /obj/item/device/assembly_holder/examine(mob/user) ..(user) if ((in_range(src, user) || src.loc == user)) @@ -91,65 +63,40 @@ to_chat(user, "\The [src] is ready!") else to_chat(user, "\The [src] can be attached!") - return - /obj/item/device/assembly_holder/HasProximity(atom/movable/AM as mob|obj) if(a_left) a_left.HasProximity(AM) if(a_right) a_right.HasProximity(AM) - if(special_assembly) - special_assembly.HasProximity(AM) - /obj/item/device/assembly_holder/Crossed(atom/movable/AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(AM.is_incorporeal()) + return if(a_left) a_left.Crossed(AM) if(a_right) a_right.Crossed(AM) - if(special_assembly) - special_assembly.Crossed(AM) - /obj/item/device/assembly_holder/on_found(mob/finder as mob) if(a_left) a_left.on_found(finder) if(a_right) a_right.on_found(finder) - if(special_assembly) - if(istype(special_assembly, /obj/item)) - var/obj/item/S = special_assembly - S.on_found(finder) - /obj/item/device/assembly_holder/Move() ..() if(a_left && a_right) a_left.holder_movement() a_right.holder_movement() -// if(special_assembly) -// special_assembly:holder_movement() - return - /obj/item/device/assembly_holder/attack_hand()//Perhapse this should be a holder_pickup proc instead, can add if needbe I guess if(a_left && a_right) a_left.holder_movement() a_right.holder_movement() -// if(special_assembly) -// special_assembly:Holder_Movement() ..() - return - -/obj/item/device/assembly_holder/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/device/assembly_holder/attackby(var/obj/item/weapon/W, var/mob/user) if(W.is_screwdriver()) if(!a_left || !a_right) to_chat(user, " BUG:Assembly part missing, please report this!") @@ -163,14 +110,10 @@ to_chat(user, "\The [src] can now be taken apart!") update_icon() return - else if(W.IsSpecialAssembly()) - attach_special(W, user) else ..() - return - -/obj/item/device/assembly_holder/attack_self(mob/user as mob) +/obj/item/device/assembly_holder/attack_self(var/mob/user) src.add_fingerprint(user) if(src.secured) if(!a_left || !a_right) @@ -188,20 +131,19 @@ a_right.attack_self(user) else var/turf/T = get_turf(src) - if(!T) return 0 + if(!T) + return 0 if(a_left) - a_left:holder = null - a_left.loc = T + a_left.holder = null + a_left.forceMove(T) if(a_right) - a_right:holder = null - a_right.loc = T - spawn(0) - qdel(src) - return + a_right.holder = null + a_right.forceMove(T) + qdel(src) - -/obj/item/device/assembly_holder/process_activation(var/obj/D, var/normal = 1, var/special = 1) - if(!D) return 0 +/obj/item/device/assembly_holder/proc/process_activation(var/obj/D, var/normal = 1) + if(!D) + return 0 if(!secured) visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*") if((normal) && (a_right) && (a_left)) @@ -211,42 +153,36 @@ a_left.pulsed(0) if(master) master.receive_signal() -// if(special && special_assembly) -// if(!special_assembly == D) -// special_assembly.dothings() return 1 - /obj/item/device/assembly_holder/hear_talk(mob/living/M as mob, msg, verb, datum/language/speaking) if(a_right) a_right.hear_talk(M,msg,verb,speaking) if(a_left) a_left.hear_talk(M,msg,verb,speaking) - - - /obj/item/device/assembly_holder/timer_igniter name = "timer-igniter assembly" - New() - ..() +/obj/item/device/assembly_holder/timer_igniter/New() + ..() - var/obj/item/device/assembly/igniter/ign = new(src) - ign.secured = 1 - ign.holder = src - var/obj/item/device/assembly/timer/tmr = new(src) - tmr.time=5 - tmr.secured = 1 - tmr.holder = src - START_PROCESSING(SSobj, tmr) - a_left = tmr - a_right = ign - secured = 1 - update_icon() - name = initial(name) + " ([tmr.time] secs)" + var/obj/item/device/assembly/igniter/ign = new(src) + ign.secured = 1 + ign.holder = src - loc.verbs += /obj/item/device/assembly_holder/timer_igniter/verb/configure + var/obj/item/device/assembly/timer/tmr = new(src) + tmr.time = 5 + tmr.secured = 1 + tmr.holder = src + + a_left = tmr + a_right = ign + secured = 1 + update_icon() + name = initial(name) + " ([tmr.time] secs)" + + loc.verbs += /obj/item/device/assembly_holder/timer_igniter/verb/configure /obj/item/device/assembly_holder/timer_igniter/detached() loc.verbs -= /obj/item/device/assembly_holder/timer_igniter/verb/configure diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index 88845d0651..5344d4b15b 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -9,7 +9,8 @@ wires = WIRE_RECEIVE /obj/item/device/assembly/igniter/activate() - if(!..()) return 0//Cooldown check + if(!..()) + return FALSE if(holder && istype(holder.loc,/obj/item/weapon/grenade/chem_grenade)) var/obj/item/weapon/grenade/chem_grenade/grenade = holder.loc @@ -28,13 +29,12 @@ s.set_up(3, 1, src) s.start() - return 1 + return TRUE -/obj/item/device/assembly/igniter/attack_self(mob/user as mob) +/obj/item/device/assembly/igniter/attack_self(var/mob/user) activate() add_fingerprint(user) - return /obj/item/device/assembly/igniter/is_hot() return TRUE \ No newline at end of file diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 75985f7822..2f10a91fda 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -13,124 +13,118 @@ var/on = 0 var/visible = 0 - var/obj/effect/beam/i_beam/first = null + var/list/i_beams = null /obj/item/device/assembly/infra/activate() - if(!..()) return 0//Cooldown check - on = !on - update_icon() - return 1 - + if(!..()) + return FALSE + on = !on + update_icon() + return TRUE /obj/item/device/assembly/infra/toggle_secure() secured = !secured - if(secured) - START_PROCESSING(SSobj, src) - else - on = 0 - if(first) qdel(first) - STOP_PROCESSING(SSobj, src) + if(!secured) + toggle_state(FALSE) update_icon() return secured +/obj/item/device/assembly/infra/proc/toggle_state(var/picked) + if(!isnull(picked)) + on = picked + else + on = !on + + if(secured && on) + START_PROCESSING(SSobj, src) + else + STOP_PROCESSING(SSobj, src) + QDEL_LIST_NULL(i_beams) + return on /obj/item/device/assembly/infra/update_icon() - overlays.Cut() - attached_overlays = list() + cut_overlays() + LAZYCLEARLIST(attached_overlays) if(on) - overlays += "infrared_on" - attached_overlays += "infrared_on" + add_overlay("infrared_on") + LAZYADD(attached_overlays, "infrared_on") if(holder) - holder.update_icon() - return + holder.update_icon(2) +/obj/item/device/assembly/infra/process() + if(!on && i_beams) + QDEL_LIST_NULL(i_beams) + return -/obj/item/device/assembly/infra/process()//Old code - if(!on) - if(first) - qdel(first) - return + if(!i_beams && secured && (istype(loc, /turf) || (holder && istype(holder.loc, /turf)))) + create_beams() - if((!(first) && (secured && (istype(loc, /turf) || (holder && istype(holder.loc, /turf)))))) - var/obj/effect/beam/i_beam/I = new /obj/effect/beam/i_beam((holder ? holder.loc : loc) ) +/obj/item/device/assembly/infra/proc/create_beams(var/limit = 8) + var/current_spot = get_turf(src) + for(var/i = 1 to limit) + var/obj/effect/beam/i_beam/I = new /obj/effect/beam/i_beam(current_spot) I.master = src I.density = 1 I.set_dir(dir) - step(I, I.dir) - if(I) - I.density = 0 - first = I - I.vis_spread(visible) - spawn(0) - if(I) - //to_world("infra: setting limit") - I.limit = 8 - //to_world("infra: processing beam \ref[I]") - I.process() - return - return - + if(!step(I, I.dir)) //Try to take a step in that direction + return //Couldn't, oh well, we hit a wall or something. Beam should qdel itself in it's Bump(). + I.density = 0 + i_beams |= I + I.visible = visible /obj/item/device/assembly/infra/attack_hand() - qdel(first) + QDEL_LIST_NULL(i_beams) ..() - return - /obj/item/device/assembly/infra/Move() var/t = dir ..() set_dir(t) - qdel(first) - return - + QDEL_LIST_NULL(i_beams) /obj/item/device/assembly/infra/holder_movement() - if(!holder) return 0 -// set_dir(holder.dir) - qdel(first) - return 1 - + if(!holder) + return FALSE + QDEL_LIST_NULL(i_beams) + return TRUE /obj/item/device/assembly/infra/proc/trigger_beam() - if((!secured)||(!on)||(cooldown > 0)) return 0 + if(!process_cooldown()) + return FALSE pulse(0) + QDEL_LIST_NULL(i_beams) //They will get recreated next process() if the situation is still appropriate if(!holder) visible_message("[bicon(src)] *beep* *beep*") - cooldown = 2 - spawn(10) - process_cooldown() - return - /obj/item/device/assembly/infra/interact(mob/user as mob)//TODO: change this this to the wire control panel - if(!secured) return + if(!secured) + return user.set_machine(src) var/dat = text("Infrared Laser\nStatus: []
\nVisibility: []
\n
", (on ? text("On", src) : text("Off", src)), (src.visible ? text("Visible", src) : text("Invisible", src))) dat += "

Refresh" dat += "

Close" user << browse(dat, "window=infra") onclose(user, "infra") - return - /obj/item/device/assembly/infra/Topic(href, href_list, state = deep_inventory_state) - if(..()) return 1 + if(..()) + return 1 + if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) usr << browse(null, "window=infra") onclose(usr, "infra") return if(href_list["state"]) - on = !(on) - update_icon() + toggle_state() if(href_list["visible"]) visible = !(visible) - spawn(0) - if(first) - first.vis_spread(visible) + for(var/ibeam in i_beams) + var/obj/effect/beam/i_beam/I = ibeam + I.visible = visible + CHECK_TICK if(href_list["close"]) usr << browse(null, "window=infra") @@ -139,18 +133,12 @@ if(usr) attack_self(usr) - return - - /obj/item/device/assembly/infra/verb/rotate_clockwise() set name = "Rotate Infrared Laser Clockwise" set category = "Object" set src in usr - src.set_dir(turn(src.dir, 270)) - return - - + set_dir(turn(dir, 270)) /***************************IBeam*********************************/ @@ -158,106 +146,37 @@ name = "i beam" icon = 'icons/obj/projectiles.dmi' icon_state = "ibeam" - var/obj/effect/beam/i_beam/next = null var/obj/item/device/assembly/infra/master = null - var/limit = null - var/visible = 0.0 - var/left = null - anchored = 1.0 + var/visible = 0 + anchored = 1 +/obj/effect/beam/i_beam/Initialize() + . = ..() + START_PROCESSING(SSobj, src) + +/obj/effect/beam/i_beam/Destroy() + STOP_PROCESSING(SSobj, src) + master = null + return ..() /obj/effect/beam/i_beam/proc/hit() - if(master) - master.trigger_beam() + master?.trigger_beam() qdel(src) - return - -/obj/effect/beam/i_beam/proc/vis_spread(v) - //to_world("i_beam \ref[src] : vis_spread") - visible = v - spawn(0) - if(next) - //to_world("i_beam \ref[src] : is next [next.type] \ref[next], calling spread") - next.vis_spread(v) - return - return /obj/effect/beam/i_beam/process() - - if((loc && loc.density) || !master) + if(loc?.density || !master) qdel(src) return - if(left > 0) - left-- - if(left < 1) - if(!(visible)) - invisibility = 101 - else - invisibility = 0 - else - invisibility = 0 - - - //to_world("now [src.left] left") - var/obj/effect/beam/i_beam/I = new /obj/effect/beam/i_beam(loc) - I.master = master - I.density = 1 - I.set_dir(dir) - //to_world("created new beam \ref[I] at [I.x] [I.y] [I.z]") - step(I, I.dir) - - if(I) - //to_world("step worked, now at [I.x] [I.y] [I.z]") - if(!(next)) - //to_world("no next") - I.density = 0 - //to_world("spreading") - I.vis_spread(visible) - next = I - spawn(0) - //to_world("limit = [limit] ") - if((I && limit > 0)) - I.limit = limit - 1 - //to_world("calling next process") - I.process() - return - else - //to_world("is a next: \ref[next], deleting beam \ref[I]") - qdel(I) - else - //to_world("step failed, deleting \ref[next]") - qdel(next) - spawn(10) - process() - return - return - /obj/effect/beam/i_beam/Bump() qdel(src) - return /obj/effect/beam/i_beam/Bumped() hit() - return -/obj/effect/beam/i_beam/Crossed(atom/movable/AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/effect/beam/i_beam/Crossed(var/atom/movable/AM) + if(AM.is_incorporeal()) + return if(istype(AM, /obj/effect/beam)) return - spawn(0) - hit() - return - return - -/obj/effect/beam/i_beam/Destroy() - . = ..() - if(master.first == src) - master.first = null - if(next && !next.gc_destroyed) - QDEL_NULL(next) + hit() \ No newline at end of file diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 0257b6cf87..c2fb202984 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -7,7 +7,7 @@ var/armed = 0 -/obj/item/device/assembly/mousetrap/examine(mob/user) +/obj/item/device/assembly/mousetrap/examine(var/mob/user) ..(user) if(armed) to_chat(user, "It looks like it's armed.") @@ -20,7 +20,7 @@ if(holder) holder.update_icon() -/obj/item/device/assembly/mousetrap/proc/triggered(mob/target as mob, var/type = "feet") +/obj/item/device/assembly/mousetrap/proc/triggered(var/mob/target, var/type = "feet") if(!armed) return var/obj/item/organ/external/affecting = null @@ -49,8 +49,7 @@ update_icon() pulse(0) - -/obj/item/device/assembly/mousetrap/attack_self(mob/living/user as mob) +/obj/item/device/assembly/mousetrap/attack_self(var/mob/living/user) if(!armed) to_chat(user, "You arm [src].") else @@ -68,8 +67,7 @@ update_icon() playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3) - -/obj/item/device/assembly/mousetrap/attack_hand(mob/living/user as mob) +/obj/item/device/assembly/mousetrap/attack_hand(var/mob/living/user) if(armed) if((CLUMSY in user.mutations) && prob(50)) var/which_hand = "l_hand" @@ -81,14 +79,9 @@ return ..() - -/obj/item/device/assembly/mousetrap/Crossed(AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/obj/item/device/assembly/mousetrap/Crossed(var/atom/movable/AM) + if(AM.is_incorporeal()) + return if(armed) if(ishuman(AM)) var/mob/living/carbon/H = AM @@ -100,8 +93,7 @@ triggered(AM) ..() - -/obj/item/device/assembly/mousetrap/on_found(mob/living/finder as mob) +/obj/item/device/assembly/mousetrap/on_found(var/mob/living/finder) if(armed) finder.visible_message("[finder] accidentally sets off [src], breaking their fingers.", \ "You accidentally trigger [src]!") @@ -109,19 +101,16 @@ return 1 //end the search! return 0 - -/obj/item/device/assembly/mousetrap/hitby(A as mob|obj) +/obj/item/device/assembly/mousetrap/hitby(var/atom/movable/A) if(!armed) return ..() visible_message("[src] is triggered by [A].") triggered(null) - /obj/item/device/assembly/mousetrap/armed icon_state = "mousetraparmed" armed = 1 - /obj/item/device/assembly/mousetrap/verb/hide_under() set src in oview(1) set name = "Hide" @@ -130,5 +119,5 @@ if(usr.stat) return - layer = TURF_LAYER+0.2 + layer = HIDING_LAYER to_chat(usr, "You hide [src].") \ No newline at end of file diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 2ac1fdf90f..a93bda4809 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -16,11 +16,11 @@ var/range = 2 /obj/item/device/assembly/prox_sensor/activate() - if(!..()) return 0//Cooldown check + if(!..()) + return FALSE timing = !timing update_icon() - return 0 - + return FALSE /obj/item/device/assembly/prox_sensor/toggle_secure() secured = !secured @@ -33,29 +33,22 @@ update_icon() return secured - /obj/item/device/assembly/prox_sensor/HasProximity(atom/movable/AM as mob|obj) if(!istype(AM)) log_debug("DEBUG: HasProximity called with [AM] on [src] ([usr]).") return - if (istype(AM, /obj/effect/beam)) return - if (!isobserver(AM) && AM.move_speed < 12) sense() - return - + if (istype(AM, /obj/effect/beam)) + return + if (!isobserver(AM) && AM.move_speed < 12) + sense() /obj/item/device/assembly/prox_sensor/proc/sense() + if((!holder && !secured) || !scanning || !process_cooldown()) + return FALSE var/turf/mainloc = get_turf(src) -// if(scanning && cooldown <= 0) -// mainloc.visible_message("[bicon(src)] *boop* *boop*", "*boop* *boop*") - if((!holder && !secured)||(!scanning)||(cooldown > 0)) return 0 pulse(0) if(!holder) mainloc.visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*") - cooldown = 2 - spawn(10) - process_cooldown() - return - /obj/item/device/assembly/prox_sensor/process() if(scanning) @@ -69,46 +62,35 @@ if(timing && time <= 0) timing = 0 toggle_scan() - time = 10 - return - + time = initial(time) /obj/item/device/assembly/prox_sensor/dropped() - spawn(0) - sense() - return - return - + sense() /obj/item/device/assembly/prox_sensor/proc/toggle_scan() - if(!secured) return 0 + if(!secured) + return FALSE scanning = !scanning update_icon() - return - /obj/item/device/assembly/prox_sensor/update_icon() - overlays.Cut() - attached_overlays = list() + cut_overlays() + LAZYCLEARLIST(attached_overlays) if(timing) - overlays += "prox_timing" - attached_overlays += "prox_timing" + add_overlay("prox_timing") + LAZYADD(attached_overlays, "prox_timing") if(scanning) - overlays += "prox_scanning" - attached_overlays += "prox_scanning" + add_overlay("prox_scanning") + LAZYADD(attached_overlays, "prox_scanning") if(holder) holder.update_icon() if(holder && istype(holder.loc,/obj/item/weapon/grenade/chem_grenade)) var/obj/item/weapon/grenade/chem_grenade/grenade = holder.loc grenade.primed(scanning) - return - /obj/item/device/assembly/prox_sensor/Move() ..() sense() - return - /obj/item/device/assembly/prox_sensor/interact(mob/user as mob)//TODO: Change this to the wires thingy if(!secured) @@ -123,11 +105,11 @@ dat += "

Close" user << browse(dat, "window=prox") onclose(user, "prox") - return - /obj/item/device/assembly/prox_sensor/Topic(href, href_list, state = deep_inventory_state) - if(..()) return 1 + if(..()) + return TRUE + if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) usr << browse(null, "window=prox") onclose(usr, "prox") @@ -156,6 +138,3 @@ if(usr) attack_self(usr) - - - return diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm index 55616a2b91..d3f518bbc8 100644 --- a/code/modules/assembly/shock_kit.dm +++ b/code/modules/assembly/shock_kit.dm @@ -13,7 +13,7 @@ ..() return -/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/assembly/shock_kit/attackby(var/obj/item/weapon/W, var/mob/user) if(W.is_wrench() && !status) var/turf/T = loc if(ismob(T)) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 448e0c9860..3d45fb4e62 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -17,33 +17,22 @@ var/datum/radio_frequency/radio_connection var/deadman = FALSE -/obj/item/device/assembly/signaler/New() - ..() - spawn(40) - set_frequency(frequency) - return - +/obj/item/device/assembly/signaler/Initialize() + . = ..() + set_frequency(frequency) /obj/item/device/assembly/signaler/activate() - if(cooldown > 0) return FALSE - cooldown = 2 - spawn(10) - process_cooldown() - + if(!process_cooldown()) + return FALSE signal() return TRUE /obj/item/device/assembly/signaler/update_icon() if(holder) holder.update_icon() - return -/obj/item/device/assembly/signaler/interact(mob/user as mob, flag1) +/obj/item/device/assembly/signaler/interact(var/mob/user) var/t1 = "-------" -// if ((src.b_stat && !( flag1 ))) -// t1 = text("-------
\nGreen Wire: []
\nRed Wire: []
\nBlue Wire: []
\n", (src.wires & 4 ? text("Cut Wire", src) : text("Mend Wire", src)), (src.wires & 2 ? text("Cut Wire", src) : text("Mend Wire", src)), (src.wires & 1 ? text("Cut Wire", src) : text("Mend Wire", src))) -// else -// t1 = "-------" Speaker: [src.listening ? "Engaged" : "Disengaged"]
var/dat = {" @@ -66,8 +55,6 @@ Code: "} user << browse(dat, "window=radio") onclose(user, "radio") - return - /obj/item/device/assembly/signaler/Topic(href, href_list, state = deep_inventory_state) if(..()) @@ -97,9 +84,7 @@ Code: if(usr) attack_self(usr) - return - -/obj/item/device/assembly/signaler/attackby(obj/item/weapon/W, mob/user, params) +/obj/item/device/assembly/signaler/attackby(var/obj/item/weapon/W, mob/user, params) if(issignaler(W)) var/obj/item/device/assembly/signaler/signaler2 = W if(secured && signaler2.secured) @@ -120,8 +105,6 @@ Code: signal.encryption = code signal.data["message"] = "ACTIVATE" radio_connection.post_signal(src, signal) - return - /obj/item/device/assembly/signaler/pulse(var/radio = 0) if(is_jammed(src)) @@ -134,7 +117,6 @@ Code: ..(radio) return TRUE - /obj/item/device/assembly/signaler/receive_signal(datum/signal/signal) if(!signal) return FALSE @@ -149,8 +131,6 @@ Code: if(!holder) for(var/mob/O in hearers(1, src.loc)) O.show_message("[bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2) - return - /obj/item/device/assembly/signaler/proc/set_frequency(new_frequency) if(!frequency) @@ -163,7 +143,6 @@ Code: radio_controller.remove_object(src, frequency) frequency = new_frequency radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT) - return /obj/item/device/assembly/signaler/process() if(!deadman) @@ -176,7 +155,6 @@ Code: STOP_PROCESSING(SSobj, src) else if(prob(5)) M.visible_message("[M]'s finger twitches a bit over [src]'s signal button!") - return /obj/item/device/assembly/signaler/verb/deadman_it() set src in usr diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 543d7d1801..0f981e29f9 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -14,14 +14,14 @@ /obj/item/device/assembly/timer/activate() - if(!..()) return 0//Cooldown check + if(!..()) + return FALSE timing = !timing update_icon() return 0 - /obj/item/device/assembly/timer/toggle_secure() secured = !secured if(secured) @@ -32,27 +32,25 @@ update_icon() return secured +/obj/item/device/assembly/timer/proc/set_state(var/state) + if(state && !timing) //Not running, starting though + START_PROCESSING(SSobj, src) + else if(timing && !state) //Running, stopping though + STOP_PROCESSING(SSobj, src) + timing = state /obj/item/device/assembly/timer/proc/timer_end() - if(!secured) return 0 + if(!secured) + return 0 pulse(0) if(!holder) visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*") - cooldown = 2 - spawn(10) - process_cooldown() - return - /obj/item/device/assembly/timer/process() - if(timing && (time > 0)) - time-- - if(timing && time <= 0) - timing = 0 + if(timing && time-- <= 0) + set_state(0) timer_end() time = 10 - return - /obj/item/device/assembly/timer/update_icon() overlays.Cut() @@ -87,7 +85,8 @@ return if(href_list["time"]) - timing = text2num(href_list["time"]) + var/new_timing = text2num(href_list["time"]) + set_state(new_timing) update_icon() if(href_list["tp"]) diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 0cf4b85665..8ebf8278a8 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -26,10 +26,10 @@ /obj/item/device/assembly/voice/attack_self(mob/user) - if(!user) return 0 + if(!user) + return FALSE activate() - return 1 - + return TRUE /obj/item/device/assembly/voice/toggle_secure() . = ..() diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 71746a9a9e..987d395992 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -26,7 +26,7 @@ /obj/machinery/gateway/centerstation density = 1 icon_state = "offcenter" - use_power = 1 + use_power = USE_POWER_IDLE //warping vars var/list/linked = list() @@ -165,7 +165,7 @@ obj/machinery/gateway/centerstation/process() /obj/machinery/gateway/centeraway density = 1 icon_state = "offcenter" - use_power = 0 + use_power = USE_POWER_OFF var/calibrated = 1 var/list/linked = list() //a list of the connected gateway chunks var/ready = 0 diff --git a/code/modules/catalogue/catalogue_data_vr.dm b/code/modules/catalogue/catalogue_data_vr.dm index 0c97e9ce00..4a117f018c 100644 --- a/code/modules/catalogue/catalogue_data_vr.dm +++ b/code/modules/catalogue/catalogue_data_vr.dm @@ -40,26 +40,11 @@ desc = "" value = CATALOGUER_REWARD_TRIVIAL -/datum/category_item/catalogue/fauna/xenohybrid - name = "Sapients - Xenomorph Hybrid" - desc = "" - value = CATALOGUER_REWARD_TRIVIAL - /datum/category_item/catalogue/fauna/zorren name = "Sapients - Zorren" desc = "" value = CATALOGUER_REWARD_TRIVIAL -/datum/category_item/catalogue/fauna/highzorren - name = "Sapients - Highlander Zorren" - desc = "" - value = CATALOGUER_REWARD_TRIVIAL - -/datum/category_item/catalogue/fauna/flatzorren - name = "Sapients - Flatlander Zorren" - desc = "" - value = CATALOGUER_REWARD_TRIVIAL - /datum/category_item/catalogue/fauna/shadekin name = "Sapients - Shadekin" desc = "" diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm index 0e2f2f9f21..ef64cd4acd 100644 --- a/code/modules/client/asset_cache.dm +++ b/code/modules/client/asset_cache.dm @@ -29,17 +29,9 @@ You can set verify to TRUE if you want send() to sleep until the client has the //This proc sends the asset to the client, but only if it needs it. //This proc blocks(sleeps) unless verify is set to false /proc/send_asset(var/client/client, var/asset_name, var/verify = TRUE) + client = CLIENT_FROM_VAR(client) // Will get client from a mob, or accept a client, or return null if(!istype(client)) - if(ismob(client)) - var/mob/M = client - if(M.client) - client = M.client - - else - return 0 - - else - return 0 + return 0 if(client.cache.Find(asset_name) || client.sending.Find(asset_name)) return 0 @@ -73,17 +65,9 @@ You can set verify to TRUE if you want send() to sleep until the client has the //This proc blocks(sleeps) unless verify is set to false /proc/send_asset_list(var/client/client, var/list/asset_list, var/verify = TRUE) + client = CLIENT_FROM_VAR(client) // Will get client from a mob, or accept a client, or return null if(!istype(client)) - if(ismob(client)) - var/mob/M = client - if(M.client) - client = M.client - - else - return 0 - - else - return 0 + return 0 var/list/unreceived = asset_list - (client.cache + client.sending) if(!unreceived || !unreceived.len) @@ -257,6 +241,7 @@ You can set verify to TRUE if you want send() to sleep until the client has the var/list/common_dirs = list( "nano/css/", "nano/images/", + "nano/images/modular_computers/", "nano/js/" ) var/list/uncommon_dirs = list( diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index e6242a2165..7df78ea617 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -429,6 +429,7 @@ client/verb/character_setup() //Log, disable log_debug("[key_name(src)] reloaded VChat.") + winset(src, null, "outputwindow.htmloutput.is-visible=false;outputwindow.oldoutput.is-visible=false;outputwindow.chatloadlabel.is-visible=true") //The hard way qdel_null(src.chatOutput) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 43eb7f9f7e..e0a462db5e 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -406,7 +406,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O else return TOPIC_NOACTION - if(((!(setting_species.spawn_flags & SPECIES_CAN_JOIN)) || (!is_alien_whitelisted(preference_mob(),setting_species))) && !check_rights(R_ADMIN, 0) && !(setting_species.spawn_flags & SPECIES_WHITELIST_SELECTABLE)) //VOREStation Edit: selectability + if(((!(setting_species.spawn_flags & SPECIES_CAN_JOIN)) || (!is_alien_whitelisted(preference_mob(),setting_species))) && !check_rights(R_ADMIN|R_EVENT, 0) && !(setting_species.spawn_flags & SPECIES_WHITELIST_SELECTABLE)) //VOREStation Edit: selectability return TOPIC_NOACTION var/prev_species = pref.species @@ -908,7 +908,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O dat += "You cannot play as this species.
If you wish to be whitelisted, you can make an application post on the forums.

" else if(restricted == 2) dat += "You cannot play as this species.
This species is not available for play as a station race..

" - if(!restricted || check_rights(R_ADMIN, 0) || current_species.spawn_flags & SPECIES_WHITELIST_SELECTABLE) //VOREStation Edit: selectability + if(!restricted || check_rights(R_ADMIN|R_EVENT, 0) || current_species.spawn_flags & SPECIES_WHITELIST_SELECTABLE) //VOREStation Edit: selectability dat += "\[select\]" dat += "" diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm index 5b1314d05f..ed66138da5 100644 --- a/code/modules/client/preference_setup/global/01_ui.dm +++ b/code/modules/client/preference_setup/global/01_ui.dm @@ -93,4 +93,4 @@ return ..() /datum/category_item/player_setup_item/player_global/ui/proc/can_select_ooc_color(var/mob/user) - return config.allow_admin_ooccolor && check_rights(R_ADMIN, 0, user) + return config.allow_admin_ooccolor && check_rights(R_ADMIN|R_EVENT|R_FUN, 0, user) diff --git a/code/modules/client/preference_setup/global/setting_datums.dm b/code/modules/client/preference_setup/global/setting_datums.dm index c42b673fbf..99892d4d15 100644 --- a/code/modules/client/preference_setup/global/setting_datums.dm +++ b/code/modules/client/preference_setup/global/setting_datums.dm @@ -147,6 +147,12 @@ var/list/_client_preferences_by_type enabled_description = "Audible" disabled_description = "Silent" +/datum/client_preference/drop_sounds + description = "Dropped Item Sounds" + key = "SOUND_DROPPED" + enabled_description = "Enabled" + disabled_description = "Disabled" + /datum/client_preference/mob_tooltips description ="Mob tooltips" key = "MOB_TOOLTIPS" @@ -246,7 +252,7 @@ var/list/_client_preferences_by_type * Staff Preferences * ********************/ /datum/client_preference/admin/may_toggle(var/mob/preference_mob) - return check_rights(R_ADMIN, 0, preference_mob) + return check_rights(R_ADMIN|R_EVENT, 0, preference_mob) /datum/client_preference/mod/may_toggle(var/mob/preference_mob) return check_rights(R_MOD|R_ADMIN, 0, preference_mob) diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm index 0849eb44d9..601e130e0e 100644 --- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_vr.dm @@ -25,6 +25,7 @@ /datum/gear/fluff/lethe_helmet path = /obj/item/clothing/head/helmet/hos/fluff/lethe display_name = "Lethe's Helmet" + slot = slot_head ckeywhitelist = list("adk09") character_name = list("Lethe") @@ -50,6 +51,7 @@ path = /obj/item/clothing/under/solgov/utility/sifguard/officer/medical display_name = "centcom medical uniform" description = "A medical uniform straight from Central Command." + slot = slot_w_uniform ckeywhitelist = list("arokha") character_name = list("Aronai Sieyes") @@ -57,6 +59,7 @@ path = /obj/item/clothing/suit/storage/service/sifguard/medical/command display_name = "centcom medical jacket" description = "A medical jacket straight from Central Command." + slot = slot_wear_suit ckeywhitelist = list("arokha") character_name = list("Aronai Sieyes") @@ -64,6 +67,7 @@ /datum/gear/fluff/yuuko_kimono path = /obj/item/clothing/under/fluff/sakura_hokkaido_kimono display_name = "Yuuko's Kimono" + slot = slot_w_uniform ckeywhitelist = list("benemuel") character_name = list("Yuuko Shimmerpond") @@ -76,12 +80,14 @@ /datum/gear/fluff/kilano_dress path = /obj/item/clothing/under/dress/fluff/kilano display_name = "Kilano's Dress" + slot = slot_w_uniform ckeywhitelist = list("beyondmylife") character_name = list("Kilano Soryu") /datum/gear/fluff/kilano_gloves path = /obj/item/clothing/gloves/fluff/kilano display_name = "Kilano's Gloves" + slot = slot_gloves ckeywhitelist = list("beyondmylife") character_name = list("Kilano Soryu") @@ -100,9 +106,10 @@ /datum/gear/fluff/xin_sovietuniform path = /obj/item/clothing/under/soviet display_name = "Xin's Soviet Uniform" + description = "This soviet uniform has seen considerable use over the years, it's rather worn in some places, frayed in others and the stomach region has signs of being stretched out repeatedly." + slot = slot_w_uniform ckeywhitelist = list("britishrabbit") character_name = list("Xin Xiao") - description = "This soviet uniform has seen considerable use over the years, it's rather worn in some places, frayed in others and the stomach region has signs of being stretched out repeatedly." /datum/gear/fluff/tasald_box path = /obj/item/weapon/storage/box/fluff/tasald @@ -113,18 +120,21 @@ /datum/gear/fluff/tasald_cartographer_jumpsuit path = /obj/item/clothing/under/solgov/utility/sifguard/officer/exploration display_name = "Tasald's Cartographer's uniform - jumpsuit" + slot = slot_w_uniform ckeywhitelist = list("bwoincognito") character_name = list("Tasald Corlethian") /datum/gear/fluff/tasald_cartographer_jacket path = /obj/item/clothing/suit/storage/service/sifguard/command display_name = "Tasald's Cartographer's uniform - jacket" + slot = slot_wear_suit ckeywhitelist = list("bwoincognito") character_name = list("Tasald Corlethian") /datum/gear/fluff/tasald_cartographer_beret path = /obj/item/clothing/head/beret/sol/expedition/command display_name = "Tasald's Cartographer's uniform - beret" + slot = slot_head ckeywhitelist = list("bwoincognito") character_name = list("Tasald Corlethian") @@ -137,10 +147,17 @@ /datum/gear/fluff/jayda_meduniform path = /obj/item/clothing/under/solgov/utility/sifguard/medical/fluff display_name = "Jayda's Uniform" + slot = slot_w_uniform ckeywhitelist = list("burritojustice") character_name = list("Jayda Wilson") // C CKEYS +/datum/gear/fluff/cappy_watch + path = /obj/item/clothing/accessory/watch + display_name = "Cappy's Pocket Watch" + ckeywhitelist = list("cappycat") + character_name = list("Cappy Fuzzlyfeathers") + /datum/gear/fluff/james_disk path = /obj/item/weapon/disk/data display_name = "James' Disk" @@ -156,18 +173,21 @@ /datum/gear/fluff/diana_robe path = /obj/item/clothing/suit/fluff/purp_robes display_name = "Diana's Robes" + slot = slot_wear_suit ckeywhitelist = list("cameron653") character_name = list("Diana Kuznetsova") /datum/gear/fluff/diana_tiara path = /obj/item/clothing/head/fluff/pink_tiara display_name = "Diana's Tiara" + slot = slot_head ckeywhitelist = list("cameron653") character_name = list("Diana Kuznetsova") /datum/gear/fluff/aika_coat path = /obj/item/clothing/suit/fluff/blue_trimmed_coat display_name = "Aika's Coat" + slot = slot_wear_suit ckeywhitelist = list("chaoko99") character_name = list("Aika Hisakawa") @@ -219,18 +239,21 @@ /datum/gear/fluff/serkii_slippers path = /obj/item/clothing/shoes/slippers display_name = "Serkii's Slippers" + slot = slot_shoes ckeywhitelist = list("eekasqueak") character_name = list("Serkii Miishy") /datum/gear/fluff/serkii_skirt path = /obj/item/clothing/under/skirt/fluff/serkii display_name = "Serkii's Skirt" + slot = slot_w_uniform ckeywhitelist = list("eekasqueak") character_name = list("Serkii Miishy") /datum/gear/fluff/jessie_coat path = /obj/item/clothing/suit/storage/hooded/wintercoat/jessie display_name = "Jessie's Coat" + slot = slot_wear_suit ckeywhitelist = list("epiccharger") character_name = list("Jessie Mare") @@ -247,6 +270,13 @@ character_name = list("Erik Ramadwood") // F CKEYS +/datum/gear/fluff/yikatihaki_armor + path = /obj/item/clothing/suit/armor/vox_scrap + display_name = "Yikatihaki's Armor" + slot = slot_wear_suit + ckeywhitelist = list("flaktual") + character_name = list("Yikatihaki") + allowed_roles = list("Explorer") // G CKEYS /datum/gear/fluff/eldi_implant @@ -296,6 +326,7 @@ /datum/gear/fluff/ivy_backpack path = /obj/item/weapon/storage/backpack/messenger/sec/fluff/ivymoomoo display_name = "Ivy's Backpack" + slot = slot_back ckeywhitelist = list("ivymoomoo") character_name = list("Ivy Baladeva") @@ -309,6 +340,7 @@ /datum/gear/fluff/areax_staff path = /obj/item/weapon/storage/backpack/fluff/stunstaff display_name = "Areax's Stun Staff" + slot = slot_back ckeywhitelist = list("jacknoir413") character_name = list("Areax Third") allowed_roles = list("Security Officer, Warden, Head of Security") @@ -316,12 +348,14 @@ /datum/gear/fluff/earthen_uniform path = /obj/item/clothing/under/fluff/earthenbreath display_name = "Earthen's Uniform" + slot = slot_w_uniform ckeywhitelist = list("jacobdragon") character_name = list("Earthen Breath") /datum/gear/fluff/earthen_hairpin path = /obj/item/clothing/head/fluff/hairflowerpin display_name = "Earthen's Flower Pin" + slot = slot_head ckeywhitelist = list("jacobdragon") character_name = list("Earthen Breath") @@ -334,33 +368,10 @@ /datum/gear/fluff/jemli_fedora path = /obj/item/clothing/head/fedora/fluff/jemli display_name = "Jemli's Fedora" + slot = slot_head ckeywhitelist = list("jemli") character_name = list("Jemli") -//TFF 28/11/19 - Expired permit removal -/* -/datum/gear/fluff/jeremiah_permit - path = /obj/item/clothing/accessory/permit/gun/fluff/ace - display_name = "Ace's Gun Permit" - ckeywhitelist = list("jertheace") - character_name = list("Jeremiah Acacius") - allowed_roles = list("Colony Director", "Warden", "Head of Security") - -/datum/gear/fluff/jeremiah_gun - path = /obj/item/weapon/gun/projectile/p92x/large/preban/hp - display_name = "Ace's Gun" - ckeywhitelist = list("jertheace") - character_name = list("Jeremiah Acacius") - allowed_roles = list("Colony Director", "Warden", "Head of Security") - -/datum/gear/fluff/jeremiah_ammo - path = /obj/item/ammo_magazine/m9mm/large/preban/hp //Spare ammo - display_name = "Ace's Spare Ammo" - ckeywhitelist = list("jertheace") - character_name = list("Jeremiah Acacius") - allowed_roles = list("Colony Director", "Warden", "Head of Security") -*/ - /datum/gear/fluff/jeremiah_holster path = /obj/item/clothing/accessory/holster/armpit display_name = "Ace's Holster" @@ -371,12 +382,14 @@ /datum/gear/fluff/jeremiah_boots path = /obj/item/clothing/shoes/boots/combat display_name = "Ace's Boots" + slot = slot_shoes ckeywhitelist = list("jertheace") character_name = list("Jeremiah Acacius") /datum/gear/fluff/jeremiah_combatuniform path = /obj/item/clothing/under/syndicate/combat display_name = "Ace's Combat Uniform" + slot = slot_w_uniform ckeywhitelist = list("jertheace") character_name = list("Jeremiah Acacius") @@ -403,12 +416,14 @@ /datum/gear/fluff/emoticon_mimeuniform path = /obj/item/clothing/under/sexymime display_name = "Emoticon's Mime Uniform" + slot = slot_w_uniform ckeywhitelist = list("joey4298") character_name = list("Emoticon") /datum/gear/fluff/emoticon_mimemask path = /obj/item/clothing/mask/gas/sexymime display_name = "Emoticon's Mime Mask" + slot = slot_wear_mask ckeywhitelist = list("joey4298") character_name = list("Emoticon") @@ -446,6 +461,7 @@ /datum/gear/fluff/ketrai_hat path = /obj/item/clothing/head/fluff/ketrai display_name = "Ketrai's Hat" + slot = slot_head ckeywhitelist = list("ketrai") character_name = list("Ketrai") @@ -458,6 +474,7 @@ /datum/gear/fluff/kisuke_glasses path = /obj/item/clothing/glasses/omnihud/kamina display_name = "Kisuke's Kamina Glasses" + slot = slot_glasses ckeywhitelist = list("kisukegema") character_name = list("Kisuke Gema") @@ -470,6 +487,7 @@ /datum/gear/fluff/excess_uniform path = /obj/item/clothing/under/fluff/excess display_name = "Excess's Uniform" + slot = slot_w_uniform ckeywhitelist = list("killerdragn") character_name = list("Excess") @@ -488,6 +506,7 @@ /datum/gear/fluff/taiga_uniform path = /obj/item/clothing/under/fluff/taiga display_name = "Taifa's Uniform" + slot = slot_w_uniform ckeywhitelist = list("kiwidaninja") character_name = list("Chakat Taiga") @@ -514,6 +533,7 @@ /datum/gear/fluff/brianna_backpack path = /obj/item/weapon/storage/backpack/messenger/black/fluff/briana display_name = "Briana's Backpack" + slot = slot_back ckeywhitelist = list("luminescentring") character_name = list("Briana Moore") @@ -533,6 +553,7 @@ /datum/gear/fluff/giliana_labcoat path = /obj/item/clothing/suit/storage/toggle/labcoat/fluff/molenar display_name = "Giliana's Labcoat" + slot = slot_wear_suit ckeywhitelist = list("molenar") character_name = list("Giliana Gamish") @@ -545,6 +566,7 @@ /datum/gear/fluff/resh_uniform path = /obj/item/clothing/suit/security/navyhos display_name = "Resh's HoS Uniform" + slot = slot_wear_suit ckeywhitelist = list("mrsignmeup") character_name = list("Reshskakskakss Seekiseekis") allowed_roles = list("Head of Security") @@ -559,23 +581,28 @@ /datum/gear/fluff/awen_hat path = /obj/item/clothing/head/fluff/wolfgirl display_name = "Awen's Hat" + slot = slot_head ckeywhitelist = list("natje") character_name = list("Awen Henry") /datum/gear/fluff/awen_shoes path = /obj/item/clothing/shoes/fluff/wolfgirl + display_name = "Awen's Shoes" + slot = slot_shoes ckeywhitelist = list("natje") character_name = list("Awen Henry") /datum/gear/fluff/awen_uniform path = /obj/item/clothing/under/fluff/wolfgirl display_name = "Awen's Uniform" + slot = slot_w_uniform ckeywhitelist = list("natje") character_name = list("Awen Henry") /datum/gear/fluff/pumila_vines path = /obj/item/clothing/under/fluff/aluranevines display_name = "Pumila's Vines" + slot = slot_w_uniform ckeywhitelist = list("natje") character_name = list("Pumila") @@ -593,6 +620,13 @@ character_name = list("Richard D'angelo") // P CKEYS +/datum/gear/fluff/zaku_sweatervest + path = /obj/item/clothing/suit/varsity/green/sweater_vest + display_name = "Zaku's Sweater Vest" + slot = slot_wear_suit + ckeywhitelist = list("pimientopyro") + character_name = list("Zaku Fyodorovna") + /datum/gear/fluff/lily_medal path = /obj/item/clothing/accessory/medal/silver/unity display_name = "Lily's Unity Medal" @@ -628,6 +662,12 @@ allowed_roles = list("Roboticist") // S CKEYS +/datum/gear/fluff/brynhild_medal + path = /obj/item/clothing/accessory/medal/silver/valor + display_name = "Brynhild's Valor Medal" + ckeywhitelist = list("sageofaether12") + character_name = list("Brynhild Vandradottir") + /datum/gear/fluff/kateryna_voidsuit path = /obj/item/clothing/suit/space/void/engineering/kate display_name = "Kateryna's Voidsuit" @@ -645,6 +685,7 @@ /datum/gear/fluff/kateryna_armorvest path = /obj/item/clothing/suit/armor/vest/wolftaur/kate display_name = "Kateryna's Armor Vest" + slot = slot_wear_suit ckeywhitelist = list("samanthafyre") character_name = list("Kateryna Petrovitch") allowed_roles = list("Security Officer", "Warden", "Head of Security", "Colony Director", "Head of Personnel") @@ -664,12 +705,14 @@ /datum/gear/fluff/scree_pompom path = /obj/item/clothing/head/fluff/pompom display_name = "Scree's Weird PopPom thing" + slot = slot_head ckeywhitelist = list("scree") character_name = list("Scree") /datum/gear/fluff/alfonso_sunglasses path = /obj/item/clothing/glasses/sunglasses/fluff/alfonso display_name = "Alfonso's Sunglasses" + slot = slot_glasses ckeywhitelist = list("seiga") character_name = list("Alfonso Oak Telanor") @@ -683,12 +726,14 @@ /datum/gear/fluff/tasy_clownuniform path = /obj/item/clothing/under/sexyclown display_name = "Tasy's Clown Uniform" + slot = slot_w_uniform ckeywhitelist = list("silvertalismen") character_name = list("Tasy Ruffles") /datum/gear/fluff/tasy_clownmask path = /obj/item/clothing/mask/gas/sexyclown display_name = "Tasy's Clownmask" + slot = slot_wear_mask ckeywhitelist = list("silvertalismen") character_name = list("Tasy Ruffles") @@ -707,6 +752,7 @@ /datum/gear/fluff/fortune_backpack path = /obj/item/weapon/storage/backpack/satchel/fluff/swat43bag display_name = "Fortune's Backpack" + slot = slot_back ckeywhitelist = list("swat43") character_name = list("Fortune Bloise") @@ -725,18 +771,27 @@ /datum/gear/fluff/roiz_coat path = /obj/item/clothing/suit/storage/hooded/wintercoat/roiz display_name = "Roiz's Coat" + slot = slot_wear_suit ckeywhitelist = list("spoopylizz") character_name = list("Roiz Lizden") +/datum/gear/fluff/lilith_medal + path = /obj/item/clothing/accessory/medal/silver/valor + display_name = "Lilith's Valor Medal" + ckeywhitelist = list("stiphs") + character_name = list("Lilith Vespers") + /datum/gear/fluff/silent_mimemask path = /obj/item/clothing/mask/gas/sexymime display_name = "Silent Stripe's Mime Mask" + slot = slot_wear_mask ckeywhitelist = list("suicidalpickles") character_name = list("Silent Stripes") /datum/gear/fluff/silent_mimeuniform path = /obj/item/clothing/under/sexymime display_name = "Silent Stripe's Mime Uniform" + slot = slot_w_uniform ckeywhitelist = list("suicidalpickles") character_name = list("Silent Stripes") @@ -780,6 +835,7 @@ /datum/gear/fluff/monty_balaclava path = /obj/item/clothing/mask/balaclava display_name = "Monty's Balaclava" + slot = slot_wear_mask ckeywhitelist = list("theskringdinger") character_name = list("Monty Kopic") @@ -792,21 +848,10 @@ // U CKEYS // V CKEYS -/datum/gear/fluff/vakashi_permit - path = /obj/item/clothing/accessory/permit/gun/fluff/Vakashi - display_name = "Vakashi's Pepperspray Permit" - ckeywhitelist = list("vailthewolf") - character_name = list("Vakashi") - -/datum/gear/fluff/vakashi_pepperspray - path = /obj/item/weapon/reagent_containers/spray/pepper - display_name = "Vakashi's Pepperspray" - ckeywhitelist = list("vailthewolf") - character_name = list("Vakashi") - /datum/gear/fluff/cameron_glasses path = /obj/item/clothing/glasses/fluff/science_proper display_name = "Cameron's Science Glasses" + slot = slot_glasses ckeywhitelist = list("verkister") character_name = list("Cameron Eggbert") @@ -819,12 +864,14 @@ /datum/gear/fluff/opie_glasses path = /obj/item/clothing/glasses/fluff/spiffygogs display_name = "Opie's Goggles" + slot = slot_glasses ckeywhitelist = list("verkister") character_name = list("Opie Eggbert") /datum/gear/fluff/verin_hazardvest path = /obj/item/clothing/suit/storage/hazardvest/fluff/verin display_name = "Verin's Hazard Vest" + slot = slot_wear_suit ckeywhitelist = list("virgo113") character_name = list("Verin Raharra") @@ -843,24 +890,28 @@ /datum/gear/fluff/lucina_dress path = /obj/item/clothing/under/dress/fluff/lucinadress display_name = "Lucina's Dress" + slot = slot_w_uniform ckeywhitelist = list("vorrarkul") character_name = list("Lucina Dakarim") /datum/gear/fluff/melanie_skeleton path = /obj/item/clothing/under/fluff/slime_skeleton display_name = "Melanie's Skeleton" + slot = slot_w_uniform ckeywhitelist = list("vorrarkul") character_name = list("Melanie Farmer") /datum/gear/fluff/nyssa_coat path = /obj/item/clothing/suit/storage/hooded/wintercoat/cargo display_name = "Nyssa's Coat" + slot = slot_wear_suit ckeywhitelist = list("vorrarkul") character_name = list("Nyssa Brennan") /datum/gear/fluff/theodora_suit path = /obj/item/clothing/suit/chococoat display_name = "Theodora's Coat" + slot = slot_wear_suit ckeywhitelist = list("vorrarkul") character_name = list("Theodora Lindt") @@ -877,20 +928,23 @@ character_name = list("Kaitlyn Fiasco") /datum/gear/fluff/keturah_maiddress - path = /obj/item/clothing/under/dress/maid/ + path = /obj/item/clothing/under/dress/maid display_name = "Keturah's Maid Dress" + slot = slot_w_uniform ckeywhitelist = list("viveret") character_name = list("Keturah") /datum/gear/fluff/silentio_mimeuniform path = /obj/item/clothing/under/sexymime display_name = "Silentio's Mime Uniform" + slot = slot_w_uniform ckeywhitelist = list("viveret") character_name = list("Silentio") /datum/gear/fluff/silentio_mimemask path = /obj/item/clothing/mask/gas/sexymime display_name = "Silentio's Mime Mask" + slot = slot_wear_mask ckeywhitelist = list("Viveret") character_name = list("Silentio") @@ -904,6 +958,7 @@ /datum/gear/fluff/silas_glasses path = /obj/item/clothing/glasses/threedglasses display_name = "Silas' 3-D Glasses" + slot = slot_glasses ckeywhitelist = list("werebear") character_name = list("Silas Newton") @@ -916,25 +971,25 @@ /datum/gear/fluff/tempest_hudglases path = /obj/item/clothing/glasses/omnihud/med/fluff/wickedtemphud display_name = "Tempest's Medical Hud" + slot = slot_glasses ckeywhitelist = list("wickedtemp") character_name = list("Chakat Tempest Venosare") allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic", "Field Medic", "Off-duty Medic") - slot = slot_glasses /datum/gear/fluff/tempest_hypospray path = /obj/item/weapon/reagent_containers/hypospray/vial/tempest display_name = "Tempest's Hypospray" + slot = slot_belt ckeywhitelist = list("wickedtemp") character_name = list("Chakat Tempest Venosare") allowed_roles = list("Chief Medical Officer","Medical Doctor","Chemist","Psychiatrist","Paramedic", "Field Medic", "Off-duty Medic") - slot = slot_belt /datum/gear/fluff/tempest_backpack path = /obj/item/weapon/storage/backpack/saddlebag/tempest display_name = "Tempest's Saddlebag" + slot = slot_back ckeywhitelist = list("wickedtemp") character_name = list("Chakat Tempest Venosare") - slot = slot_back /datum/gear/fluff/tempest_implant path = /obj/item/weapon/implanter/reagent_generator/tempest @@ -967,6 +1022,7 @@ /datum/gear/fluff/zaoozaoo_hat path = /obj/item/clothing/head/fluff/zao display_name = "Zaoozaoo's Hat" + slot = slot_head ckeywhitelist = list("zigfe") character_name = list("Zaoozaoo Xrimxuqmqixzix") @@ -976,8 +1032,9 @@ ckeywhitelist = list("zodiacshadow") character_name = list("Nehi Maximus") -/datum/gear/fluff/star_sweater - path = /obj/item/clothing/accessory/sweater/fluff/star - display_name = "Star Sweater" +/datum/gear/fluff/star_hoodie + path = /obj/item/clothing/suit/storage/star + display_name = "Star hoodie" + slot = slot_wear_suit ckeywhitelist = list("bacon12366") character_name = list("Elly Brown") diff --git a/code/modules/client/preference_setup/loadout/loadout_general.dm b/code/modules/client/preference_setup/loadout/loadout_general.dm index 5fd43d268a..121378723f 100644 --- a/code/modules/client/preference_setup/loadout/loadout_general.dm +++ b/code/modules/client/preference_setup/loadout/loadout_general.dm @@ -4,11 +4,11 @@ /datum/gear/cane/white display_name = "white cane" - path = /obj/item/weapon/cane/whitecane + path = /obj/item/weapon/cane/white /datum/gear/cane/white2 display_name = "telescopic white cane" - path = /obj/item/weapon/melee/collapsable_whitecane + path = /obj/item/weapon/cane/white/collapsible /datum/gear/crutch display_name = "crutch" diff --git a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm index 0df769d847..6e4dac4647 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility_vr.dm @@ -1,45 +1,45 @@ /datum/gear/utility/saddlebag - display_name = "saddle bag, horse" - path = /obj/item/weapon/storage/backpack/saddlebag - slot = slot_back - cost = 2 + display_name = "saddle bag, horse" + path = /obj/item/weapon/storage/backpack/saddlebag + slot = slot_back + cost = 2 /datum/gear/utility/saddlebag_common - display_name = "saddle bag, common" - path = /obj/item/weapon/storage/backpack/saddlebag_common - slot = slot_back - cost = 2 + display_name = "saddle bag, common" + path = /obj/item/weapon/storage/backpack/saddlebag_common + slot = slot_back + cost = 2 /datum/gear/utility/saddlebag_common/robust - display_name = "saddle bag, robust" - path = /obj/item/weapon/storage/backpack/saddlebag_common/robust - slot = slot_back - cost = 2 + display_name = "saddle bag, robust" + path = /obj/item/weapon/storage/backpack/saddlebag_common/robust + slot = slot_back + cost = 2 /datum/gear/utility/saddlebag_common/vest - display_name = "taur duty vest (backpack)" - path = /obj/item/weapon/storage/backpack/saddlebag_common/vest - slot = slot_back - cost = 1 + display_name = "taur duty vest (backpack)" + path = /obj/item/weapon/storage/backpack/saddlebag_common/vest + slot = slot_back + cost = 1 /datum/gear/utility/dufflebag - display_name = "dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag - slot = slot_back - cost = 2 + display_name = "dufflebag" + path = /obj/item/weapon/storage/backpack/dufflebag + slot = slot_back + cost = 2 /datum/gear/utility/dufflebag/black - display_name = "black dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/fluff + display_name = "black dufflebag" + path = /obj/item/weapon/storage/backpack/dufflebag/fluff /datum/gear/utility/dufflebag/med - display_name = "medical dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/med - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist","Psychiatrist","Field Medic") + display_name = "medical dufflebag" + path = /obj/item/weapon/storage/backpack/dufflebag/med + allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist","Psychiatrist","Field Medic") /datum/gear/utility/dufflebag/med/emt - display_name = "EMT dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/emt + display_name = "EMT dufflebag" + path = /obj/item/weapon/storage/backpack/dufflebag/emt /datum/gear/utility/dufflebag/sec display_name = "security Dufflebag" @@ -47,11 +47,11 @@ allowed_roles = list("Head of Security","Warden","Detective","Security Officer","Blueshield Guard") /datum/gear/utility/dufflebag/eng - display_name = "engineering dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/eng - allowed_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer") + display_name = "engineering dufflebag" + path = /obj/item/weapon/storage/backpack/dufflebag/eng + allowed_roles = list("Chief Engineer","Atmospheric Technician","Station Engineer") /datum/gear/utility/dufflebag/sci - display_name = "science dufflebag" - path = /obj/item/weapon/storage/backpack/dufflebag/sci - allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist","Explorer","Pathfinder") + display_name = "science dufflebag" + path = /obj/item/weapon/storage/backpack/dufflebag/sci + allowed_roles = list("Research Director","Scientist","Roboticist","Xenobiologist","Explorer","Pathfinder") diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm b/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm index 6b92ab1376..c4909ac269 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno_vr.dm @@ -1,3 +1,7 @@ +/datum/gear/shoes/footwraps/New() //Give color pick option for footwraps + ..() + gear_tweaks = list(gear_tweak_free_color_choice) + /datum/gear/uniform/voxcasual display_name = "casual wear (Vox)" path = /obj/item/clothing/under/vox/vox_casual diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index ca2bc4d787..2fc6f03a03 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -54,23 +54,57 @@ if(alt_title && !(alt_title in job.alt_titles)) pref.player_alt_titles -= job.title -/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 20, list/splitJobs = list("Pathfinder")) //VOREStation Edit +/datum/category_item/player_setup_item/occupation/content(mob/user, limit = 20, list/splitJobs = list()) if(!job_master) return . = list() . += "
" . += "Choose occupation chances
Unavailable occupations are crossed out.
" - . += "
Non-human Positions
Non-human Positions
" // Table within a table for alignment, also allows you to easily add more columns. + . += "
" // Table within a table for alignment, also allows you to easily add more columns. . += "" var/index = -1 //The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows. var/datum/job/lastJob - if (!job_master) return - for(var/datum/job/job in job_master.occupations) + var/datum/department/last_department = null // Used to avoid repeating the look-ahead check for if a whole department can fit. + + var/list/all_valid_jobs = list() + // If the occupation window gets opened before SSJob initializes, then it'll just be blank, with no runtimes. + // It will work once init is finished. + + for(var/D in SSjob.department_datums) + var/datum/department/department = SSjob.department_datums[D] + if(department.centcom_only) // No joining as a centcom role, if any are ever added. + continue + + for(var/J in department.primary_jobs) + all_valid_jobs += department.jobs[J] + + for(var/datum/job/job in all_valid_jobs) if(job.latejoin_only) continue //VOREStation Code - if((++index >= limit) || (job.title in splitJobs)) + var/datum/department/current_department = SSjob.get_primary_department_of_job(job) + + // Should we add a new column? + var/make_new_column = FALSE + if(++index > limit) + // Ran out of rows, make a new column. + make_new_column = TRUE + + else if(job.title in splitJobs) + // Is hardcoded to split at this job title. + make_new_column = TRUE + + else if(current_department != last_department) + // If the department is bigger than the limit then we have to split. + if(limit >= current_department.primary_jobs.len) + // Look ahead to see if we would need to split, and if so, avoid it. + if(index + current_department.primary_jobs.len > limit) + // Looked ahead, and determined that a new column is needed to avoid splitting the department into two. + make_new_column = TRUE + + + if(make_new_column) /******* if((index < limit) && (lastJob != null)) //If the cells were broken up by a job in the splitJob list then it will fill in the rest of the cells with @@ -78,29 +112,32 @@ for(var/i = 0, i < (limit - index), i++) . += "" *******/ - . += "
//>  
" + . += "
" index = 0 + last_department = current_department . += "" + . += "[rank]" continue if(!job.player_old_enough(user.client)) var/available_in_days = job.available_in_days(user.client) - . += "[rank]" + . += "[rank]" continue if(job.minimum_character_age && user.client && (user.client.prefs.age < job.minimum_character_age)) - . += "[rank]" + . += "[rank]" continue if((pref.job_civilian_low & ASSISTANT) && job.type != /datum/job/assistant) - . += "[rank]" + . += "[rank]" continue - if((rank in command_positions) || (rank == "AI"))//Bold head jobs - . += "[rank]" + if((rank in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND) ) || (rank == "AI"))//Bold head jobs + . += "[rank]" else - . += "[rank]" + . += "[rank]" . += "" . += "" continue @@ -124,7 +161,7 @@ . += " \[Low]" else . += " \[NEVER]" - if(job.alt_titles) + if(LAZYLEN(job.alt_titles)) . += "" . += "" . += "
" + var/rank = job.title lastJob = job + . += "" if(jobban_isbanned(user, rank)) - . += "[rank] \[BANNED]
\[BANNED]
\[IN [(available_in_days)] DAYS]
\[IN [(available_in_days)] DAYS]
\[MINIMUM CHARACTER AGE: [job.minimum_character_age]]
\[MINIMUM CHARACTER AGE: [job.minimum_character_age]]
" @@ -111,7 +148,7 @@ . += " \[Yes]" else . += " \[No]" - if(job.alt_titles) //Blatantly cloned from a few lines down. + if(LAZYLEN(job.alt_titles)) //Blatantly cloned from a few lines down. . += "
 \[[pref.GetPlayerAltTitle(job)]\]
 \[[pref.GetPlayerAltTitle(job)]\]
" @@ -166,6 +203,45 @@ else if(href_list["set_job"]) if(SetJob(user, href_list["set_job"])) return (pref.equip_preview_mob ? TOPIC_REFRESH_UPDATE_PREVIEW : TOPIC_REFRESH) + + else if(href_list["job_info"]) + var/rank = href_list["job_info"] + var/datum/job/job = job_master.GetJob(rank) + var/dat = list() + + dat += "



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


" + if(config.wikiurl) + dat += "Open wiki page in browser" + + var/alt_title = pref.GetPlayerAltTitle(job) + var/list/description = job.get_description_blurb(alt_title) + if(LAZYLEN(description)) + dat += html_encode(description[1]) + if(description.len > 1) + if(!isnull(description[2])) + dat += "
" + dat += html_encode(description[2]) + + var/datum/browser/popup = new(user, "Job Info", "[capitalize(rank)]", 430, 520, src) + popup.set_content(jointext(dat,"
")) + popup.open() + + else if(href_list["job_wiki"]) + var/rank = href_list["job_wiki"] + open_link(user,"[config.wikiurl][rank]") + return ..() /datum/category_item/player_setup_item/occupation/proc/SetPlayerAltTitle(datum/job/job, new_title) diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm index a55ca0ccca..01a0d75fec 100644 --- a/code/modules/client/preference_setup/preference_setup.dm +++ b/code/modules/client/preference_setup/preference_setup.dm @@ -1,9 +1,3 @@ -#define TOPIC_NOACTION 0 -#define TOPIC_HANDLED 1 -#define TOPIC_REFRESH 2 -#define TOPIC_UPDATE_PREVIEW 4 -#define TOPIC_REFRESH_UPDATE_PREVIEW (TOPIC_REFRESH|TOPIC_UPDATE_PREVIEW) - #define PREF_FBP_CYBORG "cyborg" #define PREF_FBP_POSI "posi" #define PREF_FBP_SOFTWARE "software" diff --git a/code/modules/client/preference_setup/vore/01_ears.dm b/code/modules/client/preference_setup/vore/01_ears.dm index 51e100ec9e..9098c36a96 100644 --- a/code/modules/client/preference_setup/vore/01_ears.dm +++ b/code/modules/client/preference_setup/vore/01_ears.dm @@ -24,6 +24,9 @@ var/r_wing = 30 // Wing color var/g_wing = 30 // Wing color var/b_wing = 30 // Wing color + var/r_wing2 = 30 // Wing extra color + var/g_wing2 = 30 // Wing extra color + var/b_wing2 = 30 // Wing extra color var/dress_mob = TRUE // Definition of the stuff for Ears @@ -50,6 +53,9 @@ S["r_wing"] >> pref.r_wing S["g_wing"] >> pref.g_wing S["b_wing"] >> pref.b_wing + S["r_wing2"] >> pref.r_wing2 + S["g_wing2"] >> pref.g_wing2 + S["b_wing2"] >> pref.b_wing2 /datum/category_item/player_setup_item/vore/ears/save_character(var/savefile/S) S["ear_style"] << pref.ear_style @@ -70,6 +76,9 @@ S["r_wing"] << pref.r_wing S["g_wing"] << pref.g_wing S["b_wing"] << pref.b_wing + S["r_wing2"] << pref.r_wing2 + S["g_wing2"] << pref.g_wing2 + S["b_wing2"] << pref.b_wing2 /datum/category_item/player_setup_item/vore/ears/sanitize_character() pref.r_ears = sanitize_integer(pref.r_ears, 0, 255, initial(pref.r_ears)) @@ -87,6 +96,9 @@ pref.r_wing = sanitize_integer(pref.r_wing, 0, 255, initial(pref.r_wing)) pref.g_wing = sanitize_integer(pref.g_wing, 0, 255, initial(pref.g_wing)) pref.b_wing = sanitize_integer(pref.b_wing, 0, 255, initial(pref.b_wing)) + pref.r_wing2 = sanitize_integer(pref.r_wing2, 0, 255, initial(pref.r_wing2)) + pref.g_wing2 = sanitize_integer(pref.g_wing2, 0, 255, initial(pref.g_wing2)) + pref.b_wing2 = sanitize_integer(pref.b_wing2, 0, 255, initial(pref.b_wing2)) if(pref.ear_style) pref.ear_style = sanitize_inlist(pref.ear_style, ear_styles_list, initial(pref.ear_style)) var/datum/sprite_accessory/temp_ear_style = ear_styles_list[pref.ear_style] @@ -122,6 +134,9 @@ character.r_wing = pref.r_wing character.b_wing = pref.b_wing character.g_wing = pref.g_wing + character.r_wing2 = pref.r_wing2 + character.b_wing2 = pref.b_wing2 + character.g_wing2 = pref.g_wing2 @@ -178,9 +193,11 @@ . += " Style: [wing_display]
" if(wing_styles_list[pref.wing_style]) - var/datum/sprite_accessory/wing/T = wing_styles_list[pref.wing_style] - if (T.do_colouration) + var/datum/sprite_accessory/wing/W = wing_styles_list[pref.wing_style] + if (W.do_colouration) . += "Change Color
__

" + if (W.extra_overlay) + . += "Change Secondary Color
__

" /datum/category_item/player_setup_item/vore/ears/OnTopic(var/href,var/list/href_list, var/mob/user) if(!CanUseTopic(user)) @@ -276,6 +293,15 @@ pref.b_wing = hex2num(copytext(new_wingc, 6, 8)) return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["wing_color2"]) + var/new_wingc2 = input(user, "Choose your character's secondary wing colour:", "Character Preference", + rgb(pref.r_wing2, pref.g_wing2, pref.b_wing2)) as color|null + if(new_wingc2) + pref.r_wing2 = hex2num(copytext(new_wingc2, 2, 4)) + pref.g_wing2 = hex2num(copytext(new_wingc2, 4, 6)) + pref.b_wing2 = hex2num(copytext(new_wingc2, 6, 8)) + return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["toggle_clothing"]) pref.dress_mob = !pref.dress_mob return TOPIC_REFRESH_UPDATE_PREVIEW diff --git a/code/modules/client/preferences_toggle_procs.dm b/code/modules/client/preferences_toggle_procs.dm index 1184b9bc29..9b8aa94b66 100644 --- a/code/modules/client/preferences_toggle_procs.dm +++ b/code/modules/client/preferences_toggle_procs.dm @@ -254,6 +254,21 @@ feedback_add_details("admin_verb","TAirPumpNoise") +/client/verb/toggle_drop_sounds() + set name = "Toggle Dropped Item Sounds" + set category = "Preferences" + set desc = "Toggles sounds when items are dropped or thrown." + + var/pref_path = /datum/client_preference/drop_sounds + + toggle_preference(pref_path) + + to_chat(src, "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear sounds when items are dropped or thrown.") + + SScharacter_setup.queue_preferences_save(prefs) + + feedback_add_details("admin_verb", "TDropSounds") + /client/verb/toggle_safe_firing() set name = "Toggle Gun Firing Intent Requirement" set category = "Preferences" diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 6551e23155..90617f8426 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -1,6 +1,7 @@ /obj/item/clothing name = "clothing" siemens_coefficient = 0.9 + drop_sound = 'sound/items/drop/clothing.ogg' var/list/species_restricted = null //Only these species can wear this kit. var/gunshot_residue //Used by forensics. @@ -101,8 +102,14 @@ //Set species_restricted list switch(target_species) + //VOREStation Edit Start if(SPECIES_HUMAN, SPECIES_SKRELL) //humanoid bodytypes - species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_PROMETHEAN) //skrell/humans can wear each other's suits + species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_NEVREAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA) + if(SPECIES_UNATHI) + species_restricted = list(SPECIES_UNATHI, SPECIES_XENOHYBRID) + if(SPECIES_VULPKANIN) + species_restricted = list(SPECIES_VULPKANIN, SPECIES_ZORREN_HIGH, SPECIES_FENNEC) + //VOREStation Edit End else species_restricted = list(target_species) @@ -121,8 +128,16 @@ //Set species_restricted list switch(target_species) + //VOREStation Edit Start + if(SPECIES_HUMAN) + species_restricted = list(SPECIES_HUMAN, SPECIES_NEVREAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA) if(SPECIES_SKRELL) - species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_PROMETHEAN) //skrell helmets fit humans too + species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_NEVREAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA) + if(SPECIES_UNATHI) + species_restricted = list(SPECIES_UNATHI, SPECIES_XENOHYBRID) + if(SPECIES_VULPKANIN) + species_restricted = list(SPECIES_VULPKANIN, SPECIES_ZORREN_HIGH, SPECIES_FENNEC) + //VOREStation Edit End else species_restricted = list(target_species) @@ -171,7 +186,7 @@ else O = src - user.u_equip(src) + user.unEquip(src) if (O) user.put_in_hands(O) @@ -185,6 +200,24 @@ var/mob/M = src.loc M.update_inv_ears() +/obj/item/clothing/ears/MouseDrop(var/obj/over_object) + if(ishuman(usr)) + var/mob/living/carbon/human/H = usr + // If this covers both ears, we want to return the result of unequipping the primary object, and kill the off-ear one + if(slot_flags & SLOT_TWOEARS) + var/obj/item/clothing/ears/O = (H.l_ear == src ? H.r_ear : H.l_ear) + if(istype(src, /obj/item/clothing/ears/offear)) + . = O.MouseDrop(over_object) + H.drop_from_inventory(src) + qdel(src) + else + . = ..() + H.drop_from_inventory(O) + qdel(O) + else + . = ..() + + /obj/item/clothing/ears/offear name = "Other ear" w_class = ITEMSIZE_HUGE @@ -192,7 +225,7 @@ icon_state = "block" slot_flags = SLOT_EARS | SLOT_TWOEARS - New(var/obj/O) +/obj/item/clothing/ears/offear/New(var/obj/O) name = O.name desc = O.desc icon = O.icon @@ -228,6 +261,7 @@ SPECIES_TESHARI = 'icons/mob/species/seromi/gloves.dmi', SPECIES_VOX = 'icons/mob/species/vox/gloves.dmi' ) + drop_sound = 'sound/items/drop/gloves.ogg' /obj/item/clothing/proc/set_clothing_index() return @@ -361,6 +395,7 @@ SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', SPECIES_VOX = 'icons/mob/species/vox/head.dmi' ) + drop_sound = 'sound/items/drop/hat.ogg' /obj/item/clothing/head/attack_self(mob/user) if(brightness_on) @@ -516,6 +551,7 @@ SPECIES_TESHARI = 'icons/mob/species/seromi/shoes.dmi', SPECIES_VOX = 'icons/mob/species/vox/shoes.dmi' ) + drop_sound = 'sound/items/drop/shoes.ogg' /obj/item/clothing/shoes/proc/draw_knife() set name = "Draw Boot Knife" @@ -530,6 +566,7 @@ if(usr.put_in_hands(holding)) usr.visible_message("\The [usr] pulls a knife out of their boot!") + playsound(get_turf(src), 'sound/weapons/holster/sheathout.ogg', 25) holding = null overlays -= image(icon, "[icon_state]_knife") else diff --git a/code/modules/clothing/clothing_accessories.dm b/code/modules/clothing/clothing_accessories.dm index f32ef7db84..4dda07aecc 100644 --- a/code/modules/clothing/clothing_accessories.dm +++ b/code/modules/clothing/clothing_accessories.dm @@ -121,13 +121,24 @@ set name = "Remove Accessory" set category = "Object" set src in usr - if(!istype(usr, /mob/living)) return - if(usr.stat) return + + if(!istype(usr, /mob/living)) + return + + if(usr.stat) + return + var/obj/item/clothing/accessory/A - if(LAZYLEN(accessories)) - A = input("Select an accessory to remove from [src]") as null|anything in accessories + var/accessory_amount = LAZYLEN(accessories) + if(accessory_amount) + if(accessory_amount == 1) + A = accessories[1] // If there's only one accessory, just remove it without any additional prompts. + else + A = input("Select an accessory to remove from \the [src]") as null|anything in accessories + if(A) remove_accessory(usr,A) + if(!LAZYLEN(accessories)) src.verbs -= /obj/item/clothing/proc/removetie_verb accessories = null diff --git a/code/modules/clothing/ears/ears.dm b/code/modules/clothing/ears/ears.dm index 193ce36232..505a4be004 100644 --- a/code/modules/clothing/ears/ears.dm +++ b/code/modules/clothing/ears/ears.dm @@ -53,6 +53,7 @@ desc = "A delicate golden chain worn by female skrell to decorate their head tails." icon_state = "skrell_chain" item_state_slots = list(slot_r_hand_str = "egg5", slot_l_hand_str = "egg5") + drop_sound = 'sound/items/drop/accessory.ogg' /obj/item/clothing/ears/skrell/chain/silver name = "Silver headtail chains" @@ -83,6 +84,7 @@ desc = "Golden metallic bands worn by male skrell to adorn their head tails." icon_state = "skrell_band" item_state_slots = list(slot_r_hand_str = "egg5", slot_l_hand_str = "egg5") + drop_sound = 'sound/items/drop/accessory.ogg' /obj/item/clothing/ears/skrell/band/silver name = "Silver headtail bands" diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index ed66d61289..f0a9c64d95 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -27,6 +27,7 @@ BLIND // can't see anything var/activation_sound = 'sound/items/goggles_charge.ogg' var/obj/screen/overlay = null var/list/away_planes //Holder for disabled planes + drop_sound = 'sound/items/drop/accessory.ogg' sprite_sheets = list( "Teshari" = 'icons/mob/species/seromi/eyes.dmi', @@ -161,6 +162,7 @@ BLIND // can't see anything item_state_slots = list(slot_r_hand_str = "blindfold", slot_l_hand_str = "blindfold") body_parts_covered = 0 var/eye = null + drop_sound = 'sound/items/drop/gloves.ogg' /obj/item/clothing/glasses/eyepatch/verb/switcheye() set name = "Switch Eyepatch" @@ -342,6 +344,7 @@ BLIND // can't see anything item_state_slots = list(slot_r_hand_str = "blindfold", slot_l_hand_str = "blindfold") flash_protection = FLASH_PROTECTION_MAJOR tint = BLIND + drop_sound = 'sound/items/drop/gloves.ogg' /obj/item/clothing/glasses/sunglasses/blindfold/tape name = "length of tape" @@ -436,7 +439,7 @@ BLIND // can't see anything toggleable = 1 action_button_name = "Toggle Goggles" vision_flags = SEE_MOBS - enables_planes = list(VIS_FULLBRIGHT) + enables_planes = list(VIS_FULLBRIGHT, VIS_CLOAKED) flash_protection = FLASH_PROTECTION_REDUCED emp_act(severity) diff --git a/code/modules/clothing/gloves/antagonist.dm b/code/modules/clothing/gloves/antagonist.dm new file mode 100644 index 0000000000..d1a01d0e68 --- /dev/null +++ b/code/modules/clothing/gloves/antagonist.dm @@ -0,0 +1,157 @@ +/* + * Antagonist-specific gloves, such as traitor or ling-only types. + */ + +// Thief - Traitor / Merc +/obj/item/clothing/gloves/sterile/thieves + name = "sterile gloves" + desc = "Sterile gloves." + description_antag = "These gloves are uniquely suited for stealing, as well as breaking and entering. They have minor insulation.\ + Attempting to 'help' someone will open their backpack, if it exists, or their belt if they have no backpack, allowing you to deposit\ + items into the inventories. Be careful about making too much noise.\ + Disarm intent will swap the items in your LEFT pockets. Grab will swap RIGHT pockets." + icon_state = "latex" + item_state_slots = list(slot_r_hand_str = "white", slot_l_hand_str = "white") + siemens_coefficient = 0.5 // Not perfect, but slightly more protective than nothing. + permeability_coefficient = 0.01 + germ_level = 0 + fingerprint_chance = 10 // They're thieves' gloves. What do you think? + +/obj/item/clothing/gloves/sterile/thieves/proc/pickpocket(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/proximity) + if(!proximity || !user || !target) + return 0 + + if(!istype(target)) + return 0 + + if(user.a_intent != I_HURT && (turn(target.dir, 180) == get_dir(user, target))) + to_chat(target, "[user] rifles in your pockets!") + + if(user.a_intent == I_HELP) + if(istype(target.back,/obj/item/weapon/storage) && do_after(user, 3 SECONDS, target)) + var/obj/item/weapon/storage/Backpack = target.back + Backpack.open(user) + else if(istype(target.belt, /obj/item/weapon/storage) && do_after(user, 5 SECONDS, target)) + var/obj/item/weapon/storage/Belt = target.belt + Belt.open(user) + return 1 + + if(user.a_intent == I_DISARM) + var/obj/item/LTarg = target.l_store + var/obj/item/LUser = user.l_store + + if(do_after(user, 1 SECOND, target)) + if(istype(LTarg) && do_after(user, 1 SECOND, target)) + target.drop_from_inventory(LTarg) + target.l_store = null + user.l_store = LTarg + LTarg.forceMove(user) + LTarg.equipped(user, slot_l_store) + else + target.drop_from_inventory(LTarg) + + if(istype(LUser) && do_after(user, 1 SECOND, target)) + user.drop_from_inventory(LUser) + target.l_store = LUser + LUser.forceMove(target) + LUser.equipped(target, slot_l_store) + else if(istype(LUser) && LUser != user.l_store) // We've taken something, so drop the one that's in bluespace. + user.drop_from_inventory(LUser) + + return 1 + + if(user.a_intent == I_GRAB) + var/obj/item/RTarg = target.r_store + var/obj/item/RUser = user.r_store + + if(do_after(user, 1 SECOND, target)) + if(istype(RTarg) && do_after(user, 1 SECOND, target)) + target.drop_from_inventory(RTarg) + target.r_store = null + user.r_store = RTarg + RTarg.forceMove(user) + RTarg.equipped(user, slot_r_store) + else + target.drop_from_inventory(RTarg) + + if(istype(RUser) && do_after(user, 1 SECOND, target)) + user.drop_from_inventory(RUser) + target.r_store = RUser + RUser.forceMove(target) + RUser.equipped(target, slot_r_store) + else if(istype(RUser) && RUser != user.r_store) // We've taken something, so drop the one that's in bluespace. + user.drop_from_inventory(RUser) + + return 1 + +/obj/item/clothing/gloves/sterile/thieves/Touch(var/atom/A, var/proximity) + if(proximity && istype(usr, /mob/living/carbon/human) && do_after(usr, 1 SECOND, A)) + return pickpocket(usr, A, proximity) + return 0 + +// Buzzer Ring - Traitor, Merc. +/obj/item/clothing/gloves/ring/buzzer + name = "ring" + desc = "A plain metal band." + description_antag = "This morphium-alloy ring continually generates an electric field, capable of electrocuting a target while not injuring the wearer.\ + The device is also capable of 'frankenstein'-ing a corpse, long after normal technology would be able to save them. The body will still be tied to the\ + normal damage limits for survival, however, so care must be taken." + icon_state = "material" + var/battery_type = /obj/item/weapon/cell/device/weapon/recharge + var/obj/item/weapon/cell/battery = null + +/obj/item/clothing/gloves/ring/buzzer/get_cell() + return battery + +/obj/item/clothing/gloves/ring/buzzer/Initialize() + ..() + if(!battery) + battery = new battery_type(src) + +/obj/item/clothing/gloves/ring/buzzer/Touch(var/atom/A, var/proximity) + if(proximity && istype(usr, /mob/living/carbon/human)) + return zap(usr, A, proximity) + return 0 + +/obj/item/clothing/gloves/ring/buzzer/proc/zap(var/mob/living/carbon/human/user, var/atom/movable/target, var/proximity) + . = FALSE + if(user.a_intent == I_HURT && battery.percent() >= 50) + if(isliving(target)) + var/mob/living/L = target + + if(ishuman(L) && battery.percent() >= 90) // Silent text-wise, for maximum potential for gimmicks. + var/mob/living/carbon/human/H = L + + if(H.stat == DEAD) + . = TRUE + + do_defib(H) + + to_chat(L, "You feel a powerful shock!") + if(!.) + playsound(L, 'sound/effects/sparks7.ogg', 40, 1) + L.electrocute_act(battery.percent() * 0.25, src) + battery.emp_act(2) + return . + + return 0 + +/obj/item/clothing/gloves/ring/buzzer/proc/do_defib(var/mob/living/carbon/human/H = null) + if(!istype(H)) + return 0 + + dead_mob_list.Remove(H) + if((H in living_mob_list) || (H in dead_mob_list)) + WARNING("Mob [H] was ring-defibbed but already in the living or dead list still!") + living_mob_list += H + + H.timeofdeath = 0 + H.set_stat(UNCONSCIOUS) + H.failed_last_breath = 0 + H.reload_fullscreen() + + H.emote("gasp") + H.Weaken(rand(10,25)) + H.updatehealth() + + battery.emp_act(1) diff --git a/code/modules/clothing/gloves/arm_guards.dm b/code/modules/clothing/gloves/arm_guards.dm index 84ebecdc1e..558f855545 100644 --- a/code/modules/clothing/gloves/arm_guards.dm +++ b/code/modules/clothing/gloves/arm_guards.dm @@ -5,6 +5,7 @@ overgloves = 1 punch_force = 3 w_class = ITEMSIZE_NORMAL + drop_sound = 'sound/items/drop/metalshield.ogg' /obj/item/clothing/gloves/arm_guard/mob_can_equip(var/mob/living/carbon/human/H, slot) if(..()) //This will only run if no other problems occured when equiping. diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index a030bc038c..1c5ad9c05c 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -1,9 +1,12 @@ + + /obj/item/clothing/gloves/yellow desc = "These gloves will protect the wearer from electric shock." name = "insulated gloves" icon_state = "yellow" siemens_coefficient = 0 permeability_coefficient = 0.05 + drop_sound = 'sound/items/drop/rubber.ogg' /obj/item/clothing/gloves/fyellow //Cheap Chinese Crap desc = "These gloves are cheap copies of proper insulated gloves. No way this can end badly." @@ -11,6 +14,7 @@ icon_state = "yellow" siemens_coefficient = 1 //Set to a default of 1, gets overridden in initialize() permeability_coefficient = 0.05 + drop_sound = 'sound/items/drop/rubber.ogg' /obj/item/clothing/gloves/fyellow/Initialize() . = ..() diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 94e2d1fef0..b44dc54567 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -56,6 +56,7 @@ permeability_coefficient = 0.01 germ_level = 0 fingerprint_chance = 25 + drop_sound = 'sound/items/drop/rubber.ogg' // var/balloonPath = /obj/item/latexballon //TODO: Make inflating gloves a thing @@ -81,6 +82,7 @@ item_state_slots = list(slot_r_hand_str = "lightbrown", slot_l_hand_str = "lightbrown") permeability_coefficient = 0.05 siemens_coefficient = 0.75 //thick work gloves + drop_sound = 'sound/items/drop/leather.ogg' /obj/item/clothing/gloves/duty desc = "These brown duty gloves are made from a durable synthetic." @@ -109,6 +111,7 @@ siemens_coefficient = 0 permeability_coefficient = 0.05 species_restricted = list("Vox") + drop_sound = 'sound/items/drop/metalboots.ogg' cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE @@ -127,6 +130,7 @@ overgloves = 1 force = 5 punch_force = 5 + drop_sound = 'sound/items/drop/metalboots.ogg' /obj/item/clothing/gloves/ranger var/glovecolor = "white" diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index 8446b09446..810ac403f7 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -37,6 +37,7 @@ desc = "What looks like an ordinary paper hat, is actually a rare and valuable collector's edition paper hat. Keep away from water, fire and Librarians." icon_state = "paper" body_parts_covered = 0 + drop_sound = 'sound/items/drop/paper.ogg' /obj/item/clothing/head/collectable/tophat name = "collectable top hat" diff --git a/code/modules/clothing/head/flowercrowns.dm b/code/modules/clothing/head/flowercrowns.dm index 7e13993bcb..15bfe16162 100644 --- a/code/modules/clothing/head/flowercrowns.dm +++ b/code/modules/clothing/head/flowercrowns.dm @@ -36,21 +36,25 @@ desc = "A flower crown weaved with sunflowers." icon_state = "sunflower_crown" body_parts_covered = 0 + drop_sound = 'sound/items/drop/herb.ogg' /obj/item/clothing/head/lavender_crown name = "lavender crown" desc = "A flower crown weaved with lavender." icon_state = "lavender_crown" body_parts_covered = 0 + drop_sound = 'sound/items/drop/herb.ogg' /obj/item/clothing/head/poppy_crown name = "poppy crown" desc = "A flower crown weaved with poppies." icon_state = "poppy_crown" body_parts_covered = 0 + drop_sound = 'sound/items/drop/herb.ogg' /obj/item/clothing/head/rose_crown name = "rose crown" desc = "A flower crown weaved with roses." icon_state = "poppy_crown" body_parts_covered = 0 + drop_sound = 'sound/items/drop/herb.ogg' diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index e7d7cee13d..d3db7a5b17 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -10,6 +10,7 @@ action_button_name = "Toggle Head-light" w_class = ITEMSIZE_NORMAL ear_protection = 1 + drop_sound = 'sound/items/drop/helm.ogg' /obj/item/clothing/head/hardhat/orange icon_state = "hardhat0_orange" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 37941282aa..2f30326e78 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -14,6 +14,7 @@ siemens_coefficient = 0.7 w_class = ITEMSIZE_NORMAL ear_protection = 1 + drop_sound = 'sound/items/drop/helm.ogg' /obj/item/clothing/head/helmet/solgov name = "\improper Solar Confederate Government helmet" diff --git a/code/modules/clothing/head/hood_vr.dm b/code/modules/clothing/head/hood_vr.dm new file mode 100644 index 0000000000..f669d131f7 --- /dev/null +++ b/code/modules/clothing/head/hood_vr.dm @@ -0,0 +1,3 @@ +/obj/item/clothing/head/hood/techpriest + name = "techpriest hood" + armor = list(melee = 20, bullet = 10, laser = 10, energy = 10, bomb = 25, bio = 50, rad = 25) diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 368367c424..1b7544c351 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -17,6 +17,7 @@ desc = "A nice hair pin." slot_flags = SLOT_HEAD | SLOT_EARS body_parts_covered = 0 + drop_sound = 'sound/items/drop/ring.ogg' /obj/item/clothing/head/pin/pink icon_state = "pinkpin" @@ -168,6 +169,7 @@ icon_state = "cardborg_h" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = HEAD|FACE|EYES + drop_sound = 'sound/items/drop/box.ogg' /obj/item/clothing/head/justice name = "justice hat" @@ -420,6 +422,7 @@ desc = "A jeweled headpiece originating in India." icon_state = "maangtikka" body_parts_covered = 0 + drop_sound = 'sound/items/drop/accessory.ogg' /obj/item/clothing/head/jingasa name = "jingasa" @@ -427,7 +430,7 @@ icon_state = "jingasa" body_parts_covered = 0 item_state_slots = list(slot_r_hand_str = "taq", slot_l_hand_str = "taq") - + /obj/item/clothing/head/cowl name = "black cowl" desc = "A gold-lined black cowl. It gives off uncomfortable cult vibes, but fancy." diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 318a6687eb..a3da836d7c 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -28,6 +28,7 @@ var/base_state flash_protection = FLASH_PROTECTION_MAJOR tint = TINT_HEAVY + drop_sound = 'sound/items/drop/helm.ogg' /obj/item/clothing/head/welding/attack_self() toggle() @@ -167,6 +168,7 @@ brightness_on = 2 light_overlay = "helmet_light" w_class = ITEMSIZE_NORMAL + drop_sound = 'sound/items/drop/herb.ogg' /* * Kitty ears diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 00fccfea19..eab03a3c2e 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -169,7 +169,7 @@ body_parts_covered = HEAD|FACE|EYES w_class = ITEMSIZE_SMALL siemens_coefficient = 0.9 - + /obj/item/clothing/mask/nock_scarab name = "nock mask (blue, scarab)" desc = "To Nock followers, masks symbolize rebirth and a new persona. Damaging the wearer's mask is generally considered an attack on their person itself." diff --git a/code/modules/clothing/rings/rings.dm b/code/modules/clothing/rings/rings.dm index 2838de0d2f..b8313c5f97 100644 --- a/code/modules/clothing/rings/rings.dm +++ b/code/modules/clothing/rings/rings.dm @@ -1,3 +1,11 @@ +//Generic Ring + +/obj/item/clothing/gloves/ring + name = "generic ring" + desc = "Torus shaped finger decoration." + icon_state = "material" + drop_sound = 'sound/items/drop/ring.ogg' + ///////////////////////////////////////// //Standard Rings /obj/item/clothing/gloves/ring/engagement diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm index dd5e7956df..b0ccf41175 100644 --- a/code/modules/clothing/shoes/boots.dm +++ b/code/modules/clothing/shoes/boots.dm @@ -5,11 +5,13 @@ force = 3 can_hold_knife = 1 step_volume_mod = 1.2 + drop_sound = 'sound/items/drop/boots.ogg' /obj/item/clothing/shoes/boots/cowboy name = "cowboy boots" desc = "Lacking a durasteel horse to ride." icon_state = "cowboy" + drop_sound = 'sound/items/drop/leather.ogg' /obj/item/clothing/shoes/boots/cowboy/classic name = "classic cowboy boots" diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm index 85ffb970b8..8f72b24163 100644 --- a/code/modules/clothing/shoes/colour.dm +++ b/code/modules/clothing/shoes/colour.dm @@ -1,3 +1,4 @@ + /obj/item/clothing/shoes/black name = "black shoes" icon_state = "black" @@ -38,6 +39,7 @@ name = "leather shoes" desc = "A sturdy pair of leather shoes." icon_state = "leather" + drop_sound = 'sound/items/drop/leather.ogg' /obj/item/clothing/shoes/rainbow name = "rainbow shoes" diff --git a/code/modules/clothing/shoes/leg_guards.dm b/code/modules/clothing/shoes/leg_guards.dm index f90eebdc29..a6eefc1247 100644 --- a/code/modules/clothing/shoes/leg_guards.dm +++ b/code/modules/clothing/shoes/leg_guards.dm @@ -7,6 +7,7 @@ w_class = ITEMSIZE_NORMAL step_volume_mod = 1.3 can_hold_knife = TRUE + drop_sound = 'sound/items/drop/boots.ogg' /obj/item/clothing/shoes/leg_guard/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0) if(..()) //This will only run if no other problems occured when equiping. diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index bb4dd13fdb..4f10a56f9d 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -16,6 +16,7 @@ var/obj/item/clothing/shoes/shoes = null //Undershoes var/mob/living/carbon/human/wearer = null //For shoe procs step_volume_mod = 1.3 + drop_sound = 'sound/items/drop/metalboots.ogg' /obj/item/clothing/shoes/magboots/proc/set_slowdown() slowdown = shoes? max(SHOES_SLOWDOWN, shoes.slowdown): SHOES_SLOWDOWN //So you can't put on magboots to make you walk faster. @@ -36,6 +37,7 @@ set_slowdown() force = 5 if(icon_base) icon_state = "[icon_base]1" + playsound(get_turf(src), 'sound/effects/magnetclamp.ogg', 20) to_chat(user, "You enable the mag-pulse traction system.") user.update_inv_shoes() //so our mob-overlays update user.update_action_buttons() diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index e2a93f1dff..0e492c6d6c 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -24,6 +24,7 @@ item_flags = NOSLIP slowdown = SHOES_SLOWDOWN+1 species_restricted = null + drop_sound = 'sound/items/drop/rubber.ogg' /obj/item/clothing/shoes/dress name = "dress shoes" @@ -98,6 +99,7 @@ force = 0 species_restricted = null w_class = ITEMSIZE_SMALL + drop_sound = 'sound/items/drop/clothing.ogg' /obj/item/clothing/shoes/slippers_worn name = "worn bunny slippers" @@ -155,6 +157,7 @@ force = 0 w_class = ITEMSIZE_SMALL species_restricted = null + drop_sound = 'sound/items/drop/clothing.ogg' /obj/item/clothing/shoes/boots/ranger var/bootcolor = "white" diff --git a/code/modules/clothing/spacesuits/rig/modules/combat_vr.dm b/code/modules/clothing/spacesuits/rig/modules/combat_vr.dm deleted file mode 100644 index f62c0bf4b8..0000000000 --- a/code/modules/clothing/spacesuits/rig/modules/combat_vr.dm +++ /dev/null @@ -1,12 +0,0 @@ -/obj/item/rig_module/grenade_launcher/cleaner - name = "mounted cleaner-grenade launcher" - desc = "A shoulder-mounted cleaner-grenade dispenser." - - interface_name = "integrated cleaner-grenade launcher" - interface_desc = "Discharges loaded cleaner-grenades against the wearer's location." - - fire_force = 15 - - charges = list( - list("cleaner grenade", "cleaner grenade", /obj/item/weapon/grenade/chem_grenade/cleaner, 6) - ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm b/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm new file mode 100644 index 0000000000..6dc5fc4f01 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm @@ -0,0 +1,216 @@ +/obj/item/ai_verbs + name = "AI verb holder" + +/obj/item/ai_verbs/verb/hardsuit_interface() + set category = "Hardsuit" + set name = "Open Hardsuit Interface" + set src in usr + + if(!usr.loc || !usr.loc.loc || !istype(usr.loc.loc, /obj/item/rig_module)) + to_chat(usr, "You are not loaded into a hardsuit.") + return + + var/obj/item/rig_module/module = usr.loc.loc + if(!module.holder) + to_chat(usr, "Your module is not installed in a hardsuit.") + return + + module.holder.ui_interact(usr, nano_state = contained_state) + +/obj/item/rig_module/ai_container + + name = "IIS module" + desc = "An integrated intelligence system module suitable for most hardsuits." + icon_state = "IIS" + toggleable = 1 + usable = 1 + disruptive = 0 + activates_on_touch = 1 + + engage_string = "Eject AI" + activate_string = "Enable Core Transfer" + deactivate_string = "Disable Core Transfer" + + interface_name = "integrated intelligence system" + interface_desc = "A socket that supports a range of artificial intelligence systems." + + var/mob/integrated_ai // Direct reference to the actual mob held in the suit. + var/obj/item/ai_card // Reference to the MMI, posibrain, intellicard or pAI card previously holding the AI. + var/obj/item/ai_verbs/verb_holder + +/obj/item/rig_module/ai_container/process() + if(integrated_ai) + var/obj/item/weapon/rig/rig = get_rig() + if(rig && rig.ai_override_enabled) + integrated_ai.get_rig_stats = 1 + else + integrated_ai.get_rig_stats = 0 + +/mob/living/Stat() + . = ..() + if(. && get_rig_stats) + var/obj/item/weapon/rig/rig = get_rig() + if(rig) + SetupStat(rig) + +/obj/item/rig_module/ai_container/proc/update_verb_holder() + if(!verb_holder) + verb_holder = new(src) + if(integrated_ai) + verb_holder.forceMove(integrated_ai) + else + verb_holder.forceMove(src) + +/obj/item/rig_module/ai_container/accepts_item(var/obj/item/input_device, var/mob/living/user) + + // Check if there's actually an AI to deal with. + var/mob/living/silicon/ai/target_ai + if(istype(input_device, /mob/living/silicon/ai)) + target_ai = input_device + else + target_ai = locate(/mob/living/silicon/ai) in input_device.contents + + var/obj/item/device/aicard/card = ai_card + + // Downloading from/loading to a terminal. + if(istype(input_device,/obj/machinery/computer/aifixer) || istype(input_device,/mob/living/silicon/ai) || istype(input_device,/obj/structure/AIcore/deactivated)) + + // If we're stealing an AI, make sure we have a card for it. + if(!card) + card = new /obj/item/device/aicard(src) + + // Terminal interaction only works with an intellicarded AI. + if(!istype(card)) + return 0 + + // Since we've explicitly checked for three types, this should be safe. + input_device.attackby(card,user) + + // If the transfer failed we can delete the card. + if(locate(/mob/living/silicon/ai) in card) + ai_card = card + integrated_ai = locate(/mob/living/silicon/ai) in card + else + eject_ai() + update_verb_holder() + return 1 + + if(istype(input_device,/obj/item/device/aicard)) + // We are carding the AI in our suit. + if(integrated_ai) + integrated_ai.attackby(input_device,user) + // If the transfer was successful, we can clear out our vars. + if(integrated_ai.loc != src) + integrated_ai = null + eject_ai() + else + // You're using an empty card on an empty suit, idiot. + if(!target_ai) + return 0 + integrate_ai(input_device,user) + return 1 + + // Okay, it wasn't a terminal being touched, check for all the simple insertions. + if(input_device.type in list(/obj/item/device/paicard, /obj/item/device/mmi, /obj/item/device/mmi/digital/posibrain)) + if(integrated_ai) + integrated_ai.attackby(input_device,user) + // If the transfer was successful, we can clear out our vars. + if(integrated_ai.loc != src) + integrated_ai = null + eject_ai() + else + integrate_ai(input_device,user) + return 1 + + return 0 + +/obj/item/rig_module/ai_container/engage(atom/target) + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + if(!target) + if(ai_card) + if(istype(ai_card,/obj/item/device/aicard)) + ai_card.ui_interact(H, state = deep_inventory_state) + else + eject_ai(H) + update_verb_holder() + return 1 + + if(accepts_item(target,H)) + return 1 + + return 0 + +/obj/item/rig_module/ai_container/removed() + eject_ai() + ..() + +/obj/item/rig_module/ai_container/proc/eject_ai(var/mob/user) + + if(ai_card) + if(istype(ai_card, /obj/item/device/aicard)) + if(integrated_ai && !integrated_ai.stat) + if(user) + to_chat(user, "You cannot eject your currently stored AI. Purge it manually.") + return 0 + to_chat(user, "You purge the previous AI from your Integrated Intelligence System, freeing it for use.") + if(integrated_ai) + integrated_ai.ghostize() + qdel(integrated_ai) + integrated_ai = null + if(ai_card) + qdel(ai_card) + ai_card = null + else if(user) + user.put_in_hands(ai_card) + else + ai_card.forceMove(get_turf(src)) + ai_card = null + integrated_ai = null + update_verb_holder() + +/obj/item/rig_module/ai_container/proc/integrate_ai(var/obj/item/ai,var/mob/user) + if(!ai) return + + // The ONLY THING all the different AI systems have in common is that they all store the mob inside an item. + var/mob/living/ai_mob = locate(/mob/living) in ai.contents + if(ai_mob) + + if(ai_mob.key && ai_mob.client) + + if(istype(ai, /obj/item/device/aicard)) + + if(!ai_card) + ai_card = new /obj/item/device/aicard(src) + + var/obj/item/device/aicard/source_card = ai + var/obj/item/device/aicard/target_card = ai_card + if(istype(source_card) && istype(target_card)) + if(target_card.grab_ai(ai_mob, user)) + source_card.clear() + else + return 0 + else + return 0 + else + user.drop_from_inventory(ai) + ai.forceMove(src) + ai_card = ai + to_chat(ai_mob, "You have been transferred to \the [holder]'s [src].") + to_chat(user, "You load [ai_mob] into \the [holder]'s [src].") + + integrated_ai = ai_mob + + if(!(locate(integrated_ai) in ai_card)) + integrated_ai = null + eject_ai() + else + to_chat(user, "There is no active AI within \the [ai].") + else + to_chat(user, "There is no active AI within \the [ai].") + update_verb_holder() + return diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm new file mode 100644 index 0000000000..e8d6416e9a --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm @@ -0,0 +1,174 @@ +/obj/item/rig_module/chem_dispenser + name = "mounted chemical dispenser" + desc = "A complex web of tubing and needles suitable for hardsuit use." + icon_state = "injector" + usable = 1 + selectable = 0 + toggleable = 0 + disruptive = 0 + + engage_string = "Inject" + + interface_name = "integrated chemical dispenser" + interface_desc = "Dispenses loaded chemicals directly into the wearer's bloodstream." + + charges = list( + list("tricordrazine", "tricordrazine", 0, 80), + list("tramadol", "tramadol", 0, 80), + list("dexalin plus", "dexalinp", 0, 80), + list("antibiotics", "spaceacillin", 0, 80), + list("antitoxins", "anti_toxin", 0, 80), + list("nutrients", "glucose", 0, 80), + list("hyronalin", "hyronalin", 0, 80), + list("radium", "radium", 0, 80) + ) + + var/max_reagent_volume = 80 //Used when refilling. + +/obj/item/rig_module/chem_dispenser/ninja + interface_desc = "Dispenses loaded chemicals directly into the wearer's bloodstream. This variant is made to be extremely light and flexible." + + //Want more? Go refill. Gives the ninja another reason to have to show their face. + charges = list( + list("tricordrazine", "tricordrazine", 0, 30), + list("tramadol", "tramadol", 0, 30), + list("dexalin plus", "dexalinp", 0, 30), + list("antibiotics", "spaceacillin", 0, 30), + list("antitoxins", "anti_toxin", 0, 60), + list("nutrients", "glucose", 0, 80), + list("bicaridine", "bicaridine", 0, 30), + list("clotting agent", "myelamine", 0, 30), + list("peridaxon", "peridaxon", 0, 30), + list("hyronalin", "hyronalin", 0, 30), + list("radium", "radium", 0, 30) + ) + +/obj/item/rig_module/chem_dispenser/accepts_item(var/obj/item/input_item, var/mob/living/user) + + if(!input_item.is_open_container()) + return 0 + + if(!input_item.reagents || !input_item.reagents.total_volume) + to_chat(user, "\The [input_item] is empty.") + return 0 + + // Magical chemical filtration system, do not question it. + var/total_transferred = 0 + for(var/datum/reagent/R in input_item.reagents.reagent_list) + for(var/chargetype in charges) + var/datum/rig_charge/charge = charges[chargetype] + if(charge.display_name == R.id) + + var/chems_to_transfer = R.volume + + if((charge.charges + chems_to_transfer) > max_reagent_volume) + chems_to_transfer = max_reagent_volume - charge.charges + + charge.charges += chems_to_transfer + input_item.reagents.remove_reagent(R.id, chems_to_transfer) + total_transferred += chems_to_transfer + + break + + if(total_transferred) + to_chat(user, "You transfer [total_transferred] units into the suit reservoir.") + else + to_chat(user, "None of the reagents seem suitable.") + return 1 + +/obj/item/rig_module/chem_dispenser/engage(atom/target) + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + if(!charge_selected) + to_chat(H, "You have not selected a chemical type.") + return 0 + + var/datum/rig_charge/charge = charges[charge_selected] + + if(!charge) + return 0 + + var/chems_to_use = 10 + if(charge.charges <= 0) + to_chat(H, "Insufficient chems!") + return 0 + else if(charge.charges < chems_to_use) + chems_to_use = charge.charges + + var/mob/living/carbon/target_mob + if(target) + if(istype(target,/mob/living/carbon)) + target_mob = target + else + return 0 + else + target_mob = H + + if(target_mob != H) + to_chat(H, "You inject [target_mob] with [chems_to_use] unit\s of [charge.display_name].") + to_chat(target_mob, "You feel a rushing in your veins as [chems_to_use] unit\s of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected.") + target_mob.reagents.add_reagent(charge.display_name, chems_to_use) + + charge.charges -= chems_to_use + if(charge.charges < 0) charge.charges = 0 + + return 1 + +/obj/item/rig_module/chem_dispenser/combat + + name = "combat chemical injector" + desc = "A complex web of tubing and needles suitable for hardsuit use." + + charges = list( + list("synaptizine", "synaptizine", 0, 30), + list("hyperzine", "hyperzine", 0, 30), + list("oxycodone", "oxycodone", 0, 30), + list("nutrients", "glucose", 0, 80), + list("clotting agent", "myelamine", 0, 80) + ) + + interface_name = "combat chem dispenser" + interface_desc = "Dispenses loaded chemicals directly into the bloodstream." + + +/obj/item/rig_module/chem_dispenser/injector + + name = "mounted chemical injector" + desc = "A complex web of tubing and a large needle suitable for hardsuit use." + usable = 0 + selectable = 1 + disruptive = 1 + + interface_name = "mounted chem injector" + interface_desc = "Dispenses loaded chemicals via an arm-mounted injector." + +/obj/item/rig_module/chem_dispenser/injector/advanced + + charges = list( + list("tricordrazine", "tricordrazine", 0, 80), + list("tramadol", "tramadol", 0, 80), + list("dexalin plus", "dexalinp", 0, 80), + list("antibiotics", "spaceacillin", 0, 80), + list("antitoxins", "anti_toxin", 0, 80), + list("nutrients", "glucose", 0, 80), + list("hyronalin", "hyronalin", 0, 80), + list("radium", "radium", 0, 80), + list("clotting agent", "myelamine", 0, 80) + ) + +/obj/item/rig_module/chem_dispenser/injector/advanced/empty + charges = list( + list("tricordrazine", "tricordrazine", 0, 0), + list("tramadol", "tramadol", 0, 0), + list("dexalin plus", "dexalinp", 0, 0), + list("antibiotics", "spaceacillin", 0, 0), + list("antitoxins", "anti_toxin", 0, 0), + list("nutrients", "glucose", 0, 0), + list("hyronalin", "hyronalin", 0, 0), + list("radium", "radium", 0, 0), + list("clotting agent", "myelamine", 0, 0) + ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm new file mode 100644 index 0000000000..998fc3d46a --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm @@ -0,0 +1,70 @@ +/obj/item/rig_module/cleaner_launcher + + name = "mounted space cleaner launcher" + desc = "A shoulder-mounted micro-cleaner dispenser." + selectable = 1 + icon_state = "grenade_launcher" + + interface_name = "integrated cleaner launcher" + interface_desc = "Discharges loaded cleaner grenades against the wearer's location." + + var/fire_force = 30 + var/fire_distance = 10 + + charges = list( + list("cleaner grenade", "cleaner grenade", /obj/item/weapon/grenade/chem_grenade/cleaner, 9), + ) + +/obj/item/rig_module/cleaner_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user) + + if(!istype(input_device) || !istype(user)) + return 0 + + var/datum/rig_charge/accepted_item + for(var/charge in charges) + var/datum/rig_charge/charge_datum = charges[charge] + if(input_device.type == charge_datum.product_type) + accepted_item = charge_datum + break + + if(!accepted_item) + return 0 + + if(accepted_item.charges >= 5) + to_chat(user, "Another grenade of that type will not fit into the module.") + return 0 + + to_chat(user, "You slot \the [input_device] into the suit module.") + user.drop_from_inventory(input_device) + qdel(input_device) + accepted_item.charges++ + return 1 + +/obj/item/rig_module/cleaner_launcher/engage(atom/target) + + if(!..()) + return 0 + + if(!target) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + if(!charge_selected) + to_chat(H, "You have not selected a grenade type.") + return 0 + + var/datum/rig_charge/charge = charges[charge_selected] + + if(!charge) + return 0 + + if(charge.charges <= 0) + to_chat(H, "Insufficient grenades!") + return 0 + + charge.charges-- + var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H)) + H.visible_message("[H] launches \a [new_grenade]!") + new_grenade.activate(H) + new_grenade.throw_at(target,fire_force,fire_distance) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm b/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm new file mode 100644 index 0000000000..a1dfb05812 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm @@ -0,0 +1,53 @@ +/obj/item/rig_module/stealth_field + + name = "active camouflage module" + desc = "A robust hardsuit-integrated stealth module." + icon_state = "cloak" + + toggleable = 1 + disruptable = 1 + disruptive = 0 + + use_power_cost = 50 + active_power_cost = 10 + passive_power_cost = 0 + module_cooldown = 30 + + activate_string = "Enable Cloak" + deactivate_string = "Disable Cloak" + + interface_name = "integrated stealth system" + interface_desc = "An integrated active camouflage system." + + suit_overlay_active = "stealth_active" + suit_overlay_inactive = "stealth_inactive" + +/obj/item/rig_module/stealth_field/activate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + to_chat(H, "You are now nearly invisible to normal detection.") + H.alpha = 5 + + anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) + + H.visible_message("[H.name] vanishes into thin air!") + +/obj/item/rig_module/stealth_field/deactivate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + to_chat(H, "You are now visible.") + + anim(get_turf(H), H,'icons/mob/mob.dmi',,"uncloak",,H.dir) + anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) + H.alpha = initial(H.alpha) + + H.visible_message("[H.name] appears from thin air!") + playsound(get_turf(H), 'sound/effects/stealthoff.ogg', 75, 1) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm b/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm new file mode 100644 index 0000000000..be34426447 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm @@ -0,0 +1,86 @@ +/obj/item/rig_module/datajack + + name = "datajack module" + desc = "A simple induction datalink module." + icon_state = "datajack" + toggleable = 1 + activates_on_touch = 1 + usable = 0 + + activate_string = "Enable Datajack" + deactivate_string = "Disable Datajack" + + interface_name = "contact datajack" + interface_desc = "An induction-powered high-throughput datalink suitable for hacking encrypted networks." + var/list/stored_research + +/obj/item/rig_module/datajack/New() + ..() + stored_research = list() + +/obj/item/rig_module/datajack/engage(atom/target) + + if(!..()) + return 0 + + if(target) + var/mob/living/carbon/human/H = holder.wearer + if(!accepts_item(target,H)) + return 0 + return 1 + +/obj/item/rig_module/datajack/accepts_item(var/obj/item/input_device, var/mob/living/user) + + if(istype(input_device,/obj/item/weapon/disk/tech_disk)) + to_chat(user, "You slot the disk into [src].") + var/obj/item/weapon/disk/tech_disk/disk = input_device + if(disk.stored) + if(load_data(disk.stored)) + to_chat(user, "Download successful; disk erased.") + disk.stored = null + else + to_chat(user, "The disk is corrupt. It is useless to you.") + else + to_chat(user, "The disk is blank. It is useless to you.") + return 1 + + // I fucking hate R&D code. This typecheck spam would be totally unnecessary in a sane setup. Sanity? This is BYOND. + else if(istype(input_device,/obj/machinery)) + var/datum/research/incoming_files + if(istype(input_device,/obj/machinery/computer/rdconsole) ||\ + istype(input_device,/obj/machinery/r_n_d/server) ||\ + istype(input_device,/obj/machinery/mecha_part_fabricator)) + + incoming_files = input_device:files + + if(!incoming_files || !incoming_files.known_tech || !incoming_files.known_tech.len) + to_chat(user, "Memory failure. There is nothing accessible stored on this terminal.") + else + // Maybe consider a way to drop all your data into a target repo in the future. + if(load_data(incoming_files.known_tech)) + to_chat(user, "Download successful; local and remote repositories synchronized.") + else + to_chat(user, "Scan complete. There is nothing useful stored on this terminal.") + return 1 + return 0 + +/obj/item/rig_module/datajack/proc/load_data(var/incoming_data) + + if(islist(incoming_data)) + for(var/entry in incoming_data) + load_data(entry) + return 1 + + if(istype(incoming_data, /datum/tech)) + var/data_found + var/datum/tech/new_data = incoming_data + for(var/datum/tech/current_data in stored_research) + if(current_data.id == new_data.id) + data_found = 1 + if(current_data.level < new_data.level) + current_data.level = new_data.level + break + if(!data_found) + stored_research += incoming_data + return 1 + return 0 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/device.dm b/code/modules/clothing/spacesuits/rig/modules/specific/device.dm new file mode 100644 index 0000000000..044bdc143c --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/device.dm @@ -0,0 +1,176 @@ +/obj/item/rig_module/device + name = "mounted device" + desc = "Some kind of hardsuit mount." + usable = 0 + selectable = 1 + toggleable = 0 + disruptive = 0 + + var/device_type + var/obj/item/device + +/obj/item/rig_module/device/New() + ..() + if(device_type) device = new device_type(src) + +/obj/item/rig_module/device/engage(atom/target) + if(!..() || !device) + return 0 + + if(!target) + device.attack_self(holder.wearer) + return 1 + + var/turf/T = get_turf(target) + if(istype(T) && !T.Adjacent(get_turf(src))) + return 0 + + var/resolved = target.attackby(device,holder.wearer) + if(!resolved && device && target) + device.afterattack(target,holder.wearer,1) + return 1 + +/obj/item/rig_module/device/flash + name = "mounted flash" + desc = "You are the law." + icon_state = "flash" + interface_name = "mounted flash" + interface_desc = "Stuns your target by blinding them with a bright light." + device_type = /obj/item/device/flash/robot + +/obj/item/rig_module/device/plasmacutter + name = "hardsuit plasma cutter" + desc = "A lethal-looking industrial cutter." + icon_state = "plasmacutter" + interface_name = "plasma cutter" + interface_desc = "A self-sustaining plasma arc capable of cutting through walls." + suit_overlay_active = "plasmacutter" + suit_overlay_inactive = "plasmacutter" + use_power_cost = 0.5 + + device_type = /obj/item/weapon/pickaxe/plasmacutter + +/obj/item/rig_module/device/healthscanner + name = "health scanner module" + desc = "A hardsuit-mounted health scanner." + icon_state = "scanner" + interface_name = "health scanner" + interface_desc = "Shows an informative health readout when used on a subject." + + device_type = /obj/item/device/healthanalyzer + +/obj/item/rig_module/device/drill + name = "hardsuit drill mount" + desc = "A very heavy diamond-tipped drill." + icon_state = "drill" + interface_name = "mounted drill" + interface_desc = "A diamond-tipped industrial drill." + suit_overlay_active = "mounted-drill" + suit_overlay_inactive = "mounted-drill" + use_power_cost = 0.1 + + device_type = /obj/item/weapon/pickaxe/diamonddrill + +/obj/item/rig_module/device/anomaly_scanner + name = "hardsuit anomaly scanner" + desc = "You think it's called an Elder Sarsparilla or something." + icon_state = "eldersasparilla" + interface_name = "Alden-Saraspova counter" + interface_desc = "An exotic particle detector commonly used by xenoarchaeologists." + engage_string = "Begin Scan" + usable = 1 + selectable = 0 + device_type = /obj/item/device/ano_scanner + +/obj/item/rig_module/device/orescanner + name = "ore scanner module" + desc = "A clunky old ore scanner." + icon_state = "scanner" + interface_name = "ore detector" + interface_desc = "A sonar system for detecting large masses of ore." + engage_string = "Begin Scan" + usable = 1 + selectable = 0 + device_type = /obj/item/weapon/mining_scanner + +/obj/item/rig_module/device/rcd + name = "RCD mount" + desc = "A cell-powered rapid construction device for a hardsuit." + icon_state = "rcd" + interface_name = "mounted RCD" + interface_desc = "A device for building or removing walls. Cell-powered." + usable = 1 + engage_string = "Configure RCD" + + device_type = /obj/item/weapon/rcd/electric/mounted/rig + +/obj/item/rig_module/device/arch_drill + name = "archaeology drill mount" + desc = "A cell-powered fine-excavation device for a hardsuit." + icon_state = "exdrill" + interface_name = "mounted excavation tool" + interface_desc = "A device for excavating ancient relics." + usable = 1 + engage_string = "Configure Drill Depth" + + device_type = /obj/item/weapon/pickaxe/excavationdrill + +/obj/item/rig_module/device/paperdispenser + name = "hardsuit paper dispenser" + desc = "Crisp sheets." + icon_state = "paper" + interface_name = "paper dispenser" + interface_desc = "Dispenses warm, clean, and crisp sheets of paper." + engage_string = "Dispense" + usable = 1 + selectable = 0 + device_type = /obj/item/weapon/paper_bin + +/obj/item/rig_module/device/paperdispenser/engage(atom/target) + + if(!..() || !device) + return 0 + + if(!target) + device.attack_hand(holder.wearer) + return 1 + +/obj/item/rig_module/device/pen + name = "mounted pen" + desc = "For mecha John Hancocks." + icon_state = "pen" + interface_name = "mounted pen" + interface_desc = "Signatures with style(tm)." + engage_string = "Change color" + usable = 1 + device_type = /obj/item/weapon/pen/multi + +/obj/item/rig_module/device/stamp + name = "mounted internal affairs stamp" + desc = "DENIED." + icon_state = "stamp" + interface_name = "mounted stamp" + interface_desc = "Leave your mark." + engage_string = "Toggle stamp type" + usable = 1 + var/iastamp + var/deniedstamp + +/obj/item/rig_module/device/stamp/New() + ..() + iastamp = new /obj/item/weapon/stamp/internalaffairs(src) + deniedstamp = new /obj/item/weapon/stamp/denied(src) + device = iastamp + +/obj/item/rig_module/device/stamp/engage(atom/target) + if(!..() || !device) + return 0 + + if(!target) + if(device == iastamp) + device = deniedstamp + to_chat(holder.wearer, "Switched to denied stamp.") + else if(device == deniedstamp) + device = iastamp + to_chat(holder.wearer, "Switched to internal affairs stamp.") + return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/electrowarfare.dm b/code/modules/clothing/spacesuits/rig/modules/specific/electrowarfare.dm new file mode 100644 index 0000000000..f30be0b54a --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/electrowarfare.dm @@ -0,0 +1,30 @@ +/obj/item/rig_module/electrowarfare_suite + + name = "electrowarfare module" + desc = "A bewilderingly complex bundle of fiber optics and chips." + icon_state = "ewar" + toggleable = 1 + usable = 0 + + activate_string = "Enable Countermeasures" + deactivate_string = "Disable Countermeasures" + + interface_name = "electrowarfare system" + interface_desc = "An active counter-electronic warfare suite that disrupts AI tracking." + +/obj/item/rig_module/electrowarfare_suite/activate() + + if(!..()) + return + + // This is not the best way to handle this, but I don't want it to mess with ling camo + var/mob/living/M = holder.wearer + M.digitalcamo++ + +/obj/item/rig_module/electrowarfare_suite/deactivate() + + if(!..()) + return + + var/mob/living/M = holder.wearer + M.digitalcamo = max(0,(M.digitalcamo-1)) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm new file mode 100644 index 0000000000..9252b062bd --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm @@ -0,0 +1,98 @@ +/obj/item/rig_module/grenade_launcher + + name = "mounted grenade launcher" + desc = "A shoulder-mounted micro-explosive dispenser." + selectable = 1 + icon_state = "grenadelauncher" + + interface_name = "integrated grenade launcher" + interface_desc = "Discharges loaded grenades against the wearer's location." + + var/fire_force = 30 + var/fire_distance = 10 + + charges = list( + list("flashbang", "flashbang", /obj/item/weapon/grenade/flashbang, 3), + list("smoke bomb", "smoke bomb", /obj/item/weapon/grenade/smokebomb, 3), + list("EMP grenade", "EMP grenade", /obj/item/weapon/grenade/empgrenade, 3), + ) + +/obj/item/rig_module/grenade_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user) + + if(!istype(input_device) || !istype(user)) + return 0 + + var/datum/rig_charge/accepted_item + for(var/charge in charges) + var/datum/rig_charge/charge_datum = charges[charge] + if(input_device.type == charge_datum.product_type) + accepted_item = charge_datum + break + + if(!accepted_item) + return 0 + + if(accepted_item.charges >= 5) + to_chat(user, "Another grenade of that type will not fit into the module.") + return 0 + + to_chat(user, "You slot \the [input_device] into the suit module.") + user.drop_from_inventory(input_device) + qdel(input_device) + accepted_item.charges++ + return 1 + +/obj/item/rig_module/grenade_launcher/engage(atom/target) + + if(!..()) + return 0 + + if(!target) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + if(!charge_selected) + to_chat(H, "You have not selected a grenade type.") + return 0 + + var/datum/rig_charge/charge = charges[charge_selected] + + if(!charge) + return 0 + + if(charge.charges <= 0) + to_chat(H, "Insufficient grenades!") + return 0 + + charge.charges-- + var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H)) + H.visible_message("[H] launches \a [new_grenade]!") + new_grenade.activate(H) + new_grenade.throw_at(target,fire_force,fire_distance) + +/obj/item/rig_module/grenade_launcher/smoke + name = "mounted smoke-bomb launcher" + desc = "A shoulder-mounted smoke-bomb dispenser." + + interface_name = "integrated smoke-bomb launcher" + interface_desc = "Discharges loaded smoke-bombs against the wearer's location." + + fire_force = 15 + + charges = list( + list("smoke bomb", "smoke bomb", /obj/item/weapon/grenade/smokebomb, 6) + ) + +/obj/item/rig_module/grenade_launcher/flash + name = "mounted flashbang launcher" + desc = "A shoulder-mounted flashbang dispenser." + selectable = 1 + icon_state = "grenadelauncher" + + interface_name = "integrated flashbang launcher" + interface_desc = "Discharges loaded grenades against the wearer's location." + + charges = list( + list("flashbang", "flashbang", /obj/item/weapon/grenade/flashbang, 3) + ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm b/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm new file mode 100644 index 0000000000..8e71cf2745 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm @@ -0,0 +1,63 @@ +/obj/item/rig_module/fabricator + + name = "matter fabricator" + desc = "A self-contained microfactory system for hardsuit integration." + selectable = 1 + usable = 1 + use_power_cost = 15 + icon_state = "enet" + + engage_string = "Fabricate Star" + + interface_name = "death blossom launcher" + interface_desc = "An integrated microfactory that produces poisoned throwing stars from thin air and electricity." + + var/fabrication_type = /obj/item/weapon/material/star/ninja + var/fire_force = 30 + var/fire_distance = 10 + +/obj/item/rig_module/fabricator/engage(atom/target) + + if(!..()) + return 0 + + var/mob/living/H = holder.wearer + + if(target) + var/obj/item/firing = new fabrication_type() + firing.forceMove(get_turf(src)) + H.visible_message("[H] launches \a [firing]!") + firing.throw_at(target,fire_force,fire_distance) + else + if(H.l_hand && H.r_hand) + to_chat(H, "Your hands are full.") + else + var/obj/item/new_weapon = new fabrication_type() + new_weapon.forceMove(H) + to_chat(H, "You quickly fabricate \a [new_weapon].") + H.put_in_hands(new_weapon) + + return 1 + +/obj/item/rig_module/fabricator/energy_net + + name = "net projector" + desc = "Some kind of complex energy projector with a hardsuit mount." + icon_state = "enet" + + interface_name = "energy net launcher" + interface_desc = "An advanced energy-patterning projector used to capture targets." + + engage_string = "Fabricate Net" + + fabrication_type = /obj/item/weapon/energy_net + use_power_cost = 70 + +/obj/item/rig_module/fabricator/energy_net/engage(atom/target) + + if(holder && holder.wearer) + if(..(target) && target) + set_dir(get_dir(src,target)) // Face the target + holder.wearer.Beam(target,"n_beam",,10) + return 1 + return 0 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm b/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm new file mode 100644 index 0000000000..6f9f7e3804 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm @@ -0,0 +1,66 @@ +/obj/item/rig_module/maneuvering_jets + + name = "hardsuit maneuvering jets" + desc = "A compact gas thruster system for a hardsuit." + icon_state = "thrusters" + usable = 1 + toggleable = 1 + selectable = 0 + disruptive = 0 + + suit_overlay_active = "maneuvering_active" + suit_overlay_inactive = null //"maneuvering_inactive" + + engage_string = "Toggle Stabilizers" + activate_string = "Activate Thrusters" + deactivate_string = "Deactivate Thrusters" + + interface_name = "maneuvering jets" + interface_desc = "An inbuilt EVA maneuvering system that runs off the rig air supply." + + var/obj/item/weapon/tank/jetpack/rig/jets + +/obj/item/rig_module/maneuvering_jets/engage() + if(!..()) + return 0 + jets.toggle_rockets() + return 1 + +/obj/item/rig_module/maneuvering_jets/activate() + + if(active) + return 0 + + active = 1 + + spawn(1) + if(suit_overlay_active) + suit_overlay = suit_overlay_active + else + suit_overlay = null + holder.update_icon() + + if(!jets.on) + jets.toggle() + return 1 + +/obj/item/rig_module/maneuvering_jets/deactivate() + if(!..()) + return 0 + if(jets.on) + jets.toggle() + return 1 + +/obj/item/rig_module/maneuvering_jets/New() + ..() + jets = new(src) + +/obj/item/rig_module/maneuvering_jets/installed() + ..() + jets.holder = holder + jets.ion_trail.set_up(holder) + +/obj/item/rig_module/maneuvering_jets/removed() + ..() + jets.holder = null + jets.ion_trail.set_up(jets) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm new file mode 100644 index 0000000000..0843b9f779 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm @@ -0,0 +1,15 @@ + +/obj/item/rig_module/grenade_launcher/metalfoam + name = "mounted metalfoam grenade launcher" + desc = "A shoulder-mounted foam-bomb dispenser." + selectable = 1 + icon_state = "grenadelauncher" + + interface_name = "integrated metalfoam grenade launcher" + interface_desc = "Discharges loaded grenades against the wearer's location." + + fire_force = 15 + + charges = list( + list("metalfoam", "metalfoam", /obj/item/weapon/grenade/chem_grenade/metalfoam, 5) + ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm b/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm new file mode 100644 index 0000000000..97db6b3281 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm @@ -0,0 +1,175 @@ +/obj/item/rig_module/mounted + + name = "mounted laser cannon" + desc = "A shoulder-mounted battery-powered laser cannon mount." + selectable = 1 + usable = 1 + module_cooldown = 0 + icon_state = "lcannon" + + engage_string = "Configure" + + interface_name = "mounted laser cannon" + interface_desc = "A shoulder-mounted cell-powered laser cannon." + + var/gun_type = /obj/item/weapon/gun/energy/lasercannon/mounted + var/obj/item/weapon/gun/gun + +/obj/item/rig_module/mounted/New() + ..() + gun = new gun_type(src) + +/obj/item/rig_module/mounted/engage(atom/target) + + if(!..()) + return 0 + + if(!target) + gun.attack_self(holder.wearer) + return + + gun.Fire(target,holder.wearer) + return 1 + +/obj/item/rig_module/mounted/egun + + name = "mounted energy gun" + desc = "A forearm-mounted energy projector." + icon_state = "egun" + + interface_name = "mounted energy gun" + interface_desc = "A forearm-mounted suit-powered energy gun." + + gun_type = /obj/item/weapon/gun/energy/gun/mounted + +/obj/item/rig_module/mounted/taser + + name = "mounted taser" + desc = "A palm-mounted nonlethal energy projector." + icon_state = "taser" + + usable = 0 + + suit_overlay_active = "mounted-taser" + suit_overlay_inactive = "mounted-taser" + + interface_name = "mounted taser" + interface_desc = "A shoulder-mounted cell-powered taser." + + gun_type = /obj/item/weapon/gun/energy/taser/mounted + +/obj/item/rig_module/mounted/energy_blade + + name = "energy blade projector" + desc = "A powerful cutting beam projector." + icon_state = "eblade" + + activate_string = "Project Blade" + deactivate_string = "Cancel Blade" + + interface_name = "spider fang blade" + interface_desc = "A lethal energy projector that can shape a blade projected from the hand of the wearer or launch radioactive darts." + + usable = 0 + selectable = 1 + toggleable = 1 + use_power_cost = 50 + active_power_cost = 10 + passive_power_cost = 0 + + gun_type = /obj/item/weapon/gun/energy/crossbow/ninja + +/obj/item/rig_module/mounted/energy_blade/process() + + if(holder && holder.wearer) + if(!(locate(/obj/item/weapon/melee/energy/blade) in holder.wearer)) + deactivate() + return 0 + + return ..() + +/obj/item/rig_module/mounted/energy_blade/activate() + + ..() + + var/mob/living/M = holder.wearer + + if(M.l_hand && M.r_hand) + to_chat(M, "Your hands are full.") + deactivate() + return + + var/obj/item/weapon/melee/energy/blade/blade = new(M) + blade.creator = M + M.put_in_hands(blade) + +/obj/item/rig_module/mounted/energy_blade/deactivate() + + ..() + + var/mob/living/M = holder.wearer + + if(!M) + return + + for(var/obj/item/weapon/melee/energy/blade/blade in M.contents) + M.drop_from_inventory(blade) + qdel(blade) + +/obj/item/rig_module/mounted/mop + + name = "mop projector" + desc = "A powerful mop projector." + icon_state = "mop" + + activate_string = "Project Mop" + deactivate_string = "Cancel Mop" + + interface_name = "mop projector" + interface_desc = "A mop that can be deployed from the hand of the wearer." + + usable = 1 + selectable = 1 + toggleable = 1 + use_power_cost = 5 + active_power_cost = 0 + passive_power_cost = 0 + + gun_type = /obj/item/weapon/gun/energy/temperature/mounted + +/obj/item/rig_module/mounted/mop/process() + + if(holder && holder.wearer) + if(!(locate(/obj/item/weapon/mop_deploy) in holder.wearer)) + deactivate() + return 0 + + return ..() + +/obj/item/rig_module/mounted/mop/activate() + + ..() + + var/mob/living/M = holder.wearer + + if(M.l_hand && M.r_hand) + to_chat(M, "Your hands are full.") + deactivate() + return + + var/obj/item/weapon/mop_deploy/blade = new(M) + blade.creator = M + M.put_in_hands(blade) + +/obj/item/rig_module/mounted/mop/deactivate() + + ..() + + var/mob/living/M = holder.wearer + + if(!M) + return + + for(var/obj/item/weapon/mop_deploy/blade in M.contents) + M.drop_from_inventory(blade) + qdel(blade) diff --git a/code/modules/clothing/spacesuits/rig/modules/utility_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm similarity index 58% rename from code/modules/clothing/spacesuits/rig/modules/utility_vr.dm rename to code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm index a61f8126d1..7c7e8453d6 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility_vr.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm @@ -86,84 +86,3 @@ global_announcer.autosay(message, "Security Subsystem", "Command") global_announcer.autosay(message, "Security Subsystem", "Security") return 1 - -/obj/item/rig_module/rescue_pharm - name = "micro-pharmacy" - desc = "A small chemical dispenser with integrated micro cartridges." - usable = 0 - selectable = 1 - disruptive = 1 - toggleable = 1 - - use_power_cost = 0 - active_power_cost = 5 - - activate_string = "Enable Regen" - deactivate_string = "Disable Regen" - - interface_name = "mounted chem injector" - interface_desc = "Dispenses loaded chemicals via an arm-mounted injector." - - var/max_reagent_volume = 20 //Regen to this volume - var/chems_to_use = 5 //Per injection - - charges = list( - list("inaprovaline", "inaprovaline", 0, 20), - list("anti_toxin", "anti_toxin", 0, 20), - list("paracetamol", "paracetamol", 0, 20), - list("dexalin", "dexalin", 0, 20) - ) - -/obj/item/rig_module/rescue_pharm/process() - . = ..() - if(active) - var/did_work = 0 - - for(var/charge in charges) - var/datum/rig_charge/C = charges[charge] - - //Found one that isn't full - if(C.charges < max_reagent_volume) - did_work = 1 - C.charges += 1 - break - - if (!did_work) - deactivate() //All done - -/obj/item/rig_module/rescue_pharm/engage(atom/target) - if(!target) - return 1 //You're just toggling the module on, not clicking someone. - - var/mob/living/carbon/human/H = holder.wearer - - if(!charge_selected) - to_chat(H,"You have not selected a chemical type.") - return 0 - - var/datum/rig_charge/charge = charges[charge_selected] - - if(!charge) - return 0 - - if(charge.charges <= 0) - to_chat(H,"Insufficient chems!") - return 0 - - else if(charge.charges < chems_to_use) - chems_to_use = charge.charges - - var/mob/living/carbon/target_mob - if(istype(target,/mob/living/carbon)) - target_mob = target - else - return 0 - - to_chat(H,"You inject [target_mob == H ? "yourself" : target_mob] with [chems_to_use] unit\s of [charge.short_name].") - to_chat(target_mob,"You feel a rushing in your veins as you're injected by \the [src].") - target_mob.reagents.add_reagent(charge.display_name, chems_to_use) - - charge.charges -= chems_to_use - if(charge.charges < 0) charge.charges = 0 - - return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm b/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm new file mode 100644 index 0000000000..ec8fba92d6 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm @@ -0,0 +1,129 @@ +/obj/item/rig_module/power_sink + name = "hardsuit power sink" + desc = "An heavy-duty power sink." + icon_state = "powersink" + toggleable = 1 + activates_on_touch = 1 + disruptive = 0 + + activate_string = "Enable Power Sink" + deactivate_string = "Disable Power Sink" + + interface_name = "niling d-sink" + interface_desc = "Colloquially known as a power siphon, this module drains power through the suit hands into the suit battery." + + var/atom/interfaced_with // Currently draining power from this device. + var/total_power_drained = 0 + var/drain_loc + +/obj/item/rig_module/power_sink/deactivate() + + if(interfaced_with) + if(holder && holder.wearer) + to_chat(holder.wearer, "Your power sink retracts as the module deactivates.") + drain_complete() + interfaced_with = null + total_power_drained = 0 + return ..() + +/obj/item/rig_module/power_sink/activate() + interfaced_with = null + total_power_drained = 0 + return ..() + +/obj/item/rig_module/power_sink/engage(atom/target) + + if(!..()) + return 0 + + //Target wasn't supplied or we're already draining. + if(interfaced_with) + return 0 + + if(!target) + return 1 + + // Are we close enough? + var/mob/living/carbon/human/H = holder.wearer + if(!target.Adjacent(H)) + return 0 + + // Is it a valid power source? + if(target.drain_power(1) <= 0) + return 0 + + to_chat(H, "You begin draining power from [target]!") + interfaced_with = target + drain_loc = interfaced_with.loc + + holder.spark_system.start() + playsound(H.loc, 'sound/effects/sparks2.ogg', 50, 1) + + return 1 + +/obj/item/rig_module/power_sink/accepts_item(var/obj/item/input_device, var/mob/living/user) + var/can_drain = input_device.drain_power(1) + if(can_drain > 0) + engage(input_device) + return 1 + return 0 + +/obj/item/rig_module/power_sink/process() + + if(!interfaced_with) + return ..() + + var/mob/living/carbon/human/H + if(holder && holder.wearer) + H = holder.wearer + + if(!H || !istype(H)) + return 0 + + holder.spark_system.start() + playsound(H.loc, 'sound/effects/sparks2.ogg', 50, 1) + + H.break_cloak() + + if(!holder.cell) + to_chat(H, "Your power sink flashes an error; there is no cell in your rig.") + drain_complete(H) + return + + if(!interfaced_with || !interfaced_with.Adjacent(H) || !(interfaced_with.loc == drain_loc)) + to_chat(H, "Your power sink retracts into its casing.") + drain_complete(H) + return + + if(holder.cell.fully_charged()) + to_chat(H, "Your power sink flashes an amber light; your rig cell is full.") + drain_complete(H) + return + + // Attempts to drain up to 12.5*cell-capacity kW, determines this value from remaining cell capacity to ensure we don't drain too much. + // 1Ws/(12.5*CELLRATE) = 40s to charge + var/to_drain = min(12.5*holder.cell.maxcharge, ((holder.cell.maxcharge - holder.cell.charge) / CELLRATE)) + var/target_drained = interfaced_with.drain_power(0,0,to_drain) + if(target_drained <= 0) + to_chat(H, "Your power sink flashes a red light; there is no power left in [interfaced_with].") + drain_complete(H) + return + + holder.cell.give(target_drained * CELLRATE) + total_power_drained += target_drained + + return + +/obj/item/rig_module/power_sink/proc/drain_complete(var/mob/living/M) + + if(!interfaced_with) + if(M) + to_chat(M, "Total power drained: [round(total_power_drained*CELLRATE)] cell units.") + else + if(M) + to_chat(M, "Total power drained from [interfaced_with]: [round(total_power_drained*CELLRATE)] cell units.") + interfaced_with.drain_power(0,1,0) // Damage the victim. + + drain_loc = null + interfaced_with = null + total_power_drained = 0 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm new file mode 100644 index 0000000000..d3c840a12f --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm @@ -0,0 +1,80 @@ +/obj/item/rig_module/rescue_pharm + name = "micro-pharmacy" + desc = "A small chemical dispenser with integrated micro cartridges." + usable = 0 + selectable = 1 + disruptive = 1 + toggleable = 1 + + use_power_cost = 0 + active_power_cost = 5 + + activate_string = "Enable Regen" + deactivate_string = "Disable Regen" + + interface_name = "mounted chem injector" + interface_desc = "Dispenses loaded chemicals via an arm-mounted injector." + + var/max_reagent_volume = 20 //Regen to this volume + var/chems_to_use = 5 //Per injection + + charges = list( + list("inaprovaline", "inaprovaline", 0, 20), + list("anti_toxin", "anti_toxin", 0, 20), + list("paracetamol", "paracetamol", 0, 20), + list("dexalin", "dexalin", 0, 20) + ) + +/obj/item/rig_module/rescue_pharm/process() + . = ..() + if(active) + var/did_work = 0 + + for(var/charge in charges) + var/datum/rig_charge/C = charges[charge] + + //Found one that isn't full + if(C.charges < max_reagent_volume) + did_work = 1 + C.charges += 1 + break + + if (!did_work) + deactivate() //All done + +/obj/item/rig_module/rescue_pharm/engage(atom/target) + if(!target) + return 1 //You're just toggling the module on, not clicking someone. + + var/mob/living/carbon/human/H = holder.wearer + + if(!charge_selected) + to_chat(H,"You have not selected a chemical type.") + return 0 + + var/datum/rig_charge/charge = charges[charge_selected] + + if(!charge) + return 0 + + if(charge.charges <= 0) + to_chat(H,"Insufficient chems!") + return 0 + + else if(charge.charges < chems_to_use) + chems_to_use = charge.charges + + var/mob/living/carbon/target_mob + if(istype(target,/mob/living/carbon)) + target_mob = target + else + return 0 + + to_chat(H,"You inject [target_mob == H ? "yourself" : target_mob] with [chems_to_use] unit\s of [charge.short_name].") + to_chat(target_mob,"You feel a rushing in your veins as you're injected by \the [src].") + target_mob.reagents.add_reagent(charge.display_name, chems_to_use) + + charge.charges -= chems_to_use + if(charge.charges < 0) charge.charges = 0 + + return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm b/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm new file mode 100644 index 0000000000..391bdf8f6c --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm @@ -0,0 +1,50 @@ +/obj/item/rig_module/self_destruct + + name = "self-destruct module" + desc = "Oh my God, a bomb!" + icon_state = "deadman" + usable = 1 + active = 1 + permanent = 1 + var/datum/effect/effect/system/smoke_spread/bad/smoke + var/smoke_strength = 8 + + engage_string = "Detonate" + + interface_name = "dead man's switch" + interface_desc = "An integrated self-destruct module. When the wearer dies, they vanish in smoke. Do not press this button." + +/obj/item/rig_module/self_destruct/New() + ..() + src.smoke = new /datum/effect/effect/system/smoke_spread/bad() + src.smoke.attach(src) + +/obj/item/rig_module/self_destruct/Destroy() + qdel(smoke) + smoke = null + return ..() + +/obj/item/rig_module/self_destruct/activate() + return + +/obj/item/rig_module/self_destruct/deactivate() + return + +/obj/item/rig_module/self_destruct/process() + + // Not being worn, leave it alone. + if(!holder || !holder.wearer || !holder.wearer.wear_suit == holder) + return 0 + + //OH SHIT. + if(holder.wearer.stat == 2) + engage(1) + +/obj/item/rig_module/self_destruct/engage(var/skip_check) + if(!skip_check && usr && alert(usr, "Are you sure you want to push that button?", "Self-destruct", "No", "Yes") == "No") + return + if(holder && holder.wearer) + smoke.set_up(10, 0, holder.loc) + for(var/i = 1 to smoke_strength) + smoke.start(272727) + holder.wearer.ash() diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm b/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm new file mode 100644 index 0000000000..f69f053260 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm @@ -0,0 +1,43 @@ +/obj/item/rig_module/sprinter + name = "sprint module" + desc = "A robust hardsuit-integrated sprint module." + icon_state = "sprinter" + + var/sprint_speed = 1 + + toggleable = 1 + disruptable = 1 + disruptive = 0 + + use_power_cost = 50 + active_power_cost = 5 + passive_power_cost = 0 + module_cooldown = 30 + + activate_string = "Enable Sprint" + deactivate_string = "Disable Sprint" + + interface_name = "sprint system" + interface_desc = "Increases power to the suit's actuators, allowing faster movement." + +/obj/item/rig_module/sprinter/activate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + to_chat(H, "You activate the suit's sprint mode.") + + holder.slowdown = initial(holder.slowdown) - sprint_speed + +/obj/item/rig_module/sprinter/deactivate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + to_chat(H, "Your hardsuit returns to normal speed.") + + holder.slowdown = initial(holder.slowdown) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm b/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm new file mode 100644 index 0000000000..1f533f98fe --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm @@ -0,0 +1,80 @@ +/obj/item/rig_module/teleporter + + name = "teleportation module" + desc = "A complex, sleek-looking, hardsuit-integrated teleportation module." + icon_state = "teleporter" + use_power_cost = 200 + redundant = 1 + usable = 1 + selectable = 1 + + engage_string = "Emergency Leap" + + interface_name = "VOID-shift phase projector" + interface_desc = "An advanced teleportation system. It is capable of pinpoint precision or random leaps forward." + +/obj/item/rig_module/teleporter/proc/phase_in(var/mob/M,var/turf/T) + + if(!M || !T) + return + + holder.spark_system.start() + playsound(T, 'sound/effects/phasein.ogg', 25, 1) + playsound(T, 'sound/effects/sparks2.ogg', 50, 1) + anim(T,M,'icons/mob/mob.dmi',,"phasein",,M.dir) + +/obj/item/rig_module/teleporter/proc/phase_out(var/mob/M,var/turf/T) + + if(!M || !T) + return + + playsound(T, "sparks", 50, 1) + anim(T,M,'icons/mob/mob.dmi',,"phaseout",,M.dir) + +/obj/item/rig_module/teleporter/engage(var/atom/target, var/notify_ai) + + var/mob/living/carbon/human/H = holder.wearer + + if(!istype(H.loc, /turf)) + to_chat(H, "You cannot teleport out of your current location.") + return 0 + + var/turf/T + if(target) + T = get_turf(target) + else + T = get_teleport_loc(get_turf(H), H, 6, 1, 1, 1) + + if(!T) + to_chat(H, "No valid teleport target found.") + return 0 + + if(T.density) + to_chat(H, "You cannot teleport into solid walls.") + return 0 + + if(T.z in using_map.admin_levels) + to_chat(H, "You cannot use your teleporter on this Z-level.") + return 0 + + if(T.contains_dense_objects()) + to_chat(H, "You cannot teleport to a location with solid objects.") + return 0 + + if(T.z != H.z || get_dist(T, get_turf(H)) > world.view) + to_chat(H, "You cannot teleport to such a distant object.") + return 0 + + if(!..()) return 0 + + phase_out(H,get_turf(H)) + H.forceMove(T) + phase_in(H,get_turf(H)) + + for(var/obj/item/weapon/grab/G in H.contents) + if(G.affecting) + phase_out(G.affecting,get_turf(G.affecting)) + G.affecting.forceMove(locate(T.x+rand(-1,1),T.y+rand(-1,1),T.z)) + phase_in(G.affecting,get_turf(G.affecting)) + + return 1 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm b/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm new file mode 100644 index 0000000000..7e73f08880 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm @@ -0,0 +1,237 @@ +/* + * Contains + * /obj/item/rig_module/vision + * /obj/item/rig_module/vision/multi + * /obj/item/rig_module/vision/meson + * /obj/item/rig_module/vision/thermal + * /obj/item/rig_module/vision/nvg + * /obj/item/rig_module/vision/medhud + * /obj/item/rig_module/vision/sechud + */ + +/datum/rig_vision + var/mode + var/obj/item/clothing/glasses/glasses + +/datum/rig_vision/nvg + mode = "night vision" + +/datum/rig_vision/nvg/New() + glasses = new /obj/item/clothing/glasses/night + +/datum/rig_vision/thermal + mode = "thermal scanner" + +/datum/rig_vision/thermal/New() + glasses = new /obj/item/clothing/glasses/thermal + +/datum/rig_vision/meson + mode = "meson scanner" + +/datum/rig_vision/meson/New() + glasses = new /obj/item/clothing/glasses/meson + +/datum/rig_vision/sechud + mode = "security HUD" + +/datum/rig_vision/sechud/New() + glasses = new /obj/item/clothing/glasses/hud/security + +/datum/rig_vision/medhud + mode = "medical HUD" + +/datum/rig_vision/medhud/New() + glasses = new /obj/item/clothing/glasses/hud/health + +/datum/rig_vision/material + mode = "material scanner" + +/datum/rig_vision/material/New() + glasses = new /obj/item/clothing/glasses/material + +/obj/item/rig_module/vision + + name = "hardsuit visor" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "optics" + + interface_name = "optical scanners" + interface_desc = "An integrated multi-mode vision system." + + usable = 1 + toggleable = 1 + disruptive = 0 + module_cooldown = 0 + + engage_string = "Cycle Visor Mode" + activate_string = "Enable Visor" + deactivate_string = "Disable Visor" + + var/datum/rig_vision/vision + var/list/vision_modes = list( + /datum/rig_vision/nvg, + /datum/rig_vision/thermal, + /datum/rig_vision/meson + ) + + var/vision_index + +/obj/item/rig_module/vision/multi + + name = "hardsuit optical package" + desc = "A complete visor system of optical scanners and vision modes." + icon_state = "fulloptics" + + + interface_name = "multi optical visor" + interface_desc = "An integrated multi-mode vision system." + + vision_modes = list(/datum/rig_vision/meson, + /datum/rig_vision/material, + /datum/rig_vision/nvg, + /datum/rig_vision/thermal, + /datum/rig_vision/sechud, + /datum/rig_vision/medhud) + +/obj/item/rig_module/vision/meson + + name = "hardsuit meson scanner" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "meson" + + usable = 0 + + interface_name = "meson scanner" + interface_desc = "An integrated meson scanner." + + vision_modes = list(/datum/rig_vision/meson) + +/obj/item/rig_module/vision/material + + name = "hardsuit material scanner" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "meson" + + usable = 0 + + interface_name = "material scanner" + interface_desc = "An integrated material scanner." + + vision_modes = list(/datum/rig_vision/material) + +/obj/item/rig_module/vision/mining + + name = "hardsuit mining scanners" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "optics" + + usable = 0 + + interface_name = "mining scanners" + interface_desc = "An integrated mining scanner array." + + vision_modes = list(/datum/rig_vision/material, + /datum/rig_vision/meson) + +/obj/item/rig_module/vision/thermal + + name = "hardsuit thermal scanner" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "thermal" + + usable = 0 + + interface_name = "thermal scanner" + interface_desc = "An integrated thermal scanner." + + vision_modes = list(/datum/rig_vision/thermal) + +/obj/item/rig_module/vision/nvg + + name = "hardsuit night vision interface" + desc = "A multi input night vision system for a hardsuit." + icon_state = "night" + + usable = 0 + + interface_name = "night vision interface" + interface_desc = "An integrated night vision system." + + vision_modes = list(/datum/rig_vision/nvg) + +/obj/item/rig_module/vision/sechud + + name = "hardsuit security hud" + desc = "A simple tactical information system for a hardsuit." + icon_state = "securityhud" + + usable = 0 + + interface_name = "security HUD" + interface_desc = "An integrated security heads up display." + + vision_modes = list(/datum/rig_vision/sechud) + +/obj/item/rig_module/vision/medhud + + name = "hardsuit medical hud" + desc = "A simple medical status indicator for a hardsuit." + icon_state = "healthhud" + + usable = 0 + + interface_name = "medical HUD" + interface_desc = "An integrated medical heads up display." + + vision_modes = list(/datum/rig_vision/medhud) + + +// There should only ever be one vision module installed in a suit. +/obj/item/rig_module/vision/installed() + ..() + holder.visor = src + +/obj/item/rig_module/vision/engage() + + if(!..() || !vision_modes) + return 0 + + // Don't cycle if this engage() is being called by activate(). + if(!active) + to_chat(holder.wearer, "You activate your visual sensors.") + return 1 + + if(vision_modes.len > 1) + vision_index++ + if(vision_index > vision_modes.len) + vision_index = 1 + vision = vision_modes[vision_index] + + to_chat(holder.wearer, "You cycle your sensors to [vision.mode] mode.") + else + to_chat(holder.wearer, "Your sensors only have one mode.") + return 1 + +/obj/item/rig_module/vision/activate() + if((. = ..()) && holder.wearer) + holder.wearer.recalculate_vis() + +/obj/item/rig_module/vision/deactivate() + if((. = ..()) && holder.wearer) + holder.wearer.recalculate_vis() + +/obj/item/rig_module/vision/New() + ..() + + if(!vision_modes) + return + + vision_index = 1 + var/list/processed_vision = list() + + for(var/vision_mode in vision_modes) + var/datum/rig_vision/vision_datum = new vision_mode + if(!vision) vision = vision_datum + processed_vision += vision_datum + + vision_modes = processed_vision \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm b/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm new file mode 100644 index 0000000000..0df94d756b --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm @@ -0,0 +1,52 @@ +/obj/item/rig_module/voice + + name = "hardsuit voice synthesiser" + desc = "A speaker box and sound processor." + icon_state = "megaphone" + usable = 1 + selectable = 0 + toggleable = 0 + disruptive = 0 + + engage_string = "Configure Synthesiser" + + interface_name = "voice synthesiser" + interface_desc = "A flexible and powerful voice modulator system." + + var/obj/item/voice_changer/voice_holder + +/obj/item/rig_module/voice/New() + ..() + voice_holder = new(src) + voice_holder.active = 0 + +/obj/item/rig_module/voice/installed() + ..() + holder.speech = src + +/obj/item/rig_module/voice/engage() + + if(!..()) + return 0 + + var/choice= input("Would you like to toggle the synthesiser or set the name?") as null|anything in list("Enable","Disable","Set Name") + + if(!choice) + return 0 + + switch(choice) + if("Enable") + active = 1 + voice_holder.active = 1 + to_chat(usr, "You enable the speech synthesiser.") + if("Disable") + active = 0 + voice_holder.active = 0 + to_chat(usr, "You disable the speech synthesiser.") + if("Set Name") + var/raw_choice = sanitize(input(usr, "Please enter a new name.") as text|null, MAX_NAME_LEN) + if(!raw_choice) + return 0 + voice_holder.voice = raw_choice + to_chat(usr, "You are now mimicking [voice_holder.voice].") + return 1 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index c0b2065b86..2362cb7990 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -5,6 +5,7 @@ * /obj/item/rig_module/device/drill * /obj/item/rig_module/device/orescanner * /obj/item/rig_module/device/rcd + * /obj/item/rig_module/device/arch_drill * /obj/item/rig_module/device/anomaly_scanner * /obj/item/rig_module/maneuvering_jets * /obj/item/rig_module/foam_sprayer @@ -96,6 +97,17 @@ device_type = /obj/item/weapon/rcd/electric/mounted/rig +/obj/item/rig_module/device/arch_drill + name = "archaeology drill mount" + desc = "A cell-powered fine-excavation device for a hardsuit." + icon_state = "exdrill" + interface_name = "mounted excavation tool" + interface_desc = "A device for excavating ancient relics." + usable = 1 + engage_string = "Configure Drill Depth" + + device_type = /obj/item/weapon/pickaxe/excavationdrill + /obj/item/rig_module/device/New() ..() if(device_type) device = new device_type(src) @@ -117,8 +129,6 @@ device.afterattack(target,holder.wearer,1) return 1 - - /obj/item/rig_module/chem_dispenser name = "mounted chemical dispenser" desc = "A complex web of tubing and needles suitable for hardsuit use." @@ -418,29 +428,14 @@ interface_name = "mop projector" interface_desc = "A mop that can be deployed from the hand of the wearer." - usable = 0 + usable = 1 selectable = 1 toggleable = 1 - use_power_cost = 0 + use_power_cost = 5 active_power_cost = 0 passive_power_cost = 0 - gun = /obj/item/weapon/reagent_containers/spray/cleaner - -//obj/item/weapon/reagent_containers/spray/cleaner -// spary = - -/obj/item/rig_module/mounted/engage(atom/target) - - if(!..()) - return 0 - - if(!target) - gun.attack_self(holder.wearer) - return 1 - - gun.Fire(target,holder.wearer) - return 1 + gun_type = /obj/item/weapon/gun/energy/temperature/mounted /obj/item/rig_module/mounted/mop/process() @@ -655,4 +650,4 @@ to_chat(H, "Your hardsuit returns to normal speed.") - holder.slowdown = initial(holder.slowdown) \ No newline at end of file + holder.slowdown = initial(holder.slowdown) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 5e06b1f037..7000801506 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -235,19 +235,10 @@ /obj/item/weapon/rig/proc/cut_suit() offline = 2 canremove = 1 - for(var/obj/item/piece in list(helmet,boots,gloves,chest)) - if(!piece) continue - piece.icon_state = "[suit_state]" - if(airtight) - update_airtight(piece, 0) // Unseal - piece.canremove = 1 - if(istype(loc, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = loc - H.drop_from_inventory(piece) - piece.forceMove(get_turf(src)) - piece.dropped() - piece.canremove = 0 - piece.forceMove(src) + toggle_piece("helmet", loc, ONLY_RETRACT, TRUE) + toggle_piece("gauntlets", loc, ONLY_RETRACT, TRUE) + toggle_piece("boots", loc, ONLY_RETRACT, TRUE) + toggle_piece("chest", loc, ONLY_RETRACT, TRUE) update_icon(1) /obj/item/weapon/rig/proc/toggle_seals(var/mob/living/carbon/human/M,var/instant) @@ -758,15 +749,15 @@ wearer.wearing_rig = src update_icon() -/obj/item/weapon/rig/proc/toggle_piece(var/piece, var/mob/living/carbon/human/H, var/deploy_mode) +/obj/item/weapon/rig/proc/toggle_piece(var/piece, var/mob/living/carbon/human/H, var/deploy_mode, var/forced = FALSE) - if(sealing || !cell || !cell.charge) + if((sealing || !cell || !cell.charge) && !forced) return - if(!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) + if((!istype(wearer) || (!wearer.back == src && !wearer.belt == src)) && !forced) return - if(usr == wearer && (usr.stat||usr.paralysis||usr.stunned)) // If the usr isn't wearing the suit it's probably an AI. + if((usr == wearer && (usr.stat||usr.paralysis||usr.stunned)) && !forced) // If the usr isn't wearing the suit it's probably an AI. return var/obj/item/check_slot diff --git a/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm b/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm index 9d75d1ee11..b9cd2db0b4 100644 --- a/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm +++ b/code/modules/clothing/spacesuits/rig/rig_pieces_vr.dm @@ -3,14 +3,13 @@ SPECIES_TAJ = 'icons/mob/species/tajaran/helmet.dmi', SPECIES_SKRELL = 'icons/mob/species/skrell/helmet.dmi', SPECIES_UNATHI = 'icons/mob/species/unathi/helmet.dmi', - SPECIES_NEVREAN = 'icons/mob/species/nevrean/helmet_vr.dmi', + SPECIES_XENOHYBRID = 'icons/mob/species/unathi/helmet.dmi', SPECIES_AKULA = 'icons/mob/species/akula/helmet_vr.dmi', SPECIES_SERGAL = 'icons/mob/species/sergal/helmet_vr.dmi', - SPECIES_ZORREN_FLAT = 'icons/mob/species/fennec/helmet_vr.dmi', - SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/helmet_vr.dmi', SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/helmet.dmi', + SPECIES_ZORREN_HIGH = 'icons/mob/species/vulpkanin/helmet.dmi', + SPECIES_FENNEC = 'icons/mob/species/vulpkanin/helmet.dmi', SPECIES_PROMETHEAN = 'icons/mob/species/skrell/helmet.dmi', - SPECIES_XENOHYBRID = 'icons/mob/species/unathi/helmet.dmi', SPECIES_VOX = 'icons/mob/species/vox/head.dmi', SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', SPECIES_GREY_YW = 'icons/mob/species/grey/helmet.dmi' /*ywedit*/ @@ -23,14 +22,13 @@ SPECIES_TAJ = 'icons/mob/species/tajaran/suit.dmi', SPECIES_SKRELL = 'icons/mob/species/skrell/suit.dmi', SPECIES_UNATHI = 'icons/mob/species/unathi/suit.dmi', - SPECIES_NEVREAN = 'icons/mob/species/nevrean/suit_vr.dmi', + SPECIES_XENOHYBRID = 'icons/mob/species/unathi/suit.dmi', SPECIES_AKULA = 'icons/mob/species/akula/suit_vr.dmi', SPECIES_SERGAL = 'icons/mob/species/sergal/suit_vr.dmi', - SPECIES_ZORREN_FLAT = 'icons/mob/species/fennec/suit_vr.dmi', - SPECIES_ZORREN_HIGH = 'icons/mob/species/fox/suit_vr.dmi', SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/suit.dmi', + SPECIES_ZORREN_HIGH = 'icons/mob/species/vulpkanin/suit.dmi', + SPECIES_FENNEC = 'icons/mob/species/vulpkanin/suit.dmi', SPECIES_PROMETHEAN = 'icons/mob/species/skrell/suit.dmi', - SPECIES_XENOHYBRID = 'icons/mob/species/unathi/suit.dmi', SPECIES_VOX = 'icons/mob/species/vox/suit.dmi', SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi' ) diff --git a/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm b/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm index 034ea31865..14b1e1d98f 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm @@ -6,7 +6,7 @@ initial_modules = list( /obj/item/rig_module/maneuvering_jets, - /obj/item/rig_module/grenade_launcher/cleaner, + /obj/item/rig_module/cleaner_launcher, ) /obj/item/weapon/rig/ert/assetprotection diff --git a/code/modules/clothing/spacesuits/rig/suits/robotics.dm b/code/modules/clothing/spacesuits/rig/suits/robotics.dm new file mode 100644 index 0000000000..4fb43d355d --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/suits/robotics.dm @@ -0,0 +1,29 @@ +//Mining suit +/obj/item/weapon/rig/robotics + name = "advanced suit control belt" + suit_type = "advanced suit" + desc = "A lightweight suit combining the utility of a RIG with the wearability of a voidsuit." + icon_state = "void_explorer2" + slot_flags = SLOT_BELT + armor = list(melee = 40, bullet = 30, laser = 20, energy = 15, bomb = 30, bio = 100, rad = 50) + slowdown = 1 + offline_slowdown = 2 + offline_vision_restriction = 0 + emp_protection = -20 + siemens_coefficient= 0.75 + rigsuit_max_pressure = 8 * ONE_ATMOSPHERE + rigsuit_min_pressure = 0 + + chest_type = /obj/item/clothing/suit/space/rig + helm_type = /obj/item/clothing/head/helmet/space/rig + boot_type = null + glove_type = null + cell_type = null + + allowed = list( + /obj/item/device/flashlight, + /obj/item/weapon/storage/box + ) + + req_access = list() + req_one_access = list() diff --git a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm index 2049530d02..a76b752b1b 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm @@ -17,36 +17,39 @@ //Area allowing backpacks to be placed on rigsuits. /obj/item/weapon/rig/vox - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/combat - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/ert allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \ /obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \ /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/light/ninja - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/merc - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/ce - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/medical - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/hazmat - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/hazard - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/industrial - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/military allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/handcuffs, \ /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/weldingtool, /obj/item/weapon/tool, /obj/item/device/multitool, \ /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/pmc allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \ /obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \ /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio) + /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + +/obj/item/weapon/rig/robotics + allowed = list(/obj/item/device/flashlight, /obj/item/weapon/storage/box, /obj/item/weapon/storage/belt, /obj/item/device/defib_kit/compact) diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index deb1dc53a2..c811cdaee9 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -32,7 +32,12 @@ brightness_on = 4 on = 0 -/obj/item/clothing/head/helmet/space/verb/toggle_camera() +/obj/item/clothing/head/helmet/space/Initialize() + . = ..() + if(camera_networks) + verbs |= /obj/item/clothing/head/helmet/space/proc/toggle_camera + +/obj/item/clothing/head/helmet/space/proc/toggle_camera() set name = "Toggle Helmet Camera" set desc = "Turn your helmet's camera on or off." set category = "Hardsuit" @@ -40,23 +45,18 @@ if(usr.stat || usr.restrained() || usr.incapacitated()) return - if(camera_networks) - if(!camera) - camera = new /obj/machinery/camera(src) - camera.replace_networks(camera_networks) - camera.set_status(FALSE) //So the camera will activate in the following check. - - if(camera.status == TRUE) - camera.set_status(FALSE) - to_chat(usr, "Camera deactivated.") - else - camera.set_status(TRUE) - camera.c_tag = usr.name - to_chat(usr, "User scanned as [camera.c_tag]. Camera activated.") + if(!camera) + camera = new /obj/machinery/camera(src) + camera.replace_networks(camera_networks) + camera.set_status(FALSE) //So the camera will activate in the following check. + if(camera.status == TRUE) + camera.set_status(FALSE) + to_chat(usr, "Camera deactivated.") else - to_chat(usr, "This helmet does not have a built-in camera.") - return + camera.set_status(TRUE) + camera.c_tag = usr.name + to_chat(usr, "User scanned as [camera.c_tag]. Camera activated.") /obj/item/clothing/head/helmet/space/examine() ..() diff --git a/code/modules/clothing/spacesuits/void/military_vr.dm b/code/modules/clothing/spacesuits/void/military_vr.dm index c954daa09d..006b107067 100644 --- a/code/modules/clothing/spacesuits/void/military_vr.dm +++ b/code/modules/clothing/spacesuits/void/military_vr.dm @@ -1,3 +1,28 @@ +/obj/item/clothing/head/helmet/space/void/captain + name = "\improper director helmet" + desc = "A special helmet designed for work in a hazardous, low pressure environment. This model sacrifices mobility for even more armor." + icon_state = "capvoid" + item_state_slots = list(slot_r_hand_str = "sec_helm", slot_l_hand_str = "sec_helm") + armor = list(melee = 60, bullet = 35, laser = 35, energy = 15, bomb = 55, bio = 100, rad = 20) + +/obj/item/clothing/suit/space/void/captain + name = "\improper director armor" + desc = "A special suit that protects against hazardous, low pressure environments. This model sacrifices mobility for even more armor." + icon_state = "capsuit_void" + item_state_slots = list(slot_r_hand_str = "sec_voidsuit", slot_l_hand_str = "sec_voidsuit") + slowdown = 1.5 + armor = list(melee = 60, bullet = 35, laser = 35, energy = 15, bomb = 55, bio = 100, rad = 20) + +/obj/item/clothing/head/helmet/space/void/merc/prototype + name = "\improper prototype voidsuit helmet" + desc = "A special helmet designed for work in a hazardous, low pressure environment. This is an advanced model commonly used by militaries and emergency response." + icon_state = "hosproto" + +/obj/item/clothing/suit/space/void/merc/prototype + name = "\improper prototype voidsuit" + desc = "A special suit that protects against hazardous, low pressure environments. This is an advanced model commonly used by militaries and emergency response." + icon_state = "hosproto_void" + /obj/item/clothing/head/helmet/space/void/merc/odst name = "\improper ODST Helmet" desc = "\"... we are glad to plunge feet first into hell in the knowledge that we will rise.\"" @@ -7,6 +32,7 @@ icon = 'icons/obj/clothing/hats_vr.dmi' icon_override = 'icons/mob/head_vr.dmi' light_overlay = "helmet_light_dual" + species_restricted = null /*/obj/item/clothing/head/helmet/space/void/merc/odst/jertheace // Given to Acacius during an event. Save this for use in events. name = "\improper Ace's ODST Helmet" @@ -23,4 +49,5 @@ item_state = "odst" item_state_slots = null icon = 'icons/obj/clothing/suits_vr.dmi' - icon_override = 'icons/mob/suit_vr.dmi' \ No newline at end of file + icon_override = 'icons/mob/suit_vr.dmi' + species_restricted = null diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index 83dbdfd345..b8b185a4b2 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -13,7 +13,7 @@ // flags_inv = HIDEEARS|BLOCKHAIR //Species-specific stuff. - species_restricted = list("Human", "Promethean") + species_restricted = list(SPECIES_HUMAN, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA) //VOREStation Edit sprite_sheets_refit = list( SPECIES_UNATHI = 'icons/mob/species/unathi/helmet.dmi', SPECIES_TAJ = 'icons/mob/species/tajaran/helmet.dmi', @@ -42,7 +42,7 @@ min_pressure_protection = 0 * ONE_ATMOSPHERE max_pressure_protection = 10 * ONE_ATMOSPHERE - species_restricted = list("Human", SPECIES_SKRELL, "Promethean") + species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_NEVREAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA) //VOREStation Edit sprite_sheets_refit = list( SPECIES_UNATHI = 'icons/mob/species/unathi/suit.dmi', SPECIES_TAJ = 'icons/mob/species/tajaran/suit.dmi', diff --git a/code/modules/clothing/spacesuits/void/void_vr.dm b/code/modules/clothing/spacesuits/void/void_vr.dm index 9bbe440400..9fba2ebe0e 100644 --- a/code/modules/clothing/spacesuits/void/void_vr.dm +++ b/code/modules/clothing/spacesuits/void/void_vr.dm @@ -7,66 +7,59 @@ /obj/item/clothing/head/helmet/space/void sprite_sheets = list( - "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', - "Skrell" = 'icons/mob/species/skrell/helmet.dmi', - "Unathi" = 'icons/mob/species/unathi/helmet.dmi', - "Teshari" = 'icons/mob/species/seromi/head.dmi', - "Nevrean" = 'icons/mob/species/nevrean/helmet_vr.dmi', - "Akula" = 'icons/mob/species/akula/helmet_vr.dmi', - "Sergal" = 'icons/mob/species/sergal/helmet_vr.dmi', - "Flatland Zorren" = 'icons/mob/species/fennec/helmet_vr.dmi', - "Highlander Zorren" = 'icons/mob/species/fox/helmet_vr.dmi', - "Vulpkanin" = 'icons/mob/species/vulpkanin/helmet.dmi', - "Promethean" = 'icons/mob/species/skrell/helmet.dmi', - "Xenomorph Hybrid" = 'icons/mob/species/unathi/helmet.dmi', - "Grey" = 'icons/mob/species/grey/helmet.dmi' /*ywedit*/ + SPECIES_TAJ = 'icons/mob/species/tajaran/helmet.dmi', + SPECIES_SKRELL = 'icons/mob/species/skrell/helmet.dmi', + SPECIES_UNATHI = 'icons/mob/species/unathi/helmet.dmi', + SPECIES_TESHARI = 'icons/mob/species/seromi/head.dmi', + SPECIES_XENOHYBRID = 'icons/mob/species/unathi/helmet.dmi', + SPECIES_AKULA = 'icons/mob/species/akula/helmet_vr.dmi', + SPECIES_SERGAL = 'icons/mob/species/sergal/helmet_vr.dmi', + SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/helmet.dmi', + SPECIES_ZORREN_HIGH = 'icons/mob/species/vulpkanin/helmet.dmi', + SPECIES_FENNEC = 'icons/mob/species/vulpkanin/helmet.dmi', + SPECIES_GREY_YW = 'icons/mob/species/grey/helmet.dmi' /*ywedit*/ ) sprite_sheets_obj = list( - "Tajara" = 'icons/obj/clothing/species/tajaran/hats.dmi', // Copied from void.dm - "Skrell" = 'icons/obj/clothing/species/skrell/hats.dmi', // Copied from void.dm - "Unathi" = 'icons/obj/clothing/species/unathi/hats.dmi', // Copied from void.dm - "Teshari" = 'icons/obj/clothing/species/seromi/hats.dmi', // Copied from void.dm - "Nevrean" = 'icons/obj/clothing/species/nevrean/hats.dmi', - "Akula" = 'icons/obj/clothing/species/akula/hats.dmi', - "Sergal" = 'icons/obj/clothing/species/sergal/hats.dmi', - "Flatland Zorren" = 'icons/obj/clothing/species/fennec/hats.dmi', - "Highlander Zorren" = 'icons/obj/clothing/species/fox/hats.dmi', - "Vulpkanin" = 'icons/obj/clothing/species/vulpkanin/hats.dmi', - "Promethean" = 'icons/obj/clothing/species/skrell/hats.dmi', - "Xenomorph Hybrid" = 'icons/obj/clothing/species/unathi/hats.dmi' + SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/hats.dmi', // Copied from void.dm + SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/hats.dmi', // Copied from void.dm + SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/hats.dmi', // Copied from void.dm + SPECIES_TESHARI = 'icons/obj/clothing/species/seromi/hats.dmi', // Copied from void.dm + SPECIES_XENOHYBRID = 'icons/obj/clothing/species/unathi/hats.dmi', + SPECIES_AKULA = 'icons/obj/clothing/species/akula/hats.dmi', + SPECIES_SERGAL = 'icons/obj/clothing/species/sergal/hats.dmi', + SPECIES_VULPKANIN = 'icons/obj/clothing/species/vulpkanin/hats.dmi', + SPECIES_ZORREN_HIGH = 'icons/obj/clothing/species/vulpkanin/hats.dmi', + SPECIES_FENNEC = 'icons/obj/clothing/species/vulpkanin/hats.dmi' ) /obj/item/clothing/suit/space/void sprite_sheets = list( - "Tajara" = 'icons/mob/species/tajaran/suit.dmi', - "Skrell" = 'icons/mob/species/skrell/suit.dmi', - "Unathi" = 'icons/mob/species/unathi/suit.dmi', - "Teshari" = 'icons/mob/species/seromi/suit.dmi', - "Nevrean" = 'icons/mob/species/nevrean/suit_vr.dmi', - "Akula" = 'icons/mob/species/akula/suit_vr.dmi', - "Sergal" = 'icons/mob/species/sergal/suit_vr.dmi', - "Flatland Zorren" = 'icons/mob/species/fennec/suit_vr.dmi', - "Highlander Zorren" = 'icons/mob/species/fox/suit_vr.dmi', - "Vulpkanin" = 'icons/mob/species/vulpkanin/suit.dmi', - "Promethean" = 'icons/mob/species/skrell/suit.dmi', - "Xenomorph Hybrid" = 'icons/mob/species/unathi/suit.dmi' + SPECIES_TAJ = 'icons/mob/species/tajaran/suit.dmi', + SPECIES_SKRELL = 'icons/mob/species/skrell/suit.dmi', + SPECIES_UNATHI = 'icons/mob/species/unathi/suit.dmi', + SPECIES_TESHARI = 'icons/mob/species/seromi/suit.dmi', + SPECIES_XENOHYBRID = 'icons/mob/species/unathi/suit.dmi', + SPECIES_AKULA = 'icons/mob/species/akula/suit_vr.dmi', + SPECIES_SERGAL = 'icons/mob/species/sergal/suit_vr.dmi', + SPECIES_VULPKANIN = 'icons/mob/species/vulpkanin/suit.dmi', + SPECIES_ZORREN_HIGH = 'icons/mob/species/vulpkanin/suit.dmi', + SPECIES_FENNEC = 'icons/mob/species/vulpkanin/suit.dmi' ) sprite_sheets_obj = list( - "Tajara" = 'icons/obj/clothing/species/tajaran/suits.dmi', // Copied from void.dm - "Skrell" = 'icons/obj/clothing/species/skrell/suits.dmi', // Copied from void.dm - "Unathi" = 'icons/obj/clothing/species/unathi/suits.dmi', // Copied from void.dm - "Teshari" = 'icons/obj/clothing/species/seromi/suits.dmi', // Copied from void.dm - "Nevrean" = 'icons/obj/clothing/species/nevrean/suits.dmi', - "Akula" = 'icons/obj/clothing/species/akula/suits.dmi', - "Sergal" = 'icons/obj/clothing/species/sergal/suits.dmi', - "Flatland Zorren" = 'icons/obj/clothing/species/fennec/suits.dmi', - "Highlander Zorren" = 'icons/obj/clothing/species/fox/suits.dmi', - "Vulpkanin" = 'icons/obj/clothing/species/vulpkanin/suits.dmi', - "Promethean" = 'icons/obj/clothing/species/skrell/suits.dmi' + SPECIES_TAJ = 'icons/obj/clothing/species/tajaran/suits.dmi', // Copied from void.dm + SPECIES_SKRELL = 'icons/obj/clothing/species/skrell/suits.dmi', // Copied from void.dm + SPECIES_UNATHI = 'icons/obj/clothing/species/unathi/suits.dmi', // Copied from void.dm + SPECIES_TESHARI = 'icons/obj/clothing/species/seromi/suits.dmi', // Copied from void.dm + SPECIES_XENOHYBRID = 'icons/obj/clothing/species/unathi/suits.dmi', + SPECIES_AKULA = 'icons/obj/clothing/species/akula/suits.dmi', + SPECIES_SERGAL = 'icons/obj/clothing/species/sergal/suits.dmi', + SPECIES_VULPKANIN = 'icons/obj/clothing/species/vulpkanin/suits.dmi', + SPECIES_ZORREN_HIGH = 'icons/obj/clothing/species/vulpkanin/suits.dmi', + SPECIES_FENNEC = 'icons/obj/clothing/species/vulpkanin/suits.dmi' ) // This is a hack to prevent the item_state variable on the suits from taking effect @@ -74,51 +67,3 @@ // This variable is normally used to set the icon_override when the suit is refitted, // however the species spritesheet now means we no longer need that anyway! sprite_sheets_refit = list() - -/obj/item/clothing/suit/space/void/explorer - desc = "A classy red voidsuit for the needs of any semi-retro-futuristic spaceperson! This one is rather loose fitting." - species_restricted = list( - SPECIES_HUMAN, - SPECIES_SKRELL, - SPECIES_UNATHI, - SPECIES_TAJ, - SPECIES_TESHARI, - SPECIES_AKULA, - SPECIES_ALRAUNE, - SPECIES_NEVREAN, - SPECIES_RAPALA, - SPECIES_SERGAL, - SPECIES_VASILISSAN, - SPECIES_VULPKANIN, - SPECIES_XENOCHIMERA, - SPECIES_XENOHYBRID, - SPECIES_ZORREN_FLAT, - SPECIES_ZORREN_HIGH - ) -/obj/item/clothing/suit/space/void/explorer/Initialize() - . = ..() - sprite_sheets += sprite_sheets_refit - -/obj/item/clothing/head/helmet/space/void/explorer - desc = "A helmet that matches a red voidsuit! So classy." - species_restricted = list( - SPECIES_HUMAN, - SPECIES_SKRELL, - SPECIES_UNATHI, - SPECIES_TAJ, - SPECIES_TESHARI, - SPECIES_AKULA, - SPECIES_ALRAUNE, - SPECIES_NEVREAN, - SPECIES_RAPALA, - SPECIES_SERGAL, - SPECIES_VASILISSAN, - SPECIES_VULPKANIN, - SPECIES_XENOCHIMERA, - SPECIES_XENOHYBRID, - SPECIES_ZORREN_FLAT, - SPECIES_ZORREN_HIGH - ) -/obj/item/clothing/head/helmet/space/void/explorer/Initialize() - . = ..() - sprite_sheets += sprite_sheets_refit diff --git a/code/modules/clothing/suits/hooded_vr.dm b/code/modules/clothing/suits/hooded_vr.dm index ef13979bdc..28ae2ccf3f 100644 --- a/code/modules/clothing/suits/hooded_vr.dm +++ b/code/modules/clothing/suits/hooded_vr.dm @@ -1,3 +1,15 @@ // Field Medic Suit - Someone who can sprite should probably reskin this /obj/item/clothing/suit/storage/hooded/explorer/medic starting_accessories = list(/obj/item/clothing/accessory/armband/med/cross) + +/obj/item/clothing/suit/storage/hooded/techpriest + name = "tech priest robe" + desc = "Praise be to the Omnissiah." + icon = 'icons/obj/clothing/suits_vr.dmi' + icon_override = 'icons/mob/suit_vr.dmi' + icon_state = "techpriest" + hoodtype = /obj/item/clothing/head/hood/techpriest + body_parts_covered = FEET|LOWER_TORSO|UPPER_TORSO|LEGS|ARMS + flags_inv = HIDESHOES|HIDEJUMPSUIT|HIDETIE|HIDEHOLSTER + armor = list(melee = 20, bullet = 10, laser = 10, energy = 10, bomb = 25, bio = 50, rad = 25) + item_state_slots = list(slot_r_hand_str = "engspace_suit", slot_l_hand_str = "engspace_suit") diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm index 7da675e123..e5c3935342 100644 --- a/code/modules/clothing/under/accessories/holster.dm +++ b/code/modules/clothing/under/accessories/holster.dm @@ -2,7 +2,7 @@ name = "shoulder holster" desc = "A handgun holster." icon_state = "holster" - slot = ACCESSORY_SLOT_HOLSTER //Legacy/balance purposes + slot = ACCESSORY_SLOT_WEAPON concealed_holster = 1 var/obj/item/holstered = null var/list/can_hold //VOREStation Add diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/under/accessories/storage.dm index 441302654f..f3fd40fa00 100644 --- a/code/modules/clothing/under/accessories/storage.dm +++ b/code/modules/clothing/under/accessories/storage.dm @@ -11,7 +11,7 @@ on_rolled = list("down" = "none") var/hide_on_roll = FALSE -/obj/item/clothing/accessory/storage/New() +/obj/item/clothing/accessory/storage/Initialize() ..() hold = new/obj/item/weapon/storage/internal(src) hold.max_storage_space = slots * 2 @@ -94,7 +94,7 @@ icon_state = "unathiharness2" slots = 2 -/obj/item/clothing/accessory/storage/knifeharness/New() +/obj/item/clothing/accessory/storage/knifeharness/Initialize() ..() hold.max_storage_space = ITEMSIZE_COST_SMALL * 2 hold.can_hold = list(/obj/item/weapon/material/knife/machete/hatchet/unathiknife,\ diff --git a/code/modules/clothing/under/xenos/vox.dm b/code/modules/clothing/under/xenos/vox.dm index ecbc618061..7e90ad4665 100644 --- a/code/modules/clothing/under/xenos/vox.dm +++ b/code/modules/clothing/under/xenos/vox.dm @@ -27,7 +27,7 @@ slots = 3 -/obj/item/clothing/accessory/storage/vox/New() +/obj/item/clothing/accessory/storage/vox/Initialize() ..() hold.max_storage_space = slots * ITEMSIZE_COST_NORMAL hold.max_w_class = ITEMSIZE_NORMAL \ No newline at end of file diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm index c7077f1b5e..2e5223420a 100644 --- a/code/modules/detectivework/tools/rag.dm +++ b/code/modules/detectivework/tools/rag.dm @@ -25,6 +25,7 @@ can_be_placed_into = null flags = OPENCONTAINER | NOBLUDGEON unacidable = 0 + drop_sound = 'sound/items/drop/clothing.ogg' var/on_fire = 0 var/burn_time = 20 //if the rag burns for too long it turns to ashes diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index cdecd93ee6..b02660b69d 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -20,7 +20,7 @@ log transactions icon = 'icons/obj/terminals_vr.dmi' //VOREStation Edit icon_state = "atm" anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 circuit = /obj/item/weapon/circuitboard/atm var/datum/money_account/authenticated_account diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm index a293226d48..251ba09e36 100644 --- a/code/modules/economy/Accounts_DB.dm +++ b/code/modules/economy/Accounts_DB.dm @@ -3,7 +3,7 @@ name = "Accounts uplink terminal" desc = "Access transaction logs, account data and all kinds of other financial records." icon = 'icons/obj/computer.dmi' - icon_state = "aiupload" + icon_state = "account_computer" density = 1 req_one_access = list(access_hop, access_captain, access_cent_captain) anchored = 1 diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm index 1eaa75619f..986ec2766e 100644 --- a/code/modules/economy/EFTPOS.dm +++ b/code/modules/economy/EFTPOS.dm @@ -12,56 +12,45 @@ var/access_code = 0 var/datum/money_account/linked_account -/obj/item/device/eftpos/New() - ..() - machine_id = "[station_name()] EFTPOS #[num_financial_terminals++]" - access_code = rand(1111,111111) - spawn(0) - print_reference() - - //create a short manual as well - var/obj/item/weapon/paper/R = new(src.loc) - R.name = "Steps to success: Correct EFTPOS Usage" - /* - R.info += "When first setting up your EFTPOS device:" - R.info += "1. Memorise your EFTPOS command code (provided with all EFTPOS devices).
" - R.info += "2. Confirm that your EFTPOS device is connected to your local accounts database. For additional assistance with this step, contact NanoTrasen IT Support
" - R.info += "3. Confirm that your EFTPOS device has been linked to the account that you wish to recieve funds for all transactions processed on this device.
" - R.info += "When starting a new transaction with your EFTPOS device:" - R.info += "1. Ensure the device is UNLOCKED so that new data may be entered.
" - R.info += "2. Enter a sum of money and reference message for the new transaction.
" - R.info += "3. Lock the transaction, it is now ready for your customer.
" - R.info += "4. If at this stage you wish to modify or cancel your transaction, you may simply reset (unlock) your EFTPOS device.
" - R.info += "5. Give your EFTPOS device to the customer, they must authenticate the transaction by swiping their ID card and entering their PIN number.
" - R.info += "6. If done correctly, the transaction will be logged to both accounts with the reference you have entered, the terminal ID of your EFTPOS device and the money transferred across accounts.
" - */ - //Temptative new manual: - R.info += "First EFTPOS setup:
" - R.info += "1. Memorise your EFTPOS command code (provided with all EFTPOS devices).
" - R.info += "2. Connect the EFTPOS to the account in which you want to receive the funds.

" - R.info += "When starting a new transaction:
" - R.info += "1. Enter the amount of money you want to charge and a purpose message for the new transaction.
" - R.info += "2. Lock the new transaction. If you want to modify or cancel the transaction, you simply have to reset your EFTPOS device.
" - R.info += "3. Give the EFTPOS device to your customer, he/she must finish the transaction by swiping their ID card or a charge card with enough funds.
" - R.info += "4. If everything is done correctly, the money will be transferred. To unlock the device you will have to reset the EFTPOS device.
" - - - //stamp the paper - var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') - stampoverlay.icon_state = "paper_stamp-cent" - if(!R.stamped) - R.stamped = new - R.offset_x += 0 - R.offset_y += 0 - R.ico += "paper_stamp-cent" - R.stamped += /obj/item/weapon/stamp - R.overlays += stampoverlay - R.stamps += "
This paper has been stamped by the EFTPOS device." - +/obj/item/device/eftpos/Initialize() + . = ..() //by default, connect to the station account //the user of the EFTPOS device can change the target account though, and no-one will be the wiser (except whoever's being charged) linked_account = station_account + machine_id = "[station_name()] EFTPOS #[num_financial_terminals++]" + access_code = rand(1111,111111) + print_reference() + + //create a short manual as well + var/obj/item/weapon/paper/R = new(src.loc) + R.name = "Steps to success: Correct EFTPOS Usage" + //Temptative new manual: + R.info += "First EFTPOS setup:
" + R.info += "1. Memorise your EFTPOS command code (provided with all EFTPOS devices).
" + R.info += "2. Connect the EFTPOS to the account in which you want to receive the funds.

" + R.info += "When starting a new transaction:
" + R.info += "1. Enter the amount of money you want to charge and a purpose message for the new transaction.
" + R.info += "2. Lock the new transaction. If you want to modify or cancel the transaction, you simply have to reset your EFTPOS device.
" + R.info += "3. Give the EFTPOS device to your customer, he/she must finish the transaction by swiping their ID card or a charge card with enough funds.
" + R.info += "4. If everything is done correctly, the money will be transferred. To unlock the device you will have to reset the EFTPOS device.
" + + //stamp the paper + var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') + stampoverlay.icon_state = "paper_stamp-cent" + if(!R.stamped) + R.stamped = new + R.offset_x += 0 + R.offset_y += 0 + R.ico += "paper_stamp-cent" + R.stamped += /obj/item/weapon/stamp + R.overlays += stampoverlay + R.stamps += "
This paper has been stamped by the EFTPOS device." + +/obj/item/device/eftpos/Destroy() + linked_account = null + return ..() + /obj/item/device/eftpos/proc/print_reference() var/obj/item/weapon/paper/R = new(src.loc) R.name = "Reference: [eftpos_name]" diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm index 2c9e07361d..b5e4abd488 100644 --- a/code/modules/economy/cash.dm +++ b/code/modules/economy/cash.dm @@ -15,6 +15,7 @@ var/access = list() access = access_crate_cash var/worth = 0 + drop_sound = 'sound/items/drop/paper.ogg' /obj/item/weapon/spacecash/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/spacecash)) @@ -150,6 +151,7 @@ proc/spawn_money(var/sum, spawnloc, mob/living/carbon/human/human_user as mob) name = "charge card" icon_state = "efundcard" desc = "A card that holds an amount of money." + drop_sound = 'sound/items/drop/card.ogg' var/owner_name = "" //So the ATM can set it so the EFTPOS can put a valid name on transactions. attack_self() return //Don't act attackby() return //like actual diff --git a/code/modules/error_handler/error_handler.dm b/code/modules/error_handler/error_handler.dm index 71783714b0..edae4c42ea 100644 --- a/code/modules/error_handler/error_handler.dm +++ b/code/modules/error_handler/error_handler.dm @@ -1,7 +1,9 @@ // error_cooldown items will either be positive (cooldown time) or negative (silenced error) // If negative, starts at -1, and goes down by 1 each time that error gets skipped -var/total_runtimes = 0 -var/total_runtimes_skipped = 0 +GLOBAL_VAR_INIT(total_runtimes, 0) +GLOBAL_VAR_INIT(total_runtimes_skipped, 0) + + // The ifdef needs to be down here, since the error viewer references total_runtimes #ifdef DEBUG /world/Error(var/exception/e, var/datum/e_src) @@ -10,7 +12,7 @@ var/total_runtimes_skipped = 0 return ..() if(!GLOB.error_last_seen) // A runtime is occurring too early in start-up initialization return ..() - total_runtimes++ + GLOB.total_runtimes++ var/erroruid = "[e.file][e.line]" var/last_seen = GLOB.error_last_seen[erroruid] @@ -20,7 +22,7 @@ var/total_runtimes_skipped = 0 last_seen = world.time if(cooldown < 0) GLOB.error_cooldown[erroruid]-- // Used to keep track of skip count for this error - total_runtimes_skipped++ + GLOB.total_runtimes_skipped++ return // Error is currently silenced, skip handling it // Handle cooldowns and silencing spammy errors @@ -49,12 +51,12 @@ var/total_runtimes_skipped = 0 // First, try to make better src/usr info lines if(istype(e_src)) srcinfo = list(" src: [log_info_line(e_src)]") - locinfo = log_info_line(e_src) - if(locinfo) - srcinfo += " src.loc: [locinfo]" + var/atom/atom_e_src = e_src + if(istype(atom_e_src)) + srcinfo += " src.loc: [log_info_line(atom_e_src.loc)]" if(istype(usr)) usrinfo = list(" usr: [log_info_line(usr)]") - locinfo = log_info_line(usr) + locinfo = log_info_line(usr.loc) if(locinfo) usrinfo += " usr.loc: [locinfo]" // The proceeding mess will almost definitely break if error messages are ever changed diff --git a/code/modules/error_handler/error_viewer.dm b/code/modules/error_handler/error_viewer.dm index 0f1fd0ba96..c342a408f0 100644 --- a/code/modules/error_handler/error_viewer.dm +++ b/code/modules/error_handler/error_viewer.dm @@ -88,7 +88,7 @@ var/global/datum/ErrorViewer/ErrorCache/error_cache = null /datum/ErrorViewer/ErrorCache/showTo(var/user, var/datum/ErrorViewer/back_to, var/linear) var/html = buildHeader(null, linear, refreshable=1) - html += "[total_runtimes] runtimes, [total_runtimes_skipped] skipped

" + html += "[GLOB.total_runtimes] runtimes, [GLOB.total_runtimes_skipped] skipped

" if(!linear) html += "organized | [makeLink("linear", null, 1)]
" var/datum/ErrorViewer/ErrorSource/error_source diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index b30a5d4898..3064234b50 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -1,51 +1,105 @@ /datum/event/carp_migration - announceWhen = 50 - endWhen = 900 - + startWhen = 0 // Start immediately + announceWhen = 45 // Adjusted by setup + endWhen = 75 // Adjusted by setup + var/carp_cap = 10 var/list/spawned_carp = list() /datum/event/carp_migration/setup() - announceWhen = rand(40, 60) - endWhen = rand(600,1200) + announceWhen = rand(30, 60) // 1 to 2 minutes + endWhen += severity * 25 + carp_cap = 2 + 3 ** severity // No more than this many at once regardless of waves. (5, 11, 29) + +/datum/event/carp_migration/start() + affecting_z -= global.using_map.sealed_levels // Space levels only please! + ..() /datum/event/carp_migration/announce() var/announcement = "" if(severity == EVENT_LEVEL_MAJOR) - announcement = "Massive migration of unknown biological entities has been detected near [station_name()], please stand-by." + announcement = "Massive migration of unknown biological entities has been detected near [location_name()], please stand-by." else - announcement = "Unknown biological [spawned_carp.len == 1 ? "entity has" : "entities have"] been detected near [station_name()], please stand-by." + announcement = "Unknown biological [spawned_carp.len == 1 ? "entity has" : "entities have"] been detected near [location_name()], please stand-by." command_announcement.Announce(announcement, "Lifesign Alert") -/datum/event/carp_migration/start() - if(severity == EVENT_LEVEL_MAJOR) - spawn_fish(landmarks_list.len) - else if(severity == EVENT_LEVEL_MODERATE) - spawn_fish(rand(4, 6)) //12 to 30 carp, in small groups - else - spawn_fish(rand(1, 3), 1, 2) //1 to 6 carp, alone or in pairs +/datum/event/carp_migration/tick() + if(activeFor % 5 != 0) + return // Only process every 10 seconds. + if(count_spawned_carps() < carp_cap) + spawn_fish(rand(1, severity * 2) - 1, severity, severity * 2) -/datum/event/carp_migration/proc/spawn_fish(var/num_groups, var/group_size_min=3, var/group_size_max=5) +/datum/event/carp_migration/proc/spawn_fish(var/num_groups, var/group_size_min, var/group_size_max, var/dir) + if(isnull(dir)) + dir = (victim && prob(80)) ? victim.fore_dir : pick(GLOB.cardinal) + + // Check if any landmarks exist! var/list/spawn_locations = list() - for(var/obj/effect/landmark/C in landmarks_list) - if(C.name == "carpspawn") + if(C.name == "carpspawn" && (C.z in affecting_z)) spawn_locations.Add(C.loc) - spawn_locations = shuffle(spawn_locations) - num_groups = min(num_groups, spawn_locations.len) + if(spawn_locations.len) // Okay we've got landmarks, lets use those! + shuffle_inplace(spawn_locations) + num_groups = min(num_groups, spawn_locations.len) + var/i = 1 + while (i <= num_groups) + var/group_size = rand(group_size_min, group_size_max) + for (var/j = 0, j < group_size, j++) + spawn_one_carp(spawn_locations[i]) + i++ + return + // Okay we did *not* have any landmarks, so lets do our best! var/i = 1 while (i <= num_groups) + var/Z = pick(affecting_z) var/group_size = rand(group_size_min, group_size_max) - for (var/j = 1, j <= group_size, j++) - spawned_carp.Add(new /mob/living/simple_mob/animal/space/carp/event(spawn_locations[i])) + var/turf/map_center = locate(round(world.maxx/2), round(world.maxy/2), Z) + var/turf/group_center = pick_random_edge_turf(dir, Z, TRANSITIONEDGE + 2) + var/list/turfs = getcircle(group_center, 2) + for (var/j = 0, j < group_size, j++) + var/mob/living/simple_mob/animal/M = spawn_one_carp(turfs[(i % turfs.len) + 1]) + // Ray trace towards middle of the map to find where they can stop just outside of structure/ship. + var/turf/target + for(var/turf/T in getline(get_turf(M), map_center)) + if(!T.is_space()) + break; + target = T + if(target) + M.ai_holder?.give_destination(target) // Ask carp to swim towards the middle of the map i++ +// Spawn a single carp at given location. +/datum/event/carp_migration/proc/spawn_one_carp(var/loc) + var/mob/living/simple_mob/animal/M = new /mob/living/simple_mob/animal/space/carp/event(loc) + GLOB.destroyed_event.register(M, src, .proc/on_carp_destruction) + spawned_carp.Add(M) + return M + +// Counts living carp spawned by this event. +/datum/event/carp_migration/proc/count_spawned_carps() + . = 0 + for(var/I in spawned_carp) + var/mob/living/simple_mob/animal/M = I + if(!QDELETED(M) && M.stat != DEAD) + . += 1 + +// If carp is bomphed, remove it from the list. +/datum/event/carp_migration/proc/on_carp_destruction(var/mob/M) + spawned_carp -= M + GLOB.destroyed_event.unregister(M, src, .proc/on_carp_destruction) + /datum/event/carp_migration/end() + . = ..() + // Clean up carp that died in space for some reason. spawn(0) for(var/mob/living/simple_mob/SM in spawned_carp) - if(!SM.stat) + if(SM.stat == DEAD) var/turf/T = get_turf(SM) if(istype(T, /turf/space)) if(prob(75)) qdel(SM) - sleep(1) \ No newline at end of file + CHECK_TICK + +// Overmap version +/datum/event/carp_migration/overmap/announce() + return diff --git a/code/modules/events/dust.dm b/code/modules/events/dust.dm index 3c7a116827..31ae5dee32 100644 --- a/code/modules/events/dust.dm +++ b/code/modules/events/dust.dm @@ -2,14 +2,22 @@ startWhen = 10 endWhen = 30 -/datum/event/dust/announce() - command_announcement.Announce("Debris resulting from activity on another nearby asteroid is approaching \the [station_name()]", "Dust Alert") - /datum/event/dust/start() - dust_swarm(get_severity()) + affecting_z -= global.using_map.sealed_levels // Space levels only please! + ..() + +/datum/event/dust/announce() + if(!victim) + command_announcement.Announce("Debris resulting from activity on another nearby asteroid is approaching \the [location_name()]", "Dust Alert") + +/datum/event/dust/tick() + if(prob(10)) + dust_swarm(severity, affecting_z) /datum/event/dust/end() - command_announcement.Announce("\The [station_name()] is no longer in danger of impact from space debris.", "Dust Notice") + ..() + if(!victim) + command_announcement.Announce("\The [location_name()] is no longer in danger of impact from space debris.", "Dust Notice") /datum/event/dust/proc/get_severity() switch(severity) @@ -20,3 +28,7 @@ if(EVENT_LEVEL_MAJOR) return "super" return "weak" + +// Overmap version +/datum/event/dust/overmap/announce() + return \ No newline at end of file diff --git a/code/modules/events/electrical_storm.dm b/code/modules/events/electrical_storm.dm index 73198dec9b..b7040258de 100644 --- a/code/modules/events/electrical_storm.dm +++ b/code/modules/events/electrical_storm.dm @@ -1,28 +1,65 @@ /datum/event/electrical_storm - var/lightsoutAmount = 1 - var/lightsoutRange = 25 + announceWhen = 0 // Warn them shortly before it begins. + startWhen = 30 // 1 minute + endWhen = 60 // Set in setup() + has_skybox_image = TRUE + var/tmp/lightning_color + var/tmp/list/valid_apcs // List of valid APCs. +/datum/event/electrical_storm/get_skybox_image() + if(!lightning_color) + lightning_color = pick("#ffd98c", "#ebc7ff", "#bdfcff", "#bdd2ff", "#b0ffca", "#ff8178", "#ad74cc") + var/image/res = image('icons/skybox/electrobox.dmi', "lightning") + res.color = lightning_color + res.appearance_flags = RESET_COLOR + res.blend_mode = BLEND_ADD + return res /datum/event/electrical_storm/announce() - command_announcement.Announce("An electrical issue has been detected in your area, please repair potential electronic overloads.", "Electrical Alert") - + ..() + switch(severity) + if(EVENT_LEVEL_MUNDANE) + command_announcement.Announce("A minor electrical storm has been detected near the [location_name()]. Please watch out for possible electrical discharges.", "[location_name()] Sensor Array") + if(EVENT_LEVEL_MODERATE) + command_announcement.Announce("The [location_name()] is about to pass through an electrical storm. Please secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array") + if(EVENT_LEVEL_MAJOR) + command_announcement.Announce("Alert. A strong electrical storm has been detected in proximity of the [location_name()]. It is recommended to immediately secure sensitive electrical equipment until the storm passes.", "[location_name()] Sensor Array") /datum/event/electrical_storm/start() - var/list/epicentreList = list() + ..() + valid_apcs = list() + for(var/obj/machinery/power/apc/A in global.machines) + if(A.z in affecting_z) + valid_apcs.Add(A) + endWhen = (severity * 60) + startWhen - for(var/i=1, i <= lightsoutAmount, i++) - var/list/possibleEpicentres = list() - for(var/obj/effect/landmark/newEpicentre in landmarks_list) - if(newEpicentre.name == "lightsout" && !(newEpicentre in epicentreList)) - possibleEpicentres += newEpicentre - if(possibleEpicentres.len) - epicentreList += pick(possibleEpicentres) - else - break +/datum/event/electrical_storm/tick() + ..() + // See if shields can stop it first (It would be nice to port baystation's cooler shield gens perhaps) + // TODO - We need a better shield generator system to handle this properly. + if(!valid_apcs.len) + log_debug("No valid APCs found for electrical storm event ship=[victim]!") + return + var/list/picked_apcs = list() + for(var/i=0, i< severity * 2, i++) // up to 2/4/6 APCs per tick depending on severity + picked_apcs |= pick(valid_apcs) + for(var/obj/machinery/power/apc/T in picked_apcs) + affect_apc(T) - if(!epicentreList.len) +/datum/event/electrical_storm/proc/affect_apc(var/obj/machinery/power/apc/T) + // Main breaker is turned off. Consider this APC protected. + if(!T.operating) return - for(var/obj/effect/landmark/epicentre in epicentreList) - for(var/obj/machinery/power/apc/apc in range(epicentre,lightsoutRange)) - apc.overload_lighting() + // Decent chance to overload lighting circuit. + if(prob(3 * severity)) + T.overload_lighting() + + // Relatively small chance to emag the apc as apc_damage event does. + if(prob(0.2 * severity)) + T.emagged = 1 + T.update_icon() + +// Overmap version +/datum/event/electrical_storm/overmap/announce() + return \ No newline at end of file diff --git a/code/modules/events/event.dm b/code/modules/events/event.dm index e44e161a1a..33c211485c 100644 --- a/code/modules/events/event.dm +++ b/code/modules/events/event.dm @@ -1,3 +1,4 @@ +// Event Meta instances represent choices for the event manager to choose for random events. /datum/event_meta var/name = "" var/enabled = 1 // Whether or not the event is available for random selection at all @@ -39,6 +40,10 @@ return total_weight +/datum/event_meta/no_overmap/get_weight() //these events have overmap equivalents, and shouldn't fire randomly if overmap is used + return global.using_map.use_overmap ? 0 : ..() + +// Event datums define and execute the actual events themselves. /datum/event //NOTE: Times are measured in master controller ticks! var/startWhen = 0 //When in the lifetime to call start(). var/announceWhen = 0 //When in the lifetime to call announce(). @@ -51,6 +56,9 @@ var/endedAt = 0 //When this event ended. var/processing_active = TRUE var/datum/event_meta/event_meta = null + var/list/affecting_z = null // List of z-levels to affect, null lets the event choose (usally station_levels) + var/has_skybox_image = FALSE // True if SSskybox should query this event for an image to put in the skybox. + var/obj/effect/overmap/visitable/ship/victim = null // Ship that triggered this event on itself. Some messages might be different etc. /datum/event/nothing @@ -65,6 +73,8 @@ //Allows you to start before announcing or vice versa. //Only called once. /datum/event/proc/start() + if(has_skybox_image) + SSskybox.rebuild_skyboxes(affecting_z) return //Called when the tick is equal to the announceWhen variable. @@ -87,6 +97,8 @@ //For example: if(activeFor == myOwnVariable + 30) doStuff() //Only called once. /datum/event/proc/end() + if(has_skybox_image) + SSskybox.rebuild_skyboxes(affecting_z) return //Returns the latest point of event processing. @@ -132,9 +144,12 @@ end() endedAt = world.time - SSevents.active_events -= src SSevents.event_complete(src) +//Called during building of skybox to get overlays +/datum/event/proc/get_skybox_image() + return + /datum/event/New(var/datum/event_meta/EM) // event needs to be responsible for this, as stuff like APLUs currently make their own events for curious reasons SSevents.active_events += src @@ -146,5 +161,17 @@ startedAt = world.time + if(!affecting_z) + affecting_z = using_map.station_levels.Copy() + setup() ..() + +/datum/event/Destroy() + victim = null + . = ..() + +/datum/event/proc/location_name() + if(victim) + return victim.name + return station_name() diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm index 260e690924..c1b4472021 100644 --- a/code/modules/events/event_dynamic.dm +++ b/code/modules/events/event_dynamic.dm @@ -206,16 +206,16 @@ var/list/event_last_fired = list() else if(istype(R.module, /obj/item/weapon/robot_module/robot/research)) active_with_role["Scientist"]++ - if(M.mind.assigned_role in engineering_positions) + if(M.mind.assigned_role in SSjob.get_job_titles_in_department(DEPARTMENT_ENGINEERING)) active_with_role["Engineer"]++ - if(M.mind.assigned_role in medical_positions) + if(M.mind.assigned_role in SSjob.get_job_titles_in_department(DEPARTMENT_MEDICAL)) active_with_role["Medical"]++ - if(M.mind.assigned_role in security_positions) + if(M.mind.assigned_role in SSjob.get_job_titles_in_department(DEPARTMENT_SECURITY)) active_with_role["Security"]++ - if(M.mind.assigned_role in science_positions) + if(M.mind.assigned_role in SSjob.get_job_titles_in_department(DEPARTMENT_RESEARCH)) active_with_role["Scientist"]++ if(M.mind.assigned_role == "AI") diff --git a/code/modules/events/gravity.dm b/code/modules/events/gravity.dm index 4d0881294f..049464cb54 100644 --- a/code/modules/events/gravity.dm +++ b/code/modules/events/gravity.dm @@ -17,7 +17,7 @@ gravity_is_on = 0 for(var/area/A in all_areas) if(A.z in zLevels) - A.gravitychange(gravity_is_on, A) + A.gravitychange(gravity_is_on) /datum/event/gravity/end() if(!gravity_is_on) @@ -25,6 +25,6 @@ for(var/area/A in all_areas) if(A.z in zLevels) - A.gravitychange(gravity_is_on, A) + A.gravitychange(gravity_is_on) command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored") diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index abfa4407fe..3018a01d8b 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -1,20 +1,51 @@ //This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04 /datum/event/ionstorm + has_skybox_image = TRUE var/botEmagChance = 0 //VOREStation Edit + var/cloud_hueshift var/list/players = list() -/datum/event/ionstorm/announce() +/datum/event/ionstorm/get_skybox_image() + if(!cloud_hueshift) + cloud_hueshift = color_rotation(rand(-3, 3) * 15) + var/image/res = image('icons/skybox/ionbox.dmi', "ions") + res.color = cloud_hueshift + res.appearance_flags = RESET_COLOR + res.blend_mode = BLEND_ADD + return res + +/datum/event/ionstorm/setup() endWhen = rand(500, 1500) + +// Interestingly enough, announce() actually *DOES* this event for some reason. +/datum/event/ionstorm/announce() // command_alert("The station has entered an ion storm. Monitor all electronic equipment for malfunctions", "Anomaly Alert") for (var/mob/living/carbon/human/player in player_list) if( !player.mind || player_is_antag(player.mind, only_offstation_roles = 1) || player.client.inactivity > MinutesToTicks(10)) continue players += player.real_name + // Flomph synthetics + for(var/mob/living/carbon/S in living_mob_list) + if (!S.isSynthetic()) + continue + if(!(S.z in affecting_z)) + continue + var/area/A = get_area(S) + if(!A || A.flags & RAD_SHIELDED) // Rad shielding will protect from ions too + continue + to_chat(S, "Your integrated sensors detect an ionospheric anomaly. Your systems will be impacted as you begin a partial restart.") + var/ionbug = rand(3, 9) + S.confused += ionbug + S.eye_blurry += (ionbug - 1) + + // Ionize silicon mobs for (var/mob/living/silicon/ai/target in silicon_mob_list) + if(!(target.z in affecting_z)) + continue var/law = target.generate_ion_law() - to_chat(target, "You have detected a change in your laws information:") + to_chat(target, "You have detected a change in your laws information:") to_chat(target, law) target.add_ion_law(law) target.show_laws() @@ -31,13 +62,20 @@ /datum/event/ionstorm/tick() if(botEmagChance) for(var/mob/living/bot/bot in mob_list) + if(!(bot.z in affecting_z)) + continue if(prob(botEmagChance)) bot.emag_act(1) /datum/event/ionstorm/end() - spawn(rand(5000,8000)) - if(prob(50)) - ion_storm_announcement() + ..() + if(prob(50)) + spawn(rand(5000,8000)) + command_announcement.Announce("It has come to our attention that \the [location_name()] passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert") + +// Overmap version +/datum/event/ionstorm/overmap/announce() + return /* /proc/IonStorm(botEmagChance = 10) diff --git a/code/modules/events/meteors.dm b/code/modules/events/meteors.dm index b4f202722c..5322ab375d 100644 --- a/code/modules/events/meteors.dm +++ b/code/modules/events/meteors.dm @@ -1,46 +1,139 @@ /datum/event/meteor_wave - startWhen = 5 - endWhen = 7 + startWhen = 30 // About one minute early warning + endWhen = 60 // Adjusted automatically in tick() + has_skybox_image = TRUE var/next_meteor = 6 var/waves = 1 var/start_side + var/next_meteor_lower = 10 + var/next_meteor_upper = 20 + +/datum/event/meteor_wave/get_skybox_image() + var/image/res = image('icons/skybox/rockbox.dmi', "rockbox") + res.color = COLOR_ASTEROID_ROCK + res.appearance_flags = RESET_COLOR + return res /datum/event/meteor_wave/setup() - waves = 2 + rand(1, severity) //EVENT_LEVEL_MAJOR is 3-5 waves + waves = (2 + rand(1, severity)) * severity start_side = pick(cardinal) endWhen = worst_case_end() +/datum/event/meteor_wave/start() + affecting_z -= global.using_map.sealed_levels // Space levels only please! + ..() + /datum/event/meteor_wave/announce() - switch(severity) - if(EVENT_LEVEL_MAJOR) - command_announcement.Announce("Meteors have been detected on collision course with \the [station_name()].", "Meteor Alert", new_sound = 'sound/AI/meteors.ogg') - else - command_announcement.Announce("\The [station_name()] is now in a meteor shower.", "Meteor Alert") + if(!victim) + switch(severity) + if(EVENT_LEVEL_MAJOR) + command_announcement.Announce("Meteors have been detected on collision course with \the [location_name()].", "Meteor Alert", new_sound = 'sound/AI/meteors.ogg') + else + command_announcement.Announce("\The [location_name()] is now in a meteor shower.", "Meteor Alert") /datum/event/meteor_wave/tick() if(waves && activeFor >= next_meteor) - var/pick_side = prob(80) ? start_side : (prob(50) ? turn(start_side, 90) : turn(start_side, -90)) + send_wave() - spawn() spawn_meteors(severity * rand(1,2), get_meteors(), pick_side) - next_meteor += rand(15, 30) / severity - waves-- - endWhen = worst_case_end() +/datum/event/meteor_wave/proc/send_wave() + var/pick_side = prob(80) ? start_side : (prob(50) ? turn(start_side, 90) : turn(start_side, -90)) + + spawn() spawn_meteors(get_wave_size(), get_meteors(), pick_side, pick(affecting_z)) + next_meteor += rand(next_meteor_lower, next_meteor_upper) / severity + waves-- + endWhen = worst_case_end() + +/datum/event/meteor_wave/proc/get_wave_size() + return severity * rand(2, 3) /datum/event/meteor_wave/proc/worst_case_end() return activeFor + ((30 / severity) * waves) + 10 /datum/event/meteor_wave/end() - switch(severity) - if(EVENT_LEVEL_MAJOR) - command_announcement.Announce("\The [station_name()] has cleared the meteor storm.", "Meteor Alert") - else - command_announcement.Announce("\The [station_name()] has cleared the meteor shower", "Meteor Alert") + ..() + if(!victim) + switch(severity) + if(EVENT_LEVEL_MAJOR) + command_announcement.Announce("\The [location_name()] has cleared the meteor storm.", "Meteor Alert") + else + command_announcement.Announce("\The [location_name()] has cleared the meteor shower", "Meteor Alert") /datum/event/meteor_wave/proc/get_meteors() - if(EVENT_LEVEL_MAJOR) - if(prob(10)) - return meteors_catastrophic + switch(severity) + if(EVENT_LEVEL_MAJOR) + return meteors_major + if(EVENT_LEVEL_MODERATE) + return meteors_moderate else - return meteors_threatening - else - return meteors_normal + return meteors_minor + +/var/list/meteors_minor = list( + /obj/effect/meteor/medium = 80, + /obj/effect/meteor/dust = 30, + /obj/effect/meteor/irradiated = 30, + /obj/effect/meteor/big = 30, + /obj/effect/meteor/flaming = 10, + ///obj/effect/meteor/golden = 10, + ///obj/effect/meteor/silver = 10, +) + +/var/list/meteors_moderate = list( + /obj/effect/meteor/medium = 80, + /obj/effect/meteor/big = 30, + /obj/effect/meteor/dust = 30, + /obj/effect/meteor/irradiated = 30, + /obj/effect/meteor/flaming = 10, + ///obj/effect/meteor/golden = 10, + ///obj/effect/meteor/silver = 10, + /obj/effect/meteor/emp = 10, +) + +/var/list/meteors_major = list( + /obj/effect/meteor/medium = 80, + /obj/effect/meteor/big = 30, + /obj/effect/meteor/dust = 30, + /obj/effect/meteor/irradiated = 30, + /obj/effect/meteor/emp = 30, + /obj/effect/meteor/flaming = 10, + ///obj/effect/meteor/golden = 10, + ///obj/effect/meteor/silver = 10, + /obj/effect/meteor/tunguska = 1, +) + +// Overmap version +/datum/event/meteor_wave/overmap + next_meteor_lower = 5 + next_meteor_upper = 10 + next_meteor = 0 + +/datum/event/meteor_wave/overmap/tick() + if(victim && !victim.is_still()) // Meteors mostly fly in your face + start_side = prob(90) ? victim.fore_dir : pick(GLOB.cardinal) + else //Unless you're standing still + start_side = pick(GLOB.cardinal) + ..() + +/datum/event/meteor_wave/overmap/get_wave_size() + . = ..() + if(!victim) + return + var/skill = victim.get_helm_skill() + var/speed = victim.get_speed() + if(skill >= SKILL_PROF) + . = round(. * 0.5) + if(victim.is_still()) //Standing still means less shit flies your way + . = round(. * 0.1) + if(speed < SHIP_SPEED_SLOW) //Slow and steady + . = round(. * 0.5) + if(speed > SHIP_SPEED_FAST) //Sanic stahp + . *= 2 + + //Smol ship evasion + if(victim.vessel_size < SHIP_SIZE_LARGE && speed < SHIP_SPEED_FAST) + var/skill_needed = SKILL_PROF + if(speed < SHIP_SPEED_SLOW) + skill_needed = SKILL_ADEPT + if(victim.vessel_size < SHIP_SIZE_SMALL) + skill_needed = skill_needed - 1 + if(skill >= max(skill_needed, victim.skill_needed)) + . = round(. * 0.5) diff --git a/code/modules/events/shipping_error.dm b/code/modules/events/shipping_error.dm index 6b0924b6f7..659f2f7de8 100644 --- a/code/modules/events/shipping_error.dm +++ b/code/modules/events/shipping_error.dm @@ -1,6 +1,6 @@ /datum/event/shipping_error/start() var/datum/supply_order/O = new /datum/supply_order() - O.ordernum = supply_controller.ordernum - O.object = supply_controller.supply_pack[pick(supply_controller.supply_pack)] + O.ordernum = SSsupply.ordernum + O.object = SSsupply.supply_pack[pick(SSsupply.supply_pack)] O.ordered_by = random_name(pick(MALE,FEMALE), species = SPECIES_HUMAN) - supply_controller.shoppinglist += O \ No newline at end of file + SSsupply.shoppinglist += O \ No newline at end of file diff --git a/code/modules/events/supply_demand.dm b/code/modules/events/supply_demand_vr.dm similarity index 96% rename from code/modules/events/supply_demand.dm rename to code/modules/events/supply_demand_vr.dm index 2d38c1f491..6c59145fe5 100644 --- a/code/modules/events/supply_demand.dm +++ b/code/modules/events/supply_demand_vr.dm @@ -23,20 +23,20 @@ // Decide what items are requried! // We base this on what departmets are most active, excluding departments we don't have var/list/notHaveDeptList = metric.departments.Copy() - notHaveDeptList.Remove(list(ROLE_ENGINEERING, ROLE_MEDICAL, ROLE_RESEARCH, ROLE_CARGO, ROLE_CIVILIAN)) + notHaveDeptList.Remove(list(DEPARTMENT_ENGINEERING, DEPARTMENT_MEDICAL, DEPARTMENT_RESEARCH, DEPARTMENT_CARGO, DEPARTMENT_CIVILIAN)) var/deptActivity = metric.assess_all_departments(severity * 2, notHaveDeptList) for(var/dept in deptActivity) switch(dept) - if(ROLE_ENGINEERING) + if(DEPARTMENT_ENGINEERING) choose_atmos_items(severity + 1) - if(ROLE_MEDICAL) + if(DEPARTMENT_MEDICAL) choose_chemistry_items(roll(severity, 2)) - if(ROLE_RESEARCH) // Would be nice to differentiate between research diciplines + if(DEPARTMENT_RESEARCH) // Would be nice to differentiate between research diciplines choose_research_items(roll(severity, 2)) choose_robotics_items(roll(1, severity)) - if(ROLE_CARGO) + if(DEPARTMENT_CARGO) choose_alloy_items(rand(1, severity)) - if(ROLE_CIVILIAN) // Would be nice to separate out chef/gardener/bartender + if(DEPARTMENT_CIVILIAN) // Would be nice to separate out chef/gardener/bartender choose_food_items(roll(severity, 2)) choose_bar_items(roll(severity, 2)) if(required_items.len == 0) @@ -74,7 +74,7 @@ // Check if the crew succeeded or failed! if(required_items.len == 0) // Success! - supply_controller.points += 100 * severity + SSsupply.points += 100 * severity var/msg = "Great work! With those items you delivered our inventory levels all match up. " msg += "[capitalize(pick(first_names_female))] from accounting will have nothing to complain about. " msg += "I think you'll find a little something in your supply account." diff --git a/code/modules/examine/examine.dm b/code/modules/examine/examine.dm index 2b2c89a2fa..6e2df0b1fa 100644 --- a/code/modules/examine/examine.dm +++ b/code/modules/examine/examine.dm @@ -34,7 +34,7 @@ // Quickly adds the boilerplate code to add an image and padding for the image. /proc/desc_panel_image(var/icon_state) - return "[bicon(description_icons[icon_state])][EXAMINE_PANEL_PADDING]" + return "\icon[description_icons[icon_state]][EXAMINE_PANEL_PADDING]" /mob/living/get_description_fluff() if(flavor_text) //Get flavor text for the green text. @@ -56,7 +56,7 @@ description_holders["interactions"] = A.get_description_interaction() description_holders["name"] = "[A.name]" - description_holders["icon"] = "[bicon(A)]" + description_holders["icon"] = "\icon[A]" description_holders["desc"] = A.desc /mob/Stat() diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm index 6a0fa1f0ab..c33389ad15 100644 --- a/code/modules/food/food.dm +++ b/code/modules/food/food.dm @@ -8,6 +8,7 @@ possible_transfer_amounts = null volume = 50 //Sets the default container amount for all food items. var/filling_color = "#FFFFFF" //Used by sandwiches. + drop_sound = 'sound/items/drop/food.ogg' /obj/item/weapon/reagent_containers/food/Initialize() . = ..() diff --git a/code/modules/food/food/cans.dm b/code/modules/food/food/cans.dm index 22b2b31125..66a25d8dad 100644 --- a/code/modules/food/food/cans.dm +++ b/code/modules/food/food/cans.dm @@ -2,6 +2,7 @@ volume = 40 //just over one and a half cups amount_per_transfer_from_this = 5 flags = 0 //starts closed + drop_sound = 'sound/items/drop/soda.ogg' //DRINKS @@ -20,6 +21,7 @@ desc = "Introduced to the vending machines by Skrellian request, this water comes straight from the Martian poles." icon_state = "waterbottle" center_of_mass = list("x"=16, "y"=8) + drop_sound = 'sound/items/drop/food.ogg' /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle/Initialize() . = ..() diff --git a/code/modules/food/food/condiment.dm b/code/modules/food/food/condiment.dm index 44558b1855..5ed00e00f6 100644 --- a/code/modules/food/food/condiment.dm +++ b/code/modules/food/food/condiment.dm @@ -98,6 +98,21 @@ name = "Sugar" desc = "Tastey space sugar!" center_of_mass = list("x"=16, "y"=6) + if("peanutbutter") + name = "Peanut Butter" + desc = "A jar of smooth peanut butter." + icon_state = "peanutbutter" + center_of_mass = list("x"=16, "y"=6) + if("mayo") + name = "Mayonnaise" + desc = "A jar of mayonnaise!" + icon_state = "mayo" + center_of_mass = list("x"=16, "y"=6) + if("yeast") + name = "Yeast" + desc = "This is what you use to make bread fluffy." + icon_state = "yeast" + center_of_mass = list("x"=16, "y"=6) else name = "Misc Condiment Bottle" if (reagents.reagent_list.len==1) @@ -134,6 +149,9 @@ . = ..() reagents.add_reagent("capsaicin", 50) +/obj/item/weapon/reagent_containers/food/condiment/cornoil + name = "Corn Oil" + /obj/item/weapon/reagent_containers/food/condiment/cornoil/Initialize() . = ..() reagents.add_reagent("cornoil", 50) @@ -146,6 +164,13 @@ . = ..() reagents.add_reagent("soysauce", 50) +/obj/item/weapon/reagent_containers/food/condiment/yeast + name = "Yeast" + +/obj/item/weapon/reagent_containers/food/condiment/yeast/Initialize() + . = ..() + reagents.add_reagent("yeast", 50) + /obj/item/weapon/reagent_containers/food/condiment/small possible_transfer_amounts = list(1,20) amount_per_transfer_from_this = 1 @@ -389,4 +414,4 @@ /obj/item/weapon/reagent_containers/food/condiment/flour/Initialize() . = ..() reagents.add_reagent("flour", 30) - randpixel_xy() + randpixel_xy() \ No newline at end of file diff --git a/code/modules/food/food/drinks.dm b/code/modules/food/food/drinks.dm index 76a158a283..d8023dbedc 100644 --- a/code/modules/food/food/drinks.dm +++ b/code/modules/food/food/drinks.dm @@ -5,6 +5,7 @@ name = "drink" desc = "yummy" icon = 'icons/obj/drinks.dmi' + drop_sound = 'sound/items/drop/bottle.ogg' icon_state = null flags = OPENCONTAINER amount_per_transfer_from_this = 5 @@ -116,6 +117,7 @@ icon_state = "milk" item_state = "carton" center_of_mass = list("x"=16, "y"=9) + drop_sound = 'sound/items/drop/box.ogg' /obj/item/weapon/reagent_containers/food/drinks/milk/Initialize() . = ..() @@ -127,6 +129,8 @@ icon_state = "soymilk" item_state = "carton" center_of_mass = list("x"=16, "y"=9) + drop_sound = 'sound/items/drop/box.ogg' + /obj/item/weapon/reagent_containers/food/drinks/soymilk/Initialize() . = ..() reagents.add_reagent("soymilk", 50) @@ -138,6 +142,8 @@ icon_state = "mini-milk" item_state = "carton" center_of_mass = list("x"=16, "y"=9) + drop_sound = 'sound/items/drop/box.ogg' + /obj/item/weapon/reagent_containers/food/drinks/smallmilk/Initialize() . = ..() reagents.add_reagent("milk", 30) @@ -149,6 +155,8 @@ icon_state = "mini-milk_choco" item_state = "carton" center_of_mass = list("x"=16, "y"=9) + drop_sound = 'sound/items/drop/box.ogg' + /obj/item/weapon/reagent_containers/food/drinks/smallchocmilk/Initialize() . = ..() reagents.add_reagent("chocolate_milk", 30) @@ -158,6 +166,8 @@ desc = "Careful, the beverage you're about to enjoy is extremely hot." icon_state = "coffee" center_of_mass = list("x"=15, "y"=10) + drop_sound = 'sound/items/drop/box.ogg' + /obj/item/weapon/reagent_containers/food/drinks/coffee/Initialize() . = ..() reagents.add_reagent("coffee", 30) @@ -209,6 +219,7 @@ possible_transfer_amounts = null volume = 10 center_of_mass = list("x"=16, "y"=12) + drop_sound = 'sound/items/drop/paper.ogg' /obj/item/weapon/reagent_containers/food/drinks/sillycup/Initialize() . = ..() diff --git a/code/modules/food/food/drinks/bottle.dm b/code/modules/food/food/drinks/bottle.dm index 4836fe33b2..28915dff7e 100644 --- a/code/modules/food/food/drinks/bottle.dm +++ b/code/modules/food/food/drinks/bottle.dm @@ -16,7 +16,9 @@ /obj/item/weapon/reagent_containers/food/drinks/bottle/Initialize() . = ..() - if(isGlass) unacidable = 1 + if(isGlass) + unacidable = 1 + drop_sound = 'sound/items/drop/bottle.ogg' /obj/item/weapon/reagent_containers/food/drinks/bottle/Destroy() if(rag) diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index 1478fd0e44..ada6870827 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -4337,11 +4337,10 @@ icon_state = "bagelplain" /obj/item/weapon/reagent_containers/food/snacks/bageltwo/Initialize() - . = ..() + ..() //Not returning . because asking to be qdel'd below. spawn_bagels() spawn_bagels() - sleep(30) - qdel(src) + return INITIALIZE_HINT_QDEL /obj/item/weapon/reagent_containers/food/snacks/bageltwo/proc/spawn_bagels() var/build_path = /obj/item/weapon/reagent_containers/food/snacks/bagelplain diff --git a/code/modules/food/food/snacks_vr.dm b/code/modules/food/food/snacks_vr.dm index 22f164f12a..31d0134e7c 100644 --- a/code/modules/food/food/snacks_vr.dm +++ b/code/modules/food/food/snacks_vr.dm @@ -750,3 +750,14 @@ ) can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/cube/protein, /obj/item/weapon/reagent_containers/food/snacks/cube/nutriment) + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif //Making fish meat non-toxic! As advised by Ascian! + toxin_type = null + toxin_amount = null + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat/sif/murkfish + toxin_type = null + +/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish + toxin_type = null + toxin_amount = null diff --git a/code/modules/food/kitchen/cooking_machines/_cooker.dm b/code/modules/food/kitchen/cooking_machines/_cooker.dm index 0f39b1f0e6..008910c253 100644 --- a/code/modules/food/kitchen/cooking_machines/_cooker.dm +++ b/code/modules/food/kitchen/cooking_machines/_cooker.dm @@ -10,7 +10,7 @@ icon = 'icons/obj/cooking_machines.dmi' density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 5 var/on_icon // Icon state used when cooking. diff --git a/code/modules/food/kitchen/gibber.dm b/code/modules/food/kitchen/gibber.dm index 062fa42fc0..e44c484c54 100644 --- a/code/modules/food/kitchen/gibber.dm +++ b/code/modules/food/kitchen/gibber.dm @@ -14,7 +14,7 @@ var/gib_time = 40 // Time from starting until meat appears var/gib_throw_dir = WEST // Direction to spit meat and gibs in. - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 500 @@ -22,21 +22,27 @@ /obj/machinery/gibber/autogibber var/turf/input_plate -/obj/machinery/gibber/autogibber/New() - ..() - spawn(5) - for(var/i in cardinal) - var/obj/machinery/mineral/input/input_obj = locate( /obj/machinery/mineral/input, get_step(src.loc, i) ) - if(input_obj) - if(isturf(input_obj.loc)) - input_plate = input_obj.loc - gib_throw_dir = i - qdel(input_obj) - break +/obj/machinery/gibber/autogibber/Initialize() + . = ..() + for(var/i in cardinal) + var/obj/machinery/mineral/input/input_obj = locate( /obj/machinery/mineral/input, get_step(src.loc, i) ) + if(input_obj) + if(isturf(input_obj.loc)) + input_plate = input_obj.loc + gib_throw_dir = i + qdel(input_obj) + break - if(!input_plate) - log_misc("a [src] didn't find an input plate.") - return + if(!input_plate) + log_misc("a [src] didn't find an input plate.") + +/obj/machinery/gibber/Destroy() + occupant = null + return ..() + +/obj/machinery/gibber/autogibber/Destroy() + input_plate = null + return ..() /obj/machinery/gibber/autogibber/Bumped(var/atom/A) if(!input_plate) return diff --git a/code/modules/food/kitchen/icecream.dm b/code/modules/food/kitchen/icecream.dm index 87920a3e73..2b53b657ce 100644 --- a/code/modules/food/kitchen/icecream.dm +++ b/code/modules/food/kitchen/icecream.dm @@ -14,7 +14,7 @@ icon_state = "icecream_vat" density = 1 anchored = 0 - use_power = 0 + use_power = USE_POWER_OFF flags = OPENCONTAINER | NOREACT var/list/product_types = list() diff --git a/code/modules/food/kitchen/microwave.dm b/code/modules/food/kitchen/microwave.dm index 9978bca5ac..b9beeed09b 100644 --- a/code/modules/food/kitchen/microwave.dm +++ b/code/modules/food/kitchen/microwave.dm @@ -5,9 +5,11 @@ icon_state = "mw" density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 5 active_power_usage = 100 + clicksound = "button" + clickvol = "30" flags = OPENCONTAINER | NOREACT circuit = /obj/item/weapon/circuitboard/microwave var/operating = 0 // Is it on? @@ -414,8 +416,8 @@ /obj/machinery/microwave/advanced // specifically for complex recipes name = "deluxe microwave" - icon = 'icons/obj/kitchen.dmi' - icon_state = "mw-deluxe" + icon = 'icons/obj/deluxemicrowave.dmi' + icon_state = "mw" circuit = /obj/item/weapon/circuitboard/microwave/advanced circuit_item_capacity = 100 item_level = 1 diff --git a/code/modules/food/kitchen/smartfridge.dm b/code/modules/food/kitchen/smartfridge.dm index 0213ef089b..c798ed3875 100644 --- a/code/modules/food/kitchen/smartfridge.dm +++ b/code/modules/food/kitchen/smartfridge.dm @@ -2,19 +2,19 @@ */ /obj/machinery/smartfridge name = "\improper SmartFridge" + desc = "For storing all sorts of perishable foods!" icon = 'icons/obj/vending.dmi' - icon_state = "smartfridge" + icon_state = "fridge_food" + var/icon_base = "fridge_food" //Iconstate to base all the broken/deny/etc on + var/icon_contents = "food" //Overlay to put on glass to show contents density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 5 active_power_usage = 100 flags = NOREACT var/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't look things over 1000. //VOREStation Edit - Non-global //var/global/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't look things over 1000. - var/icon_on = "smartfridge" - var/icon_off = "smartfridge-off" - var/icon_panel = "smartfridge-panel" var/list/item_records = list() var/datum/stored_item/currently_vending = null //What we're putting out of the machine. var/seconds_electrified = 0; @@ -27,6 +27,9 @@ /obj/machinery/smartfridge/secure is_secure = 1 + icon_state = "fridge_sci" + icon_base = "fridge_sci" + icon_contents = "chem" /obj/machinery/smartfridge/New() ..() @@ -50,10 +53,7 @@ /obj/machinery/smartfridge/seeds name = "\improper MegaSeed Servitor" desc = "When you need seeds fast!" - icon = 'icons/obj/vending.dmi' - icon_state = "seeds" - icon_on = "seeds" - icon_off = "seeds-off" + icon_contents = "chem" /obj/machinery/smartfridge/seeds/accept_check(var/obj/item/O as obj) if(istype(O,/obj/item/seeds/)) @@ -63,6 +63,7 @@ /obj/machinery/smartfridge/secure/extract name = "\improper Biological Sample Storage" desc = "A refrigerated storage unit for xenobiological samples." + icon_contents = "slime" req_access = list(access_research) /obj/machinery/smartfridge/secure/extract/accept_check(var/obj/item/O as obj) @@ -72,12 +73,9 @@ return TRUE return FALSE - /obj/machinery/smartfridge/secure/medbay name = "\improper Refrigerated Medicine Storage" desc = "A refrigerated storage unit for storing medicine and chemicals." - icon_state = "smartfridge" //To fix the icon in the map editor. - icon_on = "smartfridge_chem" req_one_access = list(access_medical,access_chemistry) /obj/machinery/smartfridge/secure/medbay/accept_check(var/obj/item/O as obj) @@ -92,10 +90,8 @@ /obj/machinery/smartfridge/secure/virology name = "\improper Refrigerated Virus Storage" desc = "A refrigerated storage unit for storing viral material." + icon_contents = "drink" req_access = list(access_virology) - icon_state = "smartfridge_virology" - icon_on = "smartfridge_virology" - icon_off = "smartfridge_virology-off" /obj/machinery/smartfridge/secure/virology/accept_check(var/obj/item/O as obj) if(istype(O,/obj/item/weapon/reagent_containers/glass/beaker/vial/)) @@ -104,23 +100,26 @@ return 1 return 0 -/obj/machinery/smartfridge/chemistry +/obj/machinery/smartfridge/chemistry //Is this used anywhere? It's not secure. name = "\improper Smart Chemical Storage" desc = "A refrigerated storage unit for medicine and chemical storage." + icon_contents = "chem" /obj/machinery/smartfridge/chemistry/accept_check(var/obj/item/O as obj) if(istype(O,/obj/item/weapon/storage/pill_bottle) || istype(O,/obj/item/weapon/reagent_containers)) return 1 return 0 -/obj/machinery/smartfridge/chemistry/virology +/obj/machinery/smartfridge/chemistry/virology //Same name = "\improper Smart Virus Storage" desc = "A refrigerated storage unit for volatile sample storage." - /obj/machinery/smartfridge/drinks name = "\improper Drink Showcase" desc = "A refrigerated storage unit for tasty tasty alcohol." + icon_state = "fridge_drinks" + icon_base = "fridge_drinks" + icon_contents = "drink" /obj/machinery/smartfridge/drinks/accept_check(var/obj/item/O as obj) if(istype(O,/obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/food/drinks) || istype(O,/obj/item/weapon/reagent_containers/food/condiment)) @@ -131,9 +130,7 @@ desc = "A machine for drying plants." wrenchable = 1 icon_state = "drying_rack" - icon_on = "drying_rack_on" - icon_off = "drying_rack" - icon_panel = "drying_rack-panel" + icon_base = "drying_rack" /obj/machinery/smartfridge/drying_rack/accept_check(var/obj/item/O as obj) if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/)) @@ -151,21 +148,22 @@ update_icon() /obj/machinery/smartfridge/drying_rack/update_icon() - overlays.Cut() var/not_working = stat & (BROKEN|NOPOWER) - if(not_working) - icon_state = icon_off - else - icon_state = icon_on var/hasItems for(var/datum/stored_item/I in item_records) if(I.get_amount()) hasItems = 1 break if(hasItems) - overlays += "drying_rack_filled" - if(!not_working) - overlays += "drying_rack_drying" + if(not_working) + icon_state = "[icon_base]-plant-off" + else + icon_state = "[icon_base]-plant" + else + if(not_working) + icon_state = "[icon_base]-off" + else + icon_state = "[icon_base]" /obj/machinery/smartfridge/drying_rack/proc/dry() for(var/datum/stored_item/I in item_records) @@ -199,10 +197,41 @@ update_icon() /obj/machinery/smartfridge/update_icon() + cut_overlays() if(stat & (BROKEN|NOPOWER)) - icon_state = icon_off + icon_state = "[icon_base]-off" else - icon_state = icon_on + icon_state = icon_base + + if(is_secure) + add_overlay("[icon_base]-sidepanel") + + if(panel_open) + add_overlay("[icon_base]-panel") + + var/is_off = "" + if(inoperable()) + is_off = "-off" + + // Fridge contents + if(contents) //VOREStation Edit - Some fridges do not have visible contents + switch(contents.len) + if(0) + add_overlay("empty[is_off]") + if(1 to 2) + add_overlay("[icon_contents]-1[is_off]") + if(3 to 5) + add_overlay("[icon_contents]-2[is_off]") + if(6 to 8) + add_overlay("[icon_contents]-3[is_off]") + else + add_overlay("[icon_contents]-4[is_off]") + + // Fridge top + var/image/top = image(icon, "[icon_base]-top") + top.pixel_z = 32 + top.layer = ABOVE_WINDOW_LAYER + add_overlay(top) /******************* * Item Adding @@ -213,9 +242,7 @@ panel_open = !panel_open user.visible_message("[user] [panel_open ? "opens" : "closes"] the maintenance panel of \the [src].", "You [panel_open ? "open" : "close"] the maintenance panel of \the [src].") playsound(src, O.usesound, 50, 1) - overlays.Cut() - if(panel_open) - overlays += image(icon, icon_panel) + update_icon() SSnanoui.update_uis(src) return diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index 4f6e5adede..0877869870 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -611,7 +611,7 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight /datum/recipe/microwave/baguette - reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "yeast" = 5) items = list( /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/dough, @@ -619,7 +619,7 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/baguette /datum/recipe/microwave/croissant - reagents = list("sodiumchloride" = 1, "water" = 5, "milk" = 5) + reagents = list("sodiumchloride" = 1, "water" = 5, "milk" = 5, "yeast" = 5) items = list(/obj/item/weapon/reagent_containers/food/snacks/dough) result = /obj/item/weapon/reagent_containers/food/snacks/croissant @@ -631,10 +631,8 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/fishandchips /datum/recipe/microwave/bread - items = list( - /obj/item/weapon/reagent_containers/food/snacks/dough, - /obj/item/weapon/reagent_containers/food/snacks/egg - ) + reagents = list("yeast" = 5) + items = list(/obj/item/weapon/reagent_containers/food/snacks/dough) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/bread /datum/recipe/microwave/sandwich diff --git a/code/modules/gamemaster/actions/atmos_leak.dm b/code/modules/gamemaster/actions/atmos_leak.dm index 34772bf1a8..e40ed48c37 100644 --- a/code/modules/gamemaster/actions/atmos_leak.dm +++ b/code/modules/gamemaster/actions/atmos_leak.dm @@ -1,6 +1,6 @@ /datum/gm_action/atmos_leak name = "atmospherics leak" - departments = list(ROLE_ENGINEERING, ROLE_SYNTHETIC) + departments = list(DEPARTMENT_ENGINEERING, DEPARTMENT_SYNTHETIC) var/area/target_area // Chosen target area var/area/target_turf // Chosen target turf in target_area var/gas_type // Chosen gas to release @@ -74,4 +74,4 @@ playsound(target_turf, 'sound/effects/smoke.ogg', 50, 1) /datum/gm_action/atmos_leak/get_weight() - return 15 + (metric.count_people_in_department(ROLE_ENGINEERING) * 10 + metric.count_people_in_department(ROLE_SYNTHETIC) * 30) // Synthetics are counted in higher value because they can wirelessly connect to alarms. + return 15 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 10 + metric.count_people_in_department(DEPARTMENT_SYNTHETIC) * 30) // Synthetics are counted in higher value because they can wirelessly connect to alarms. diff --git a/code/modules/gamemaster/actions/blob.dm b/code/modules/gamemaster/actions/blob.dm index 31a4518a69..dd9939a11d 100644 --- a/code/modules/gamemaster/actions/blob.dm +++ b/code/modules/gamemaster/actions/blob.dm @@ -1,6 +1,6 @@ /datum/gm_action/blob name = "blob infestation" - departments = list(ROLE_ENGINEERING, ROLE_SECURITY, ROLE_MEDICAL) + departments = list(DEPARTMENT_ENGINEERING, DEPARTMENT_SECURITY, DEPARTMENT_MEDICAL) chaotic = 25 var/list/area/excluded = list( @@ -62,9 +62,9 @@ command_announcement.Announce("Confirmed outbreak of level 7 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak7.ogg') /datum/gm_action/blob/get_weight() - var/engineers = metric.count_people_in_department(ROLE_ENGINEERING) - var/security = metric.count_people_in_department(ROLE_SECURITY) - var/medical = metric.count_people_in_department(ROLE_MEDICAL) + var/engineers = metric.count_people_in_department(DEPARTMENT_ENGINEERING) + var/security = metric.count_people_in_department(DEPARTMENT_SECURITY) + var/medical = metric.count_people_in_department(DEPARTMENT_MEDICAL) var/assigned_staff = engineers + security if(engineers || security) // Medical only counts if one of the other two exists, and even then they count as half. diff --git a/code/modules/gamemaster/actions/brand_intelligence.dm b/code/modules/gamemaster/actions/brand_intelligence.dm index 156e74f3fa..28ed6a9928 100644 --- a/code/modules/gamemaster/actions/brand_intelligence.dm +++ b/code/modules/gamemaster/actions/brand_intelligence.dm @@ -1,7 +1,7 @@ /datum/gm_action/brand_intelligence name = "rampant vending machines" length = 30 MINUTES - departments = list(ROLE_ENGINEERING, ROLE_EVERYONE) + departments = list(DEPARTMENT_ENGINEERING, DEPARTMENT_EVERYONE) var/list/obj/machinery/vending/vendingMachines = list() var/list/obj/machinery/vending/infectedVendingMachines = list() @@ -66,4 +66,4 @@ infectedMachine.shoot_inventory = 0 /datum/gm_action/brand_intelligence/get_weight() - return 60 + (metric.count_people_in_department(ROLE_ENGINEERING) * 20) + return 60 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 20) diff --git a/code/modules/gamemaster/actions/camera_damage.dm b/code/modules/gamemaster/actions/camera_damage.dm index 583e57096b..10ccb510ce 100644 --- a/code/modules/gamemaster/actions/camera_damage.dm +++ b/code/modules/gamemaster/actions/camera_damage.dm @@ -1,7 +1,7 @@ /datum/gm_action/camera_damage name = "random camera damage" reusable = TRUE - departments = list(ROLE_SYNTHETIC, ROLE_ENGINEERING) + departments = list(DEPARTMENT_SYNTHETIC, DEPARTMENT_ENGINEERING) /datum/gm_action/camera_damage/start() var/obj/machinery/camera/C = acquire_random_camera() @@ -49,4 +49,4 @@ return T && C.can_use() && istype(C.loc, /turf) && (T.z in using_map.player_levels) /datum/gm_action/camera_damage/get_weight() - return 40 + (metric.count_people_in_department(ROLE_ENGINEERING) * 20) + (metric.count_people_in_department(ROLE_SYNTHETIC) * 40) + return 40 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 20) + (metric.count_people_in_department(DEPARTMENT_SYNTHETIC) * 40) diff --git a/code/modules/gamemaster/actions/canister_leak.dm b/code/modules/gamemaster/actions/canister_leak.dm index a294f95736..670b65c9fc 100644 --- a/code/modules/gamemaster/actions/canister_leak.dm +++ b/code/modules/gamemaster/actions/canister_leak.dm @@ -4,11 +4,11 @@ /datum/gm_action/canister_leak name = "Canister Leak" - departments = list(ROLE_ENGINEERING) + departments = list(DEPARTMENT_ENGINEERING) chaotic = 20 /datum/gm_action/canister_leak/get_weight() - return metric.count_people_in_department(ROLE_ENGINEERING) * 30 + return metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 30 /datum/gm_action/canister_leak/start() ..() diff --git a/code/modules/gamemaster/actions/carp_migration.dm b/code/modules/gamemaster/actions/carp_migration.dm index eabb2ce79a..137c2cccb9 100644 --- a/code/modules/gamemaster/actions/carp_migration.dm +++ b/code/modules/gamemaster/actions/carp_migration.dm @@ -1,14 +1,14 @@ //carp_migration /datum/gm_action/carp_migration name = "carp migration" - departments = list(ROLE_SECURITY, ROLE_EVERYONE) + departments = list(DEPARTMENT_SECURITY, DEPARTMENT_EVERYONE) chaotic = 50 var/list/spawned_carp = list() var/carp_amount = 0 length = 20 MINUTES /datum/gm_action/carp_migration/get_weight() - return 50 + (metric.count_people_in_department(ROLE_SECURITY) * 10) + (metric.count_all_space_mobs() * 20) + return 50 + (metric.count_people_in_department(DEPARTMENT_SECURITY) * 10) + (metric.count_all_space_mobs() * 20) /datum/gm_action/carp_migration/announce() var/announcement = "Unknown biological entities have been detected near [station_name()], please stand-by." @@ -17,12 +17,12 @@ /datum/gm_action/carp_migration/set_up() // Higher filled roles means more groups of fish. var/station_strength = 0 - station_strength += (metric.count_people_in_department(ROLE_SECURITY) * 3) - station_strength += (metric.count_people_in_department(ROLE_ENGINEERING) * 2) - station_strength += metric.count_people_in_department(ROLE_MEDICAL) + station_strength += (metric.count_people_in_department(DEPARTMENT_SECURITY) * 3) + station_strength += (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 2) + station_strength += metric.count_people_in_department(DEPARTMENT_MEDICAL) // Less active emergency response departments tones the event down. - var/activeness = ((metric.assess_department(ROLE_SECURITY) + metric.assess_department(ROLE_ENGINEERING) + metric.assess_department(ROLE_MEDICAL)) / 3) + var/activeness = ((metric.assess_department(DEPARTMENT_SECURITY) + metric.assess_department(DEPARTMENT_ENGINEERING) + metric.assess_department(DEPARTMENT_MEDICAL)) / 3) activeness = max(activeness, 20) carp_amount = CEILING(station_strength * (activeness / 100) + 1, 1) diff --git a/code/modules/gamemaster/actions/comms_blackout.dm b/code/modules/gamemaster/actions/comms_blackout.dm index a85ca8d73e..353a3bd92b 100644 --- a/code/modules/gamemaster/actions/comms_blackout.dm +++ b/code/modules/gamemaster/actions/comms_blackout.dm @@ -1,10 +1,10 @@ /datum/gm_action/comms_blackout name = "communications blackout" - departments = list(ROLE_ENGINEERING, ROLE_EVERYONE) + departments = list(DEPARTMENT_ENGINEERING, DEPARTMENT_EVERYONE) chaotic = 35 /datum/gm_action/comms_blackout/get_weight() - return 50 + (metric.count_people_in_department(ROLE_ENGINEERING) * 40) + return 50 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 40) /datum/gm_action/comms_blackout/announce() if(prob(33)) diff --git a/code/modules/gamemaster/actions/drill_announcement.dm b/code/modules/gamemaster/actions/drill_announcement.dm index 978d5a4ffd..47f44e2caf 100644 --- a/code/modules/gamemaster/actions/drill_announcement.dm +++ b/code/modules/gamemaster/actions/drill_announcement.dm @@ -1,10 +1,10 @@ /datum/gm_action/security_drill name = "security drills" - departments = list(ROLE_SECURITY, ROLE_EVERYONE) + departments = list(DEPARTMENT_SECURITY, DEPARTMENT_EVERYONE) /datum/gm_action/security_drill/announce() spawn(rand(1 MINUTE, 2 MINUTES)) command_announcement.Announce("[pick("A NanoTrasen security director", "A Vir-Gov correspondant", "Local Sif authoritiy")] has advised the enactment of [pick("a rampant wildlife", "a fire", "a hostile boarding", "a nonstandard", "a bomb", "an emergent intelligence")] drill with the personnel onboard \the [station_name()].", "Security Advisement") /datum/gm_action/security_drill/get_weight() - return max(-20, 10 + gm.staleness - (gm.danger * 2)) + (metric.count_people_in_department(ROLE_SECURITY) * 5) + (metric.count_people_in_department(ROLE_EVERYONE) * 1.5) + return max(-20, 10 + gm.staleness - (gm.danger * 2)) + (metric.count_people_in_department(DEPARTMENT_SECURITY) * 5) + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 1.5) diff --git a/code/modules/gamemaster/actions/dust.dm b/code/modules/gamemaster/actions/dust.dm index da08dc4f4c..49d0a33b95 100644 --- a/code/modules/gamemaster/actions/dust.dm +++ b/code/modules/gamemaster/actions/dust.dm @@ -1,6 +1,6 @@ /datum/gm_action/dust name = "dust" - departments = list(ROLE_ENGINEERING) + departments = list(DEPARTMENT_ENGINEERING) chaotic = 10 reusable = TRUE @@ -8,7 +8,7 @@ command_announcement.Announce("Debris resulting from activity on another nearby asteroid is approaching your colony.", "Dust Alert") /datum/gm_action/dust/get_weight() - var/engineers = metric.count_people_in_department(ROLE_ENGINEERING) + var/engineers = metric.count_people_in_department(DEPARTMENT_ENGINEERING) var/weight = 30 + (engineers * 25) return weight diff --git a/code/modules/gamemaster/actions/electrical_storm.dm b/code/modules/gamemaster/actions/electrical_storm.dm index 008a345a44..4cd4c39df6 100644 --- a/code/modules/gamemaster/actions/electrical_storm.dm +++ b/code/modules/gamemaster/actions/electrical_storm.dm @@ -1,6 +1,6 @@ /datum/gm_action/electrical_storm name = "electrical storm" - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) reusable = TRUE var/lightsoutAmount = 1 var/lightsoutRange = 25 @@ -30,4 +30,4 @@ apc.overload_lighting() /datum/gm_action/electrical_storm/get_weight() - return 30 + (metric.count_people_in_department(ROLE_ENGINEERING) * 15) + (metric.count_people_in_department(ROLE_EVERYONE) * 5) + return 30 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 15) + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 5) diff --git a/code/modules/gamemaster/actions/electrified_door.dm b/code/modules/gamemaster/actions/electrified_door.dm index e11c72f345..213c0c0292 100644 --- a/code/modules/gamemaster/actions/electrified_door.dm +++ b/code/modules/gamemaster/actions/electrified_door.dm @@ -1,6 +1,6 @@ /datum/gm_action/electrified_door name = "airlock short-circuit" - departments = list(ROLE_ENGINEERING, ROLE_MEDICAL) + departments = list(DEPARTMENT_ENGINEERING, DEPARTMENT_MEDICAL) chaotic = 10 var/obj/machinery/door/airlock/chosen_door var/area/target_area @@ -72,4 +72,4 @@ chosen_door.update_icon() /datum/gm_action/electrified_door/get_weight() - return 10 + (metric.count_people_in_department(ROLE_ENGINEERING) * 5 + metric.count_people_in_department(ROLE_MEDICAL) * 10) + return 10 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 5 + metric.count_people_in_department(DEPARTMENT_MEDICAL) * 10) diff --git a/code/modules/gamemaster/actions/gravity.dm b/code/modules/gamemaster/actions/gravity.dm index e895ca2cfa..f568de9eae 100644 --- a/code/modules/gamemaster/actions/gravity.dm +++ b/code/modules/gamemaster/actions/gravity.dm @@ -1,6 +1,6 @@ /datum/gm_action/gravity name = "gravity failure" - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) length = 600 var/list/zLevels @@ -20,7 +20,7 @@ gravity_is_on = 0 for(var/area/A in all_areas) if(A.z in zLevels) - A.gravitychange(gravity_is_on, A) + A.gravitychange(gravity_is_on) /datum/gm_action/gravity/end() if(!gravity_is_on) @@ -28,9 +28,9 @@ for(var/area/A in all_areas) if(A.z in zLevels) - A.gravitychange(gravity_is_on, A) + A.gravitychange(gravity_is_on) command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored") /datum/gm_action/gravity/get_weight() - return 30 + (metric.count_people_in_department(ROLE_EVERYONE) * 20) + return 30 + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 20) diff --git a/code/modules/gamemaster/actions/grid_check.dm b/code/modules/gamemaster/actions/grid_check.dm index dcf35a230f..ddd0cd923e 100644 --- a/code/modules/gamemaster/actions/grid_check.dm +++ b/code/modules/gamemaster/actions/grid_check.dm @@ -6,11 +6,11 @@ /datum/gm_action/grid_check name = "grid check" - departments = list(ROLE_ENGINEERING, ROLE_EVERYONE) + departments = list(DEPARTMENT_ENGINEERING, DEPARTMENT_EVERYONE) chaotic = 20 /datum/gm_action/grid_check/get_weight() - return 50 + (metric.count_people_in_department(ROLE_ENGINEERING) * 30) + return 50 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 30) /datum/gm_action/grid_check/start() ..() diff --git a/code/modules/gamemaster/actions/infestation.dm b/code/modules/gamemaster/actions/infestation.dm index 2c8ddac566..a887a3b5d3 100644 --- a/code/modules/gamemaster/actions/infestation.dm +++ b/code/modules/gamemaster/actions/infestation.dm @@ -14,7 +14,7 @@ /datum/gm_action/infestation name = "animal infestation" - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) var/location var/locstring var/vermin @@ -100,7 +100,7 @@ command_announcement.Announce("Bioscans indicate that [vermstring] have been breeding in [locstring]. Clear them out, before this starts to affect productivity.", "Vermin infestation") /datum/gm_action/infestation/get_weight() - return 5 + (metric.count_people_in_department(ROLE_EVERYONE) * 20) + return 5 + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 20) #undef LOC_KITCHEN #undef LOC_ATMOS diff --git a/code/modules/gamemaster/actions/ion_storm.dm b/code/modules/gamemaster/actions/ion_storm.dm index 245f414f13..5ff51ccbaa 100644 --- a/code/modules/gamemaster/actions/ion_storm.dm +++ b/code/modules/gamemaster/actions/ion_storm.dm @@ -1,6 +1,6 @@ /datum/gm_action/ionstorm name = "ion storm" - departments = list(ROLE_SYNTHETIC) + departments = list(DEPARTMENT_SYNTHETIC) var/botEmagChance = 0.5 var/list/players = list() var/active = FALSE @@ -45,6 +45,6 @@ ion_storm_announcement() /datum/gm_action/ionstorm/get_weight() - var/bots = metric.count_people_in_department(ROLE_SYNTHETIC) + var/bots = metric.count_people_in_department(DEPARTMENT_SYNTHETIC) var/weight = 5 + (bots * 20) return weight diff --git a/code/modules/gamemaster/actions/manifest_malfunction.dm b/code/modules/gamemaster/actions/manifest_malfunction.dm index 0ef9067671..2b924a4157 100644 --- a/code/modules/gamemaster/actions/manifest_malfunction.dm +++ b/code/modules/gamemaster/actions/manifest_malfunction.dm @@ -1,7 +1,7 @@ /datum/gm_action/manifest_malfunction name = "manifest malfunction" enabled = TRUE - departments = list(ROLE_SECURITY, ROLE_SYNTHETIC, ROLE_EVERYONE) + departments = list(DEPARTMENT_SECURITY, DEPARTMENT_SYNTHETIC, DEPARTMENT_EVERYONE) chaotic = 3 reusable = FALSE length = 0 @@ -21,10 +21,10 @@ /datum/gm_action/manifest_malfunction/get_weight() . = -10 - var/security = metric.count_people_in_department(ROLE_SECURITY) + var/security = metric.count_people_in_department(DEPARTMENT_SECURITY) if(security && data_core) - . += (metric.count_people_in_department(ROLE_EVERYONE) * 5) - (metric.count_people_in_department(ROLE_SYNTHETIC) * 5) + . += (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 5) - (metric.count_people_in_department(DEPARTMENT_SYNTHETIC) * 5) return . diff --git a/code/modules/gamemaster/actions/meteor_defense.dm b/code/modules/gamemaster/actions/meteor_defense.dm index d0a0d40a3f..dc92413a82 100644 --- a/code/modules/gamemaster/actions/meteor_defense.dm +++ b/code/modules/gamemaster/actions/meteor_defense.dm @@ -2,7 +2,7 @@ /datum/gm_action/meteor_defense name = "meteor defense" - departments = list(ROLE_ENGINEERING, ROLE_CARGO) + departments = list(DEPARTMENT_ENGINEERING, DEPARTMENT_CARGO) chaotic = 50 var/direction = null var/dir_text = null @@ -11,9 +11,9 @@ var/meteor_types /datum/gm_action/meteor_defense/get_weight() - var/engineers = metric.count_people_in_department(ROLE_ENGINEERING) - var/cargo = metric.count_people_in_department(ROLE_CARGO) - var/bots = metric.count_people_in_department(ROLE_SYNTHETIC) + var/engineers = metric.count_people_in_department(DEPARTMENT_ENGINEERING) + var/cargo = metric.count_people_in_department(DEPARTMENT_CARGO) + var/bots = metric.count_people_in_department(DEPARTMENT_SYNTHETIC) var/weight = (max(engineers - 1, 0) * 20) // If only one engineer exists, no meteors for now. if(engineers >= 2) diff --git a/code/modules/gamemaster/actions/money_hacker.dm b/code/modules/gamemaster/actions/money_hacker.dm index 69c3e906c7..2705de450c 100644 --- a/code/modules/gamemaster/actions/money_hacker.dm +++ b/code/modules/gamemaster/actions/money_hacker.dm @@ -2,7 +2,7 @@ /datum/gm_action/money_hacker name = "bank account hacker" - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) reusable = TRUE var/datum/money_account/affected_account var/active diff --git a/code/modules/gamemaster/actions/money_lotto.dm b/code/modules/gamemaster/actions/money_lotto.dm index 1cb7f92e1e..ea82510e57 100644 --- a/code/modules/gamemaster/actions/money_lotto.dm +++ b/code/modules/gamemaster/actions/money_lotto.dm @@ -1,6 +1,6 @@ /datum/gm_action/money_lotto name = "lottery win" - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) var/winner_name = "John Smith" var/winner_sum = 0 var/deposit_success = 0 @@ -36,4 +36,4 @@ news_network.SubmitArticle(body, author, channel, null, 1) /datum/gm_action/money_lotto/get_weight() - return 25 * metric.count_people_in_department(ROLE_EVERYONE) + return 25 * metric.count_people_in_department(DEPARTMENT_EVERYONE) diff --git a/code/modules/gamemaster/actions/money_spam.dm b/code/modules/gamemaster/actions/money_spam.dm index 0a6e71f023..80b5fed808 100644 --- a/code/modules/gamemaster/actions/money_spam.dm +++ b/code/modules/gamemaster/actions/money_spam.dm @@ -1,6 +1,6 @@ /datum/gm_action/pda_spam name = "PDA spam" - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) reusable = TRUE var/last_spam_time = 0 var/obj/machinery/message_server/useMS @@ -128,4 +128,4 @@ to_chat(L, "[bicon(P)] Message from [sender] (Unknown / spam?), \"[message]\" (Unable to Reply)") /datum/gm_action/pda_spam/get_weight() - return 25 * metric.count_people_in_department(ROLE_EVERYONE) + return 25 * metric.count_people_in_department(DEPARTMENT_EVERYONE) diff --git a/code/modules/gamemaster/actions/planet_weather_change.dm b/code/modules/gamemaster/actions/planet_weather_change.dm index 0faf80cf87..884bc4c435 100644 --- a/code/modules/gamemaster/actions/planet_weather_change.dm +++ b/code/modules/gamemaster/actions/planet_weather_change.dm @@ -1,7 +1,7 @@ /datum/gm_action/planet_weather_shift name = "sudden weather shift" enabled = TRUE - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) reusable = TRUE var/datum/planet/target_planet diff --git a/code/modules/gamemaster/actions/prison_break.dm b/code/modules/gamemaster/actions/prison_break.dm index f3bc28bb13..0111ea0ecd 100644 --- a/code/modules/gamemaster/actions/prison_break.dm +++ b/code/modules/gamemaster/actions/prison_break.dm @@ -1,6 +1,6 @@ /datum/gm_action/prison_break name = "prison break" - departments = list(ROLE_SECURITY, ROLE_SYNTHETIC) + departments = list(DEPARTMENT_SECURITY, DEPARTMENT_SYNTHETIC) var/start_time = 0 var/active = FALSE // Are we doing stuff? @@ -14,7 +14,7 @@ /datum/gm_action/prison_break/get_weight() var/afflicted_staff = 0 - var/assigned_staff = metric.count_people_in_department(ROLE_ENGINEERING) + var/assigned_staff = metric.count_people_in_department(DEPARTMENT_ENGINEERING) for(var/department in departments) afflicted_staff += round(metric.count_people_in_department(department) / 2) @@ -27,14 +27,14 @@ /datum/gm_action/prison_break/virology name = "virology breakout" - departments = list(ROLE_MEDICAL, ROLE_SYNTHETIC) + departments = list(DEPARTMENT_MEDICAL, DEPARTMENT_SYNTHETIC) eventDept = "Medical" areaName = list("Virology") areaType = list(/area/medical/virology, /area/medical/virologyaccess) /datum/gm_action/prison_break/xenobiology name = "xenobiology breakout" - departments = list(ROLE_RESEARCH, ROLE_SYNTHETIC) + departments = list(DEPARTMENT_RESEARCH, DEPARTMENT_SYNTHETIC) eventDept = "Science" areaName = list("Xenobiology") areaType = list(/area/rnd/xenobiology) @@ -42,7 +42,7 @@ /datum/gm_action/prison_break/station name = "station-wide breakout" - departments = list(ROLE_SECURITY, ROLE_MEDICAL, ROLE_RESEARCH, ROLE_SYNTHETIC) + departments = list(DEPARTMENT_SECURITY, DEPARTMENT_MEDICAL, DEPARTMENT_RESEARCH, DEPARTMENT_SYNTHETIC) eventDept = "Station" areaName = list("Brig","Virology","Xenobiology") areaType = list(/area/security/prison, /area/security/brig, /area/medical/virology, /area/medical/virologyaccess, /area/rnd/xenobiology) diff --git a/code/modules/gamemaster/actions/radiation_storm.dm b/code/modules/gamemaster/actions/radiation_storm.dm index 678ad16ab6..e6a31a6da8 100644 --- a/code/modules/gamemaster/actions/radiation_storm.dm +++ b/code/modules/gamemaster/actions/radiation_storm.dm @@ -1,6 +1,6 @@ /datum/gm_action/radiation_storm name = "radiation storm" - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) reusable = TRUE var/enterBelt = 30 @@ -64,4 +64,4 @@ revoke_maint_all_access() /datum/gm_action/radiation_storm/get_weight() - return 20 + (metric.count_people_in_department(ROLE_MEDICAL) * 10) + (metric.count_all_space_mobs() * 40) + (metric.count_people_in_department(ROLE_EVERYONE) * 20) + return 20 + (metric.count_people_in_department(DEPARTMENT_MEDICAL) * 10) + (metric.count_all_space_mobs() * 40) + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 20) diff --git a/code/modules/gamemaster/actions/random_antagonist.dm b/code/modules/gamemaster/actions/random_antagonist.dm index b1cb7b01d8..bf1169bb73 100644 --- a/code/modules/gamemaster/actions/random_antagonist.dm +++ b/code/modules/gamemaster/actions/random_antagonist.dm @@ -1,7 +1,7 @@ // The random spawn proc on the antag datum will handle announcing the spawn and whatnot. /datum/gm_action/random_antag name = "random antagonist" - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) chaotic = 30 reusable = TRUE @@ -19,5 +19,5 @@ /datum/gm_action/random_antag/get_weight() . = ..() if(gm) - var/weight = max(0, (metric.count_people_in_department(ROLE_SECURITY) * 20) + (metric.count_people_in_department(ROLE_EVERYONE) * 5) + gm.staleness) + var/weight = max(0, (metric.count_people_in_department(DEPARTMENT_SECURITY) * 20) + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 5) + gm.staleness) return weight diff --git a/code/modules/gamemaster/actions/rogue_drones.dm b/code/modules/gamemaster/actions/rogue_drones.dm index 983aa87842..a1594fd370 100644 --- a/code/modules/gamemaster/actions/rogue_drones.dm +++ b/code/modules/gamemaster/actions/rogue_drones.dm @@ -1,6 +1,6 @@ /datum/gm_action/rogue_drone name = "rogue drones" - departments = list(ROLE_SECURITY) + departments = list(DEPARTMENT_SECURITY) chaotic = 60 length = 20 MINUTES var/list/drones_list = list() @@ -60,4 +60,4 @@ command_announcement.Announce("We're disappointed at the loss of the drones, but the survivors have been recovered.", "Rogue drone alert") /datum/gm_action/rogue_drone/get_weight() - return 20 + (metric.count_people_in_department(ROLE_SECURITY) * 10) + (metric.count_all_space_mobs() * 30) + return 20 + (metric.count_people_in_department(DEPARTMENT_SECURITY) * 10) + (metric.count_all_space_mobs() * 30) diff --git a/code/modules/gamemaster/actions/security_advisement.dm b/code/modules/gamemaster/actions/security_advisement.dm index b5c8d82912..e98504df09 100644 --- a/code/modules/gamemaster/actions/security_advisement.dm +++ b/code/modules/gamemaster/actions/security_advisement.dm @@ -1,6 +1,6 @@ /datum/gm_action/security_screening name = "security screening" - departments = list(ROLE_SECURITY, ROLE_EVERYONE) + departments = list(DEPARTMENT_SECURITY, DEPARTMENT_EVERYONE) var/list/species_weights = list( SPECIES_SKRELL = 9, @@ -46,4 +46,4 @@ command_announcement.Announce("[pick("A nearby Navy vessel", "A Solar official", "A Vir-Gov official", "A NanoTrasen board director")] has requested the screening of [pick("every other", "every", "suspicious", "willing")] [pickweight(end_weights)] personnel onboard \the [station_name()].", "Security Advisement") /datum/gm_action/security_screening/get_weight() - return max(-20, 10 + round(gm.staleness * 1.5) - (gm.danger * 2)) + (metric.count_people_in_department(ROLE_SECURITY) * 10) + (metric.count_people_in_department(ROLE_EVERYONE) * 1.5) + return max(-20, 10 + round(gm.staleness * 1.5) - (gm.danger * 2)) + (metric.count_people_in_department(DEPARTMENT_SECURITY) * 10) + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 1.5) diff --git a/code/modules/gamemaster/actions/shipping_error.dm b/code/modules/gamemaster/actions/shipping_error.dm index 33520f13a3..95611d6e29 100644 --- a/code/modules/gamemaster/actions/shipping_error.dm +++ b/code/modules/gamemaster/actions/shipping_error.dm @@ -1,17 +1,17 @@ /datum/gm_action/shipping_error name = "shipping error" - departments = list(ROLE_CARGO) + departments = list(DEPARTMENT_CARGO) reusable = TRUE /datum/gm_action/shipping_error/get_weight() - var/cargo = metric.count_people_in_department(ROLE_CARGO) + var/cargo = metric.count_people_in_department(DEPARTMENT_CARGO) var/weight = (cargo * 40) return weight /datum/gm_action/shipping_error/start() ..() var/datum/supply_order/O = new /datum/supply_order() - O.ordernum = supply_controller.ordernum - O.object = supply_controller.supply_pack[pick(supply_controller.supply_pack)] + O.ordernum = SSsupply.ordernum + O.object = SSsupply.supply_pack[pick(SSsupply.supply_pack)] O.ordered_by = random_name(pick(MALE,FEMALE), species = "Human") - supply_controller.shoppinglist += O \ No newline at end of file + SSsupply.shoppinglist += O \ No newline at end of file diff --git a/code/modules/gamemaster/actions/solar_storm.dm b/code/modules/gamemaster/actions/solar_storm.dm index 046b93639b..f468c024a9 100644 --- a/code/modules/gamemaster/actions/solar_storm.dm +++ b/code/modules/gamemaster/actions/solar_storm.dm @@ -35,7 +35,7 @@ radiate() /datum/gm_action/solar_storm/get_weight() - return 20 + (metric.count_people_in_department(ROLE_ENGINEERING) * 10) + (metric.count_all_space_mobs() * 30) + return 20 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 10) + (metric.count_all_space_mobs() * 30) /datum/gm_action/solar_storm/proc/radiate() // Note: Too complicated to be worth trying to use the radiation system for this. Its only in space anyway, so we make an exception in this case. diff --git a/code/modules/gamemaster/actions/spacevine.dm b/code/modules/gamemaster/actions/spacevine.dm index c9e5b4135e..759329dbbc 100644 --- a/code/modules/gamemaster/actions/spacevine.dm +++ b/code/modules/gamemaster/actions/spacevine.dm @@ -1,6 +1,6 @@ /datum/gm_action/spacevine name = "space-vine infestation" - departments = list(ROLE_ENGINEERING) + departments = list(DEPARTMENT_ENGINEERING) chaotic = 2 /datum/gm_action/spacevine/start() @@ -11,4 +11,4 @@ level_seven_announcement() /datum/gm_action/spacevine/get_weight() - return 20 + (metric.count_people_in_department(ROLE_ENGINEERING) * 20) + (metric.count_people_in_department(ROLE_EVERYONE) * 10) + return 20 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 20) + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 10) diff --git a/code/modules/gamemaster/actions/spider_infestation.dm b/code/modules/gamemaster/actions/spider_infestation.dm index c641c86167..4105a8e1d4 100644 --- a/code/modules/gamemaster/actions/spider_infestation.dm +++ b/code/modules/gamemaster/actions/spider_infestation.dm @@ -1,6 +1,6 @@ /datum/gm_action/spider_infestation name = "spider infestation" - departments = list(ROLE_SECURITY, ROLE_MEDICAL, ROLE_EVERYONE) + departments = list(DEPARTMENT_SECURITY, DEPARTMENT_MEDICAL, DEPARTMENT_EVERYONE) chaotic = 30 severity = 1 @@ -10,9 +10,9 @@ var/spawntype = /obj/effect/spider/spiderling /datum/gm_action/spider_infestation/set_up() - severity = pickweight(EVENT_LEVEL_MUNDANE = max(1,(12 - (3 * metric.count_people_in_department(ROLE_SECURITY)))), - EVENT_LEVEL_MODERATE = (7 + (2 * metric.count_people_in_department(ROLE_SECURITY))), - EVENT_LEVEL_MAJOR = (1 + (2 * metric.count_people_in_department(ROLE_SECURITY))) + severity = pickweight(EVENT_LEVEL_MUNDANE = max(1,(12 - (3 * metric.count_people_in_department(DEPARTMENT_SECURITY)))), + EVENT_LEVEL_MODERATE = (7 + (2 * metric.count_people_in_department(DEPARTMENT_SECURITY))), + EVENT_LEVEL_MAJOR = (1 + (2 * metric.count_people_in_department(DEPARTMENT_SECURITY))) ) switch(severity) @@ -47,9 +47,9 @@ spawncount-- /datum/gm_action/spider_infestation/get_weight() - var/security = metric.count_people_in_department(ROLE_SECURITY) - var/medical = metric.count_people_in_department(ROLE_MEDICAL) - var/engineering = metric.count_people_in_department(ROLE_ENGINEERING) + var/security = metric.count_people_in_department(DEPARTMENT_SECURITY) + var/medical = metric.count_people_in_department(DEPARTMENT_MEDICAL) + var/engineering = metric.count_people_in_department(DEPARTMENT_ENGINEERING) var/assigned_staff = security + round(medical / 2) + round(engineering / 2) diff --git a/code/modules/gamemaster/actions/spontaneous_appendicitis.dm b/code/modules/gamemaster/actions/spontaneous_appendicitis.dm index 1758709164..ef7efde26b 100644 --- a/code/modules/gamemaster/actions/spontaneous_appendicitis.dm +++ b/code/modules/gamemaster/actions/spontaneous_appendicitis.dm @@ -1,6 +1,6 @@ /datum/gm_action/spontaneous_appendicitis name = "appendicitis" - departments = list(ROLE_MEDICAL, ROLE_EVERYONE) + departments = list(DEPARTMENT_MEDICAL, DEPARTMENT_EVERYONE) chaotic = 1 /datum/gm_action/spontaneous_appendicitis/start() @@ -10,4 +10,4 @@ break /datum/gm_action/spontaneous_appendicitis/get_weight() - return max(0, -5 + (metric.count_people_in_department(ROLE_MEDICAL) * 10)) + return max(0, -5 + (metric.count_people_in_department(DEPARTMENT_MEDICAL) * 10)) diff --git a/code/modules/gamemaster/actions/station_fundraise.dm b/code/modules/gamemaster/actions/station_fundraise.dm index 2a516d178a..96d4299053 100644 --- a/code/modules/gamemaster/actions/station_fundraise.dm +++ b/code/modules/gamemaster/actions/station_fundraise.dm @@ -1,6 +1,6 @@ /datum/gm_action/station_fund_raise name = "local funding drive" - departments = list(ROLE_SECURITY, ROLE_CARGO, ROLE_EVERYONE) + departments = list(DEPARTMENT_SECURITY, DEPARTMENT_CARGO, DEPARTMENT_EVERYONE) /datum/gm_action/station_fund_raise/announce() spawn(rand(1 MINUTE, 2 MINUTES)) @@ -11,4 +11,4 @@ if(station_account.money <= 80000) weight_modifier = 1 - return (max(-20, 10 + gm.staleness) + ((metric.count_people_in_department(ROLE_SECURITY) + (metric.count_people_in_department(ROLE_CARGO))) * 5) + (metric.count_people_in_department(ROLE_EVERYONE) * 3)) * weight_modifier + return (max(-20, 10 + gm.staleness) + ((metric.count_people_in_department(DEPARTMENT_SECURITY) + (metric.count_people_in_department(DEPARTMENT_CARGO))) * 5) + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 3)) * weight_modifier diff --git a/code/modules/gamemaster/actions/stowaway.dm b/code/modules/gamemaster/actions/stowaway.dm index c75df494e2..b7185e1ed4 100644 --- a/code/modules/gamemaster/actions/stowaway.dm +++ b/code/modules/gamemaster/actions/stowaway.dm @@ -1,6 +1,6 @@ /datum/gm_action/stowaway name = "stowaway pod" - departments = list(ROLE_EVERYONE, ROLE_SECURITY) + departments = list(DEPARTMENT_EVERYONE, DEPARTMENT_SECURITY) chaotic = 10 observers_used = TRUE var/area/target_area // Chosen target area @@ -72,7 +72,7 @@ say_dead_object("A [HP.occupant_type] pod is now available in \the [target_area].", HP) /datum/gm_action/stowaway/get_weight() - return -20 + (metric.count_people_in_department(ROLE_SECURITY) * 15 + metric.count_people_in_department(ROLE_SYNTHETIC) * 5 + metric.count_people_in_department(ROLE_EVERYONE) * 1) + return -20 + (metric.count_people_in_department(DEPARTMENT_SECURITY) * 15 + metric.count_people_in_department(DEPARTMENT_SYNTHETIC) * 5 + metric.count_people_in_department(DEPARTMENT_EVERYONE) * 1) /datum/gm_action/stowaway/announce() spawn(rand(15 MINUTES, 30 MINUTES)) diff --git a/code/modules/gamemaster/actions/supply_conversion.dm b/code/modules/gamemaster/actions/supply_conversion.dm index 40ed820462..3817dcce63 100644 --- a/code/modules/gamemaster/actions/supply_conversion.dm +++ b/code/modules/gamemaster/actions/supply_conversion.dm @@ -1,11 +1,11 @@ /datum/gm_action/nanotrasen_budget_allocation name = "supply point to cargo budget" enabled = TRUE - departments = list(ROLE_CARGO) + departments = list(DEPARTMENT_CARGO) chaotic = 0 reusable = TRUE - var/datum/controller/supply/SC + var/datum/controller/subsystem/supply/SC var/running = FALSE var/last_run @@ -13,7 +13,7 @@ /datum/gm_action/nanotrasen_budget_allocation/New() ..() - SC = supply_controller + SC = SSsupply /datum/gm_action/nanotrasen_budget_allocation/set_up() running = TRUE @@ -22,8 +22,8 @@ /datum/gm_action/nanotrasen_budget_allocation/get_weight() . = round(SC.points / 15) - var/cargo = metric.count_people_in_department(ROLE_CARGO) - var/personnel = metric.count_people_in_department(ROLE_EVERYONE) + var/cargo = metric.count_people_in_department(DEPARTMENT_CARGO) + var/personnel = metric.count_people_in_department(DEPARTMENT_EVERYONE) if(cargo) . = round(SC.points / (10 + personnel)) + cargo * 10 diff --git a/code/modules/gamemaster/actions/supplyrequest.dm b/code/modules/gamemaster/actions/supplyrequest.dm index ae2e597fcd..0ba9366542 100644 --- a/code/modules/gamemaster/actions/supplyrequest.dm +++ b/code/modules/gamemaster/actions/supplyrequest.dm @@ -1,11 +1,11 @@ /datum/gm_action/request name = "general request" - departments = list(ROLE_CARGO) + departments = list(DEPARTMENT_CARGO) /datum/gm_action/request/announce() spawn(rand(1 MINUTE, 2 MINUTES)) command_announcement.Announce("[pick("A nearby vessel", "A Solar contractor", "A Skrellian contractor", "A NanoTrasen board director")] has requested the delivery of [pick("one","two","three","several")] [pick("medical","engineering","research","civilian")] supply packages. The [station_name()] has been tasked with completing this request.", "Supply Request") /datum/gm_action/request/get_weight() - return max(15, 15 + round(gm.staleness / 2) - gm.danger) + (metric.count_people_in_department(ROLE_CARGO) * 10) + return max(15, 15 + round(gm.staleness / 2) - gm.danger) + (metric.count_people_in_department(DEPARTMENT_CARGO) * 10) diff --git a/code/modules/gamemaster/actions/surprise_carp_attack.dm b/code/modules/gamemaster/actions/surprise_carp_attack.dm index dce6121b61..eb7b61841c 100644 --- a/code/modules/gamemaster/actions/surprise_carp_attack.dm +++ b/code/modules/gamemaster/actions/surprise_carp_attack.dm @@ -2,7 +2,7 @@ /datum/gm_action/surprise_carp_attack name = "surprise carp attack" - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) reusable = TRUE chaotic = 10 var/mob/living/victim = null diff --git a/code/modules/gamemaster/actions/surprise_meteor.dm b/code/modules/gamemaster/actions/surprise_meteor.dm index 682a8287a6..9bdf894948 100644 --- a/code/modules/gamemaster/actions/surprise_meteor.dm +++ b/code/modules/gamemaster/actions/surprise_meteor.dm @@ -2,11 +2,11 @@ /datum/gm_action/surprise_meteors name = "surprise meteors" - departments = list(ROLE_ENGINEERING) + departments = list(DEPARTMENT_ENGINEERING) chaotic = 25 /datum/gm_action/surprise_meteors/get_weight() - var/engineers = metric.count_people_in_department(ROLE_ENGINEERING) + var/engineers = metric.count_people_in_department(DEPARTMENT_ENGINEERING) var/weight = (max(engineers - 1, 0) * 25) // If only one engineer exists, no meteors for now. return weight diff --git a/code/modules/gamemaster/actions/swarmboarder.dm b/code/modules/gamemaster/actions/swarmboarder.dm index 8a257b9d4b..fb98dc535e 100644 --- a/code/modules/gamemaster/actions/swarmboarder.dm +++ b/code/modules/gamemaster/actions/swarmboarder.dm @@ -1,6 +1,6 @@ /datum/gm_action/swarm_boarder name = "swarmer shell" - departments = list(ROLE_EVERYONE, ROLE_SECURITY, ROLE_ENGINEERING) + departments = list(DEPARTMENT_EVERYONE, DEPARTMENT_SECURITY, DEPARTMENT_ENGINEERING) chaotic = 60 observers_used = TRUE var/area/target_area // Chosen target area @@ -67,7 +67,7 @@ new swarmertype(target_turf) /datum/gm_action/swarm_boarder/get_weight() - return max(0, -60 + (metric.count_people_in_department(ROLE_SECURITY) * 10 + metric.count_people_in_department(ROLE_SYNTHETIC) * 5)) + return max(0, -60 + (metric.count_people_in_department(DEPARTMENT_SECURITY) * 10 + metric.count_people_in_department(DEPARTMENT_SYNTHETIC) * 5)) /datum/gm_action/swarm_boarder/announce() spawn(rand(5 MINUTES, 15 MINUTES)) diff --git a/code/modules/gamemaster/actions/viral_infection.dm b/code/modules/gamemaster/actions/viral_infection.dm index 9b42e2df46..97a646e2a3 100644 --- a/code/modules/gamemaster/actions/viral_infection.dm +++ b/code/modules/gamemaster/actions/viral_infection.dm @@ -2,7 +2,7 @@ /datum/gm_action/viral_infection name = "viral infection" - departments = list(ROLE_MEDICAL) + departments = list(DEPARTMENT_MEDICAL) chaotic = 5 var/list/viruses = list() severity = 1 @@ -80,4 +80,4 @@ message_admins("Virus event affecting [english_list(used_candidates_links)] started; Viruses: [english_list(used_viruses_links)]") /datum/gm_action/viral_infection/get_weight() - return (metric.count_people_in_department(ROLE_MEDICAL) * 20) + return (metric.count_people_in_department(DEPARTMENT_MEDICAL) * 20) diff --git a/code/modules/gamemaster/actions/viral_outbreak.dm b/code/modules/gamemaster/actions/viral_outbreak.dm index f0eb27b41a..352627bd24 100644 --- a/code/modules/gamemaster/actions/viral_outbreak.dm +++ b/code/modules/gamemaster/actions/viral_outbreak.dm @@ -1,6 +1,6 @@ /datum/gm_action/viral_outbreak name = "viral outbreak" - departments = list(ROLE_MEDICAL, ROLE_EVERYONE) + departments = list(DEPARTMENT_MEDICAL, DEPARTMENT_EVERYONE) chaotic = 30 severity = 1 var/list/candidates = list() @@ -29,9 +29,9 @@ severity-- /datum/gm_action/viral_outbreak/get_weight() - var/medical = metric.count_people_in_department(ROLE_MEDICAL) - var/security = metric.count_people_in_department(ROLE_SECURITY) - var/everyone = metric.count_people_in_department(ROLE_EVERYONE) + var/medical = metric.count_people_in_department(DEPARTMENT_MEDICAL) + var/security = metric.count_people_in_department(DEPARTMENT_SECURITY) + var/everyone = metric.count_people_in_department(DEPARTMENT_EVERYONE) var/assigned_staff = medical + round(security / 2) diff --git a/code/modules/gamemaster/actions/wallrot.dm b/code/modules/gamemaster/actions/wallrot.dm index e2c05aed74..deabfbe34a 100644 --- a/code/modules/gamemaster/actions/wallrot.dm +++ b/code/modules/gamemaster/actions/wallrot.dm @@ -1,6 +1,6 @@ /datum/gm_action/wallrot name = "wall rot" - departments = list(ROLE_ENGINEERING) + departments = list(DEPARTMENT_ENGINEERING) reusable = TRUE var/turf/simulated/wall/center severity = 1 @@ -40,4 +40,4 @@ break /datum/gm_action/wallrot/get_weight() - return 60 + (metric.count_people_in_department(ROLE_ENGINEERING) * 35) + return 60 + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) * 35) diff --git a/code/modules/gamemaster/actions/waste_disposal.dm b/code/modules/gamemaster/actions/waste_disposal.dm index e7ba856e78..e8412d7e95 100644 --- a/code/modules/gamemaster/actions/waste_disposal.dm +++ b/code/modules/gamemaster/actions/waste_disposal.dm @@ -2,8 +2,8 @@ /datum/gm_action/waste_disposal name = "waste disposal" - departments = list(ROLE_CARGO) + departments = list(DEPARTMENT_CARGO) chaotic = 0 /datum/gm_action/waste_disposal/get_weight() - return metric.count_people_in_department(ROLE_CARGO) * 50 \ No newline at end of file + return metric.count_people_in_department(DEPARTMENT_CARGO) * 50 \ No newline at end of file diff --git a/code/modules/gamemaster/actions/window_break.dm b/code/modules/gamemaster/actions/window_break.dm index 3cb16cba58..c409388c23 100644 --- a/code/modules/gamemaster/actions/window_break.dm +++ b/code/modules/gamemaster/actions/window_break.dm @@ -1,6 +1,6 @@ /datum/gm_action/window_break name = "window breach" - departments = list(ROLE_ENGINEERING) + departments = list(DEPARTMENT_ENGINEERING) chaotic = 5 var/obj/structure/window/chosen_window var/list/obj/structure/window/collateral_windows @@ -75,4 +75,4 @@ command_announcement.Announce("Structural integrity of windows at [chosen_location.loc.name] is failing. Immediate repair or replacement is advised.", "Structural Alert") /datum/gm_action/window_break/get_weight() - return 20 * metric.count_people_in_department(ROLE_ENGINEERING) + return 20 * metric.count_people_in_department(DEPARTMENT_ENGINEERING) diff --git a/code/modules/gamemaster/actions/wormholes.dm b/code/modules/gamemaster/actions/wormholes.dm index f2a90f5539..a7650713b3 100644 --- a/code/modules/gamemaster/actions/wormholes.dm +++ b/code/modules/gamemaster/actions/wormholes.dm @@ -2,7 +2,7 @@ name = "space-time anomalies" chaotic = 70 length = 12 MINUTES - departments = list(ROLE_EVERYONE) + departments = list(DEPARTMENT_EVERYONE) severity = 1 /datum/gm_action/wormholes/set_up() // 1 out of 5 will be full-duration wormholes, meaning up to a minute long. @@ -17,7 +17,7 @@ wormhole_event(length / 2, (severity / 3)) /datum/gm_action/wormholes/get_weight() - return 10 + max(0, -30 + (metric.count_people_in_department(ROLE_EVERYONE) * 5) + (metric.count_people_in_department(ROLE_ENGINEERING) + 10) + (metric.count_people_in_department(ROLE_MEDICAL) * 20)) + return 10 + max(0, -30 + (metric.count_people_in_department(DEPARTMENT_EVERYONE) * 5) + (metric.count_people_in_department(DEPARTMENT_ENGINEERING) + 10) + (metric.count_people_in_department(DEPARTMENT_MEDICAL) * 20)) /datum/gm_action/wormholes/end() command_announcement.Announce("There are no more space-time anomalies detected on the station.", "Anomaly Alert") diff --git a/code/modules/gamemaster/game_master.dm b/code/modules/gamemaster/game_master.dm index 8814fb362e..7220cb11a9 100644 --- a/code/modules/gamemaster/game_master.dm +++ b/code/modules/gamemaster/game_master.dm @@ -138,7 +138,7 @@ for(var/datum/gm_action/action in available_actions) if(!action.enabled) continue - if(ROLE_EVERYONE in action.departments) + if(DEPARTMENT_EVERYONE in action.departments) best_actions.Add(action) log_debug("[action.name] is being considered because it involves everyone.") diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm index 2a4afe462e..5783bfc398 100644 --- a/code/modules/holodeck/HolodeckControl.dm +++ b/code/modules/holodeck/HolodeckControl.dm @@ -4,7 +4,7 @@ icon_keyboard = "tech_key" icon_screen = "holocontrol" - use_power = 1 + use_power = USE_POWER_IDLE active_power_usage = 8000 //8kW for the scenery + 500W per holoitem var/item_power_usage = 500 @@ -224,7 +224,7 @@ damaged = 1 loadProgram(powerdown_program, 0) active = 0 - use_power = 1 + update_use_power(USE_POWER_IDLE) for(var/mob/M in range(10,src)) M.show_message("The holodeck overloads!") @@ -268,10 +268,10 @@ loadProgram(powerdown_program, 0) if(!linkedholodeck.has_gravity) - linkedholodeck.gravitychange(1,linkedholodeck) + linkedholodeck.gravitychange(1) active = 0 - use_power = 1 + update_use_power(USE_POWER_IDLE) /obj/machinery/computer/HolodeckControl/proc/loadProgram(var/prog, var/check_delay = 1) @@ -301,7 +301,7 @@ last_change = world.time active = 1 - use_power = 2 + use_power = USE_POWER_ACTIVE for(var/item in holographic_objs) derez(item) @@ -362,19 +362,19 @@ last_gravity_change = world.time active = 1 - use_power = 1 + use_power = USE_POWER_IDLE if(A.has_gravity) - A.gravitychange(0,A) + A.gravitychange(0) else - A.gravitychange(1,A) + A.gravitychange(1) /obj/machinery/computer/HolodeckControl/proc/emergencyShutdown() //Turn it back to the regular non-holographic room loadProgram(powerdown_program, 0) if(!linkedholodeck.has_gravity) - linkedholodeck.gravitychange(1,linkedholodeck) + linkedholodeck.gravitychange(1) active = 0 - use_power = 1 + use_power = USE_POWER_IDLE diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm index 4744693637..ed66db42f3 100644 --- a/code/modules/holodeck/HolodeckObjects.dm +++ b/code/modules/holodeck/HolodeckObjects.dm @@ -58,8 +58,13 @@ /turf/simulated/floor/holofloor/space icon = 'icons/turf/space.dmi' + plane = SPACE_PLANE name = "\proper space" - icon_state = "0" + icon_state = "white" + +/turf/simulated/floor/holofloor/space/update_icon() + . = ..() + add_overlay(SSskybox.dust_cache["[((x + y) ^ ~(x * y) + z) % 25]"]) /turf/simulated/floor/holofloor/reinforced icon = 'icons/turf/flooring/tiles.dmi' @@ -67,9 +72,6 @@ name = "reinforced holofloor" icon_state = "reinforced" -/turf/simulated/floor/holofloor/space/New() - icon_state = "[((x + y) ^ ~(x * y) + z) % 25]" - /turf/simulated/floor/holofloor/beach desc = "Uncomfortably gritty for a hologram." base_desc = "Uncomfortably gritty for a hologram." @@ -345,6 +347,7 @@ datum/unarmed_attack/holopugilism/unarmed_override(var/mob/living/carbon/human/u name = "basketball" desc = "Here's your chance, do your dance at the Space Jam." w_class = ITEMSIZE_LARGE //Stops people from hiding it in their bags/pockets + drop_sound = 'sound/items/drop/basketball.ogg' /obj/structure/holohoop name = "basketball hoop" @@ -395,7 +398,7 @@ datum/unarmed_attack/holopugilism/unarmed_override(var/mob/living/carbon/human/u var/eventstarted = 0 anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 6 power_channel = ENVIRON diff --git a/code/modules/holomap/station_holomap.dm b/code/modules/holomap/station_holomap.dm index d38875f220..39a1c30452 100644 --- a/code/modules/holomap/station_holomap.dm +++ b/code/modules/holomap/station_holomap.dm @@ -8,7 +8,7 @@ icon_state = "station_map" anchored = 1 density = 0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 500 circuit = /obj/item/weapon/circuitboard/station_map @@ -33,16 +33,15 @@ /obj/machinery/station_map/New() ..() - holomap_datum = new() - original_zLevel = loc.z - SSholomaps.station_holomaps += src flags |= ON_BORDER // Why? It doesn't help if its not density /obj/machinery/station_map/Initialize() . = ..() + holomap_datum = new() + original_zLevel = loc.z + SSholomaps.station_holomaps += src if(SSholomaps.holomaps_initialized) - spawn(1) // Tragically we need to spawn this in order to give the frame construcing us time to set pixel_x/y - setup_holomap() + setup_holomap() /obj/machinery/station_map/Destroy() SSholomaps.station_holomaps -= src @@ -64,14 +63,12 @@ holomap_datum.initialize_holomap(T, reinit = TRUE) small_station_map = image(SSholomaps.extraMiniMaps["[HOLOMAP_EXTRA_STATIONMAPSMALL]_[original_zLevel]"], dir = dir) - // small_station_map.plane = LIGHTING_PLANE // Not until we do planes ~Leshana - // small_station_map.layer = LIGHTING_LAYER+1 // Weird things will happen! floor_markings = image('icons/obj/machines/stationmap.dmi', "decal_station_map") floor_markings.dir = src.dir - // floor_markings.plane = ABOVE_TURF_PLANE // Not until we do planes ~Leshana - // floor_markings.layer = DECAL_LAYER - update_icon() + + spawn(1) //When built from frames, need to allow time for it to set pixel_x and pixel_y + update_icon() /obj/machinery/station_map/attack_hand(var/mob/user) if(watching_mob && (watching_mob != user)) @@ -126,7 +123,7 @@ GLOB.moved_event.register(watching_mob, src, /obj/machinery/station_map/proc/checkPosition) GLOB.dir_set_event.register(watching_mob, src, /obj/machinery/station_map/proc/checkPosition) GLOB.destroyed_event.register(watching_mob, src, /obj/machinery/station_map/proc/stopWatching) - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) if(bogus) to_chat(user, "The holomap failed to initialize. This area of space cannot be mapped.") @@ -156,7 +153,7 @@ GLOB.dir_set_event.unregister(watching_mob, src) GLOB.destroyed_event.unregister(watching_mob, src) watching_mob = null - update_use_power(1) + update_use_power(USE_POWER_IDLE) /obj/machinery/station_map/power_change() . = ..() @@ -172,6 +169,9 @@ update_icon() /obj/machinery/station_map/update_icon() + if(!holomap_datum) + return //Not yet. + overlays.Cut() if(stat & BROKEN) icon_state = "station_mapb" diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 0a25a1fae1..982f44e794 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -7,51 +7,43 @@ desc = "Nutritious! Probably." flags = NOCONDUCT slot_flags = SLOT_HOLSTER + drop_sound = 'sound/items/drop/herb.ogg' var/plantname var/datum/seed/seed var/potency = -1 -/obj/item/weapon/reagent_containers/food/snacks/grown/Initialize(newloc,planttype) - ..() +/obj/item/weapon/reagent_containers/food/snacks/grown/Initialize(var/mapload, var/planttype) + . = ..() + if(!dried_type) dried_type = type - src.pixel_x = rand(-5.0, 5) - src.pixel_y = rand(-5.0, 5) + + pixel_x = rand(-5.0, 5) + pixel_y = rand(-5.0, 5) - // Fill the object up with the appropriate reagents. if(planttype) plantname = planttype -/obj/item/weapon/reagent_containers/food/snacks/grown/Initialize() - ..() - spawn() - if(!plantname) - return + if(!plantname) + log_debug("Plantname not provided and and [src] requires it at [x],[y],[z]") + return INITIALIZE_HINT_QDEL - if(!plant_controller) - sleep(250) // ugly hack, should mean roundstart plants are fine. - if(!plant_controller) - to_world("Plant controller does not exist and [src] requires it. Aborting.") - qdel(src) - return + seed = plant_controller.seeds[plantname] - seed = plant_controller.seeds[plantname] + if(!seed) + log_debug("Plant name '[plantname]' does not exist and [src] requires it at [x],[y],[z]") + return INITIALIZE_HINT_QDEL - if(!seed) - return + name = "[seed.seed_name]" + trash = seed.get_trash_type() - name = "[seed.seed_name]" - trash = seed.get_trash_type() + update_icon() - update_icon() - - if(!seed.chems) - return - - potency = seed.get_trait(TRAIT_POTENCY) + potency = seed.get_trait(TRAIT_POTENCY) + if(seed.chems) for(var/rid in seed.chems) var/list/reagent_data = seed.chems[rid] if(reagent_data && reagent_data.len) @@ -157,12 +149,8 @@ overlays |= plant_icon /obj/item/weapon/reagent_containers/food/snacks/grown/Crossed(var/mob/living/M) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = M - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(M.is_incorporeal()) + return if(seed && seed.get_trait(TRAIT_JUICY) == 2) if(istype(M)) @@ -365,6 +353,7 @@ var/list/fruit_icon_cache = list() name = "[S.seed_name] slice" desc = "A slice of \a [S.seed_name]. Tasty, probably." + drop_sound = 'sound/items/drop/herb.ogg' var/rind_colour = S.get_trait(TRAIT_PRODUCT_COLOUR) var/flesh_colour = S.get_trait(TRAIT_FLESH_COLOUR) diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index ccd12729c4..775fc13dfe 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -104,7 +104,7 @@ var/injecting = min(5,max(1,get_trait(TRAIT_POTENCY)/3)) R.add_reagent(rid,injecting) - var/datum/effect/effect/system/smoke_spread/chem/spores/S = new(name) + var/datum/effect/effect/system/smoke_spread/chem/spores/S = new(src) S.attach(T) S.set_up(R, round(get_trait(TRAIT_POTENCY)/4), 0, T) S.start() @@ -229,6 +229,7 @@ open_turfs |= origin_turf // Flood fill to get affected turfs. + // NOTE: Halfass bugfix implemented using air_blocked() but this really should be redone completely ~Leshana while(open_turfs.len) var/turf/T = pick(open_turfs) open_turfs -= T @@ -246,11 +247,11 @@ var/no_los var/turf/last_turf = origin_turf for(var/turf/target_turf in getline(origin_turf,neighbor)) - if(!last_turf.Enter(target_turf) || target_turf.density) + if(air_master.air_blocked(last_turf, target_turf)) no_los = 1 break last_turf = target_turf - if(!no_los && !origin_turf.Enter(neighbor)) + if(!no_los && air_master.air_blocked(origin_turf, neighbor)) no_los = 1 if(no_los) closed_turfs |= neighbor @@ -694,11 +695,11 @@ for(var/gas in exude_gasses) exude_gasses[gas] = max(1,round(exude_gasses[gas]*0.8)) - set_trait(TRAIT_BENEFICIAL_REAG, gene.values["[TRAIT_BENEFICIAL_REAG]"].Copy()) + set_trait(TRAIT_BENEFICIAL_REAG, gene.values["[TRAIT_BENEFICIAL_REAG]"]?.Copy() || list()) - set_trait(TRAIT_MUTAGENIC_REAG, gene.values["[TRAIT_MUTAGENIC_REAG]"].Copy()) + set_trait(TRAIT_MUTAGENIC_REAG, gene.values["[TRAIT_MUTAGENIC_REAG]"]?.Copy() || list()) - set_trait(TRAIT_TOXIC_REAG, gene.values["[TRAIT_TOXIC_REAG]"].Copy()) + set_trait(TRAIT_TOXIC_REAG, gene.values["[TRAIT_TOXIC_REAG]"]?.Copy() || list()) gene.values["[TRAIT_EXUDE_GASSES]"] = null gene.values["[TRAIT_CHEMS]"] = null diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm index d5c185befc..affddf1168 100644 --- a/code/modules/hydroponics/seed_machines.dm +++ b/code/modules/hydroponics/seed_machines.dm @@ -37,7 +37,7 @@ icon_state = "hydrotray3" density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE var/obj/item/seeds/seed // Currently loaded seed packet. var/obj/item/weapon/disk/botany/loaded_disk //Currently loaded data disk. diff --git a/code/modules/hydroponics/seed_mobs.dm b/code/modules/hydroponics/seed_mobs.dm index 0c9441dbac..8b5c4a56a1 100644 --- a/code/modules/hydroponics/seed_mobs.dm +++ b/code/modules/hydroponics/seed_mobs.dm @@ -12,7 +12,7 @@ spawn(75) if(!host.ckey && !host.client) host.death() // This seems redundant, but a lot of mobs don't - host.stat = DEAD // handle death() properly. Better safe than etc. + host.set_stat(DEAD) // handle death() properly. Better safe than etc. host.visible_message("[host] is malformed and unable to survive. It expires pitifully, leaving behind some seeds.") var/total_yield = rand(1,3) diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm index 602947abb7..053ce5a59c 100644 --- a/code/modules/hydroponics/seed_storage.dm +++ b/code/modules/hydroponics/seed_storage.dm @@ -20,11 +20,11 @@ /obj/machinery/seed_storage name = "Seed storage" desc = "It stores, sorts, and dispenses seeds." - icon = 'icons/obj/vending_vr.dmi' //VOREStation Edit - Dunno why this isn't a vending subtype + icon = 'icons/obj/vending.dmi' icon_state = "seeds" density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 100 var/seeds_initialized = 0 // Map-placed ones break if seeds are loaded right at the start of the round, so we do it on the first interaction diff --git a/code/modules/hydroponics/spreading/spreading_response.dm b/code/modules/hydroponics/spreading/spreading_response.dm index bab7131466..8c694c8b00 100644 --- a/code/modules/hydroponics/spreading/spreading_response.dm +++ b/code/modules/hydroponics/spreading/spreading_response.dm @@ -20,12 +20,8 @@ manual_unbuckle(user) /obj/effect/plant/Crossed(atom/movable/O) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = O - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(O.is_incorporeal()) + return if(isliving(O)) trodden_on(O) diff --git a/code/modules/hydroponics/trays/tray_soil.dm b/code/modules/hydroponics/trays/tray_soil.dm index d6297a6766..76a3417645 100644 --- a/code/modules/hydroponics/trays/tray_soil.dm +++ b/code/modules/hydroponics/trays/tray_soil.dm @@ -2,7 +2,7 @@ name = "soil" icon_state = "soil" density = 0 - use_power = 0 + use_power = USE_POWER_OFF mechanical = 0 tray_light = 0 frozen = -1 diff --git a/code/modules/integrated_electronics/core/tools.dm b/code/modules/integrated_electronics/core/tools.dm index 23e8e3f24b..79533bfe25 100644 --- a/code/modules/integrated_electronics/core/tools.dm +++ b/code/modules/integrated_electronics/core/tools.dm @@ -276,60 +276,54 @@ ) cant_hold = list(/obj/item/weapon/tool/screwdriver/power) -/obj/item/weapon/storage/bag/circuits/basic/New() - ..() - spawn(2 SECONDS) // So the list has time to initialize. -// for(var/obj/item/integrated_circuit/IC in all_integrated_circuits) -// if(IC.spawn_flags & IC_SPAWN_DEFAULT) -// for(var/i = 1 to 4) -// new IC.type(src) - new /obj/item/weapon/storage/bag/circuits/mini/arithmetic(src) - new /obj/item/weapon/storage/bag/circuits/mini/trig(src) - new /obj/item/weapon/storage/bag/circuits/mini/input(src) - new /obj/item/weapon/storage/bag/circuits/mini/output(src) - new /obj/item/weapon/storage/bag/circuits/mini/memory(src) - new /obj/item/weapon/storage/bag/circuits/mini/logic(src) - new /obj/item/weapon/storage/bag/circuits/mini/time(src) - new /obj/item/weapon/storage/bag/circuits/mini/reagents(src) - new /obj/item/weapon/storage/bag/circuits/mini/transfer(src) - new /obj/item/weapon/storage/bag/circuits/mini/converter(src) - new /obj/item/weapon/storage/bag/circuits/mini/power(src) +/obj/item/weapon/storage/bag/circuits/basic/Initialize() + . = ..() + new /obj/item/weapon/storage/bag/circuits/mini/arithmetic(src) + new /obj/item/weapon/storage/bag/circuits/mini/trig(src) + new /obj/item/weapon/storage/bag/circuits/mini/input(src) + new /obj/item/weapon/storage/bag/circuits/mini/output(src) + new /obj/item/weapon/storage/bag/circuits/mini/memory(src) + new /obj/item/weapon/storage/bag/circuits/mini/logic(src) + new /obj/item/weapon/storage/bag/circuits/mini/time(src) + new /obj/item/weapon/storage/bag/circuits/mini/reagents(src) + new /obj/item/weapon/storage/bag/circuits/mini/transfer(src) + new /obj/item/weapon/storage/bag/circuits/mini/converter(src) + new /obj/item/weapon/storage/bag/circuits/mini/power(src) - new /obj/item/device/electronic_assembly(src) - new /obj/item/device/assembly/electronic_assembly(src) - new /obj/item/device/assembly/electronic_assembly(src) - new /obj/item/device/multitool(src) - new /obj/item/weapon/tool/screwdriver(src) - new /obj/item/weapon/tool/crowbar(src) - make_exact_fit() + new /obj/item/device/electronic_assembly(src) + new /obj/item/device/assembly/electronic_assembly(src) + new /obj/item/device/assembly/electronic_assembly(src) + new /obj/item/device/multitool(src) + new /obj/item/weapon/tool/screwdriver(src) + new /obj/item/weapon/tool/crowbar(src) + make_exact_fit() -/obj/item/weapon/storage/bag/circuits/all/New() - ..() - spawn(2 SECONDS) // So the list has time to initialize. - new /obj/item/weapon/storage/bag/circuits/mini/arithmetic/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/trig/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/input/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/output/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/memory/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/logic/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/smart/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/manipulation/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/time/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/reagents/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/transfer/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/converter/all(src) - new /obj/item/weapon/storage/bag/circuits/mini/power/all(src) +/obj/item/weapon/storage/bag/circuits/all/Initialize() + . = ..() + new /obj/item/weapon/storage/bag/circuits/mini/arithmetic/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/trig/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/input/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/output/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/memory/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/logic/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/smart/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/manipulation/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/time/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/reagents/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/transfer/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/converter/all(src) + new /obj/item/weapon/storage/bag/circuits/mini/power/all(src) - new /obj/item/device/electronic_assembly(src) - new /obj/item/device/electronic_assembly/medium(src) - new /obj/item/device/electronic_assembly/large(src) - new /obj/item/device/electronic_assembly/drone(src) - new /obj/item/device/integrated_electronics/wirer(src) - new /obj/item/device/integrated_electronics/debugger(src) - new /obj/item/weapon/tool/crowbar(src) - make_exact_fit() + new /obj/item/device/electronic_assembly(src) + new /obj/item/device/electronic_assembly/medium(src) + new /obj/item/device/electronic_assembly/large(src) + new /obj/item/device/electronic_assembly/drone(src) + new /obj/item/device/integrated_electronics/wirer(src) + new /obj/item/device/integrated_electronics/debugger(src) + new /obj/item/weapon/tool/crowbar(src) + make_exact_fit() -/obj/item/weapon/storage/bag/circuits/mini/ +/obj/item/weapon/storage/bag/circuits/mini name = "circuit box" desc = "Used to partition categories of circuits, for a neater workspace." w_class = 2 diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 009980bec5..1eb05b7949 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -180,6 +180,7 @@ Book Cart End var/title // The real name of the book. var/carved = 0 // Has the book been hollowed out for use as a secret storage item? var/obj/item/store //What's in the book? + drop_sound = 'sound/bureaucracy/bookclose.ogg' /obj/item/weapon/book/attack_self(var/mob/user as mob) if(carved) @@ -194,7 +195,9 @@ Book Cart End if(src.dat) user << browse("Penned by [author].
" + "[dat]", "window=book") user.visible_message("[user] opens a book titled \"[src.title]\" and begins reading intently.") + playsound(loc, 'sound/bureaucracy/bookopen.ogg', 50, 1) onclose(user, "book") + playsound(loc, 'sound/bureaucracy/bookclose.ogg', 50, 1) else to_chat(user, "This book is completely blank!") @@ -277,6 +280,8 @@ Book Cart End to_chat(user, "You begin to carve out [title].") if(do_after(user, 30)) to_chat(user, "You carve out the pages from [title]! You didn't want to read it anyway.") + playsound(loc, 'sound/bureaucracy/papercrumple.ogg', 50, 1) + new /obj/item/weapon/shreddedp(get_turf(src)) carved = 1 return else diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index cc9c678b97..bc3c099091 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -9,12 +9,6 @@ var/tmp/list/datum/lighting_corner/corners var/tmp/has_opaque_atom = FALSE // Not to be confused with opacity, this will be TRUE if there's any opaque atom on the tile. -/turf/New() - . = ..() - - if(opacity) - has_opaque_atom = TRUE - // Causes any affecting light sources to be queued for a visibility update, for example a door got opened. /turf/proc/reconsider_lights() for(var/datum/light_source/L in affecting_lights) @@ -22,7 +16,7 @@ /turf/proc/lighting_clear_overlay() if(lighting_overlay) - qdel(lighting_overlay) + qdel(lighting_overlay, force = TRUE) for(var/datum/lighting_corner/C in corners) C.update_active() diff --git a/code/modules/looking_glass/lg_area.dm b/code/modules/looking_glass/lg_area.dm new file mode 100644 index 0000000000..b17c67449f --- /dev/null +++ b/code/modules/looking_glass/lg_area.dm @@ -0,0 +1,78 @@ +/area/looking_glass + name = "make a subtype" + + var/obj/effect/landmark/looking_glass/our_landmark + var/list/our_turfs = list() + var/list/our_optional_turfs = list() + + var/lg_id + + var/active = FALSE + +/area/looking_glass/Initialize() + . = ..() + our_landmark = locate() in src + if(!our_landmark) + testing("Looking glass area [name] couldn't find a landmark") + for(var/turf/simulated/floor/looking_glass/lgt in src) + our_turfs += lgt + if(lgt.optional) + our_optional_turfs += lgt + +/area/looking_glass/Destroy() + our_landmark = null + our_turfs.Cut() + return ..() + +/area/looking_glass/Entered(var/atom/movable/AM) + if(isliving(AM)) + var/mob/living/L = AM + if(L.client) + our_landmark?.gain_viewer(L.client) + +/area/looking_glass/Exited(var/atom/movable/AM) + if(isliving(AM)) + var/mob/living/L = AM + if(L.client) + our_landmark?.lose_viewer(L.client) + +/area/looking_glass/proc/begin_program(var/image/newimage) + if(!active) + for(var/trf in our_turfs) + var/turf/simulated/floor/looking_glass/lgt = trf + lgt.activate() + + our_landmark.take_image(newimage) + active = TRUE + +/area/looking_glass/proc/end_program() + if(active) + for(var/trf in our_turfs) + var/turf/simulated/floor/looking_glass/lgt = trf + lgt.deactivate() + + active = FALSE + + spawn(2 SECONDS) + our_landmark.drop_image() + +/area/looking_glass/proc/toggle_optional(var/transparent) + for(var/trf in our_optional_turfs) + var/turf/simulated/floor/looking_glass/lgt = trf + lgt.center = !transparent + if(active) + lgt.deactivate() + spawn(3 SECONDS) + lgt.activate() + +/area/looking_glass/lg_1 + name = "looking glass one" + lg_id = "one" + +/area/looking_glass/lg_2 + name = "looking glass two" + lg_id = "two" + +/area/looking_glass/lg_3 + name = "looking glass three" + lg_id = "three" diff --git a/code/modules/looking_glass/lg_console.dm b/code/modules/looking_glass/lg_console.dm new file mode 100644 index 0000000000..c4c9033dc1 --- /dev/null +++ b/code/modules/looking_glass/lg_console.dm @@ -0,0 +1,167 @@ +/obj/machinery/computer/looking_glass + name = "looking glass control" + desc = "Controls the looking glass displays in this room. Provided courtesy of KHI." + + icon_keyboard = "tech_key" + icon_screen = "holocontrol" + + var/static/list/supported_programs = list() + var/static/list/secret_programs = list() + + use_power = USE_POWER_IDLE + active_power_usage = 8000 + + var/current_program = "Off" + var/area/looking_glass/my_area + var/last_gravity_change = 0 + var/ready = TRUE + var/immersion = FALSE + + var/lg_id = "change_me" + +/obj/machinery/computer/looking_glass/Initialize() + . = ..() + for(var/area/looking_glass/lga in world) + if(lga.lg_id == lg_id) + my_area = lga + break + if(!istype(my_area)) + testing("Looking glass console [x],[y],[x] not in a looking glass area.") + if(!supported_programs.len) + supported_programs["Off"] = null + supported_programs["Diagnostics"] = image(icon = 'icons/skybox/skybox.dmi', icon_state = "diagnostic") + supported_programs["Space 1"] = image(icon = 'icons/skybox/skybox.dmi', icon_state = "space1") + supported_programs["Space 2"] = image(icon = 'icons/skybox/skybox.dmi', icon_state = "space2") + supported_programs["Space 3"] = image(icon = 'icons/skybox/skybox.dmi', icon_state = "space3") + supported_programs["Space 4"] = image(icon = 'icons/skybox/skybox.dmi', icon_state = "space4") + supported_programs["Space 5"] = image(icon = 'icons/skybox/skybox.dmi', icon_state = "space5") + supported_programs["Space 6"] = image(icon = 'icons/skybox/skybox.dmi', icon_state = "space6") + + secret_programs["Maw"] = image(icon = 'icons/skybox/skybox_vr.dmi', icon_state = "maw") + secret_programs["Flesh"] = image(icon = 'icons/skybox/skybox_vr.dmi', icon_state = "flesh") + secret_programs["Synth Int"] = image(icon = 'icons/skybox/skybox_vr.dmi', icon_state = "synthinsides") + secret_programs["Synth Int 2"] = image(icon = 'icons/skybox/skybox_vr.dmi', icon_state = "synthinsides_active") + +/obj/machinery/computer/looking_glass/Destroy() + my_area = null + return ..() + +/obj/machinery/computer/looking_glass/attack_ai(var/mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/computer/looking_glass/attack_hand(var/mob/user as mob) + if(..()) + return + user.set_machine(src) + + ui_interact(user) + +/obj/machinery/computer/looking_glass/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + user.set_machine(src) + + var/list/data = list() + var/program_list[0] + + for(var/P in supported_programs) + program_list[++program_list.len] = P + + if(emagged) + for(var/P in secret_programs) + program_list[++program_list.len] = P + + data["supportedPrograms"] = program_list + data["currentProgram"] = current_program + data["immersion"] = immersion + if(my_area?.has_gravity) + data["gravity"] = 1 + else + data["gravity"] = null + + ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "lookingglass.tmpl", src.name, 400, 550) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(20) + +/obj/machinery/computer/looking_glass/Topic(href, href_list) + if(..()) + return 1 + if((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) + usr.set_machine(src) + + if(href_list["program"]) + if(ready) + var/prog = href_list["program"] + if(prog == "Off") + current_program = "Off" + unload_program() + else if((prog in supported_programs) || (emagged && (prog in secret_programs))) + current_program = prog + load_program(prog) + else + visible_message("ERROR. Recalibrating displays.") + + else if(href_list["gravity"]) + toggle_gravity(my_area) + + else if(href_list["immersion"]) + immersion = !immersion + my_area.toggle_optional(immersion) + + src.add_fingerprint(usr) + + SSnanoui.update_uis(src) + +/obj/machinery/computer/looking_glass/emag_act(var/remaining_charges, var/mob/user as mob) + if (!emagged) + playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) + emagged = 1 + to_chat(user, "You unlock several programs that were hidden somewhere in memory.") + log_game("[key_name(usr)] emagged the [name]") + return 1 + return + +/obj/machinery/computer/looking_glass/proc/load_program(var/prog_name) + ready = FALSE + VARSET_IN(src, ready, TRUE, 10 SECONDS) + + if(prog_name in supported_programs) + my_area.begin_program(supported_programs[prog_name]) + else if(prog_name in secret_programs) + my_area.begin_program(secret_programs[prog_name]) + +/obj/machinery/computer/looking_glass/proc/unload_program() + ready = FALSE + VARSET_IN(src, ready, TRUE, 10 SECONDS) + + my_area.end_program() + +/obj/machinery/computer/looking_glass/proc/toggle_gravity(var/area/A) + if(world.time < (last_gravity_change + 3 SECONDS)) + if(world.time < (last_gravity_change + 1 SECOND)) + return + visible_message("ERROR. Recalibrating gravity field.") + return + + last_gravity_change = world.time + + if(A.has_gravity) + A.gravitychange(0) + else + A.gravitychange(1) + +//This could all be done better, but it works for now. +/obj/machinery/computer/looking_glass/Destroy() + unload_program() + ..() + +/obj/machinery/computer/looking_glass/ex_act(severity) + unload_program() + ..() + +/obj/machinery/computer/looking_glass/power_change() + var/oldstat = stat + ..() + if (stat != oldstat && (stat & NOPOWER)) + unload_program() \ No newline at end of file diff --git a/code/modules/looking_glass/lg_imageholder.dm b/code/modules/looking_glass/lg_imageholder.dm new file mode 100644 index 0000000000..0d4cf5b157 --- /dev/null +++ b/code/modules/looking_glass/lg_imageholder.dm @@ -0,0 +1,66 @@ +#define LG_IMAGE_SIZE 736 + +/obj/effect/landmark/looking_glass + var/image/holding + + var/list/viewers + + var/lg_id //Area sets this for you + + mouse_opacity = 0 + +/obj/effect/landmark/looking_glass/Initialize() + . = ..() + viewers = list() + +/obj/effect/landmark/looking_glass/proc/gain_viewer(var/client/C) + if(C in viewers) + testing("Looking Glass [x],[y],[z] tried to add a duplicate viewer.") + viewers |= C + if(holding) + show_to(C) + +/obj/effect/landmark/looking_glass/proc/lose_viewer(var/client/C) + if(!(C in viewers)) + testing("Looking Glass [x],[y],[z] tried to remove a viewer it didn't have") + viewers -= C + if(holding) + unshow_to(C) + +/obj/effect/landmark/looking_glass/proc/show_to(var/client/C) + C.images |= holding + +/obj/effect/landmark/looking_glass/proc/unshow_to(var/client/C) + C.images -= holding + +/obj/effect/landmark/looking_glass/proc/take_image(var/image/newimage) + if(!istype(newimage)) + return + + if(holding) + for(var/client in viewers) + unshow_to(client) + + holding = newimage + newimage.plane = PLANE_LOOKINGGLASS_IMG + newimage.blend_mode = BLEND_MULTIPLY + newimage.appearance_flags = RESET_TRANSFORM + newimage.mouse_opacity = 0 + newimage.pixel_y = newimage.pixel_x = (LG_IMAGE_SIZE/-2) + 16 + newimage.loc = src + + for(var/client in viewers) + show_to(client) + +/obj/effect/landmark/looking_glass/proc/drop_image() + if(!holding) + return + + for(var/client in viewers) + unshow_to(client) + + holding.loc = null + holding = null + + +#undef LG_IMAGE_SIZE \ No newline at end of file diff --git a/code/modules/looking_glass/lg_turfs.dm b/code/modules/looking_glass/lg_turfs.dm new file mode 100644 index 0000000000..189790335d --- /dev/null +++ b/code/modules/looking_glass/lg_turfs.dm @@ -0,0 +1,88 @@ +/decl/flooring/looking_glass + name = "looking glass surface" + desc = "Too expensive to replace. Don't break it!" + icon = 'icons/turf/flooring/lg_origin.dmi' + icon_base = "origin" + build_type = null + damage_temperature = T0C+200 + + +/turf/simulated/floor/looking_glass + name = "looking glass surface" + icon = 'icons/turf/flooring/lg_origin.dmi' + icon_state = "origin_arrow" + initial_flooring = /decl/flooring/looking_glass + appearance_flags = TILE_BOUND + dynamic_lighting = FALSE + + var/center = FALSE + var/optional = FALSE + +/turf/simulated/floor/looking_glass/center + center = TRUE + icon_state = "origin_center" + +/turf/simulated/floor/looking_glass/optional + center = TRUE + optional = TRUE + icon_state = "origin_optional_arrow" + +/turf/simulated/floor/looking_glass/proc/activate() + set waitfor = FALSE + + icon_state = "origin_switching" + + animate(src, color = "#000000", time = 3 SECONDS) + + sleep(3 SECONDS) + + var/new_x = 0 + var/new_y = 0 + + if(dir & NORTH) + new_y = 112 + else if(dir & SOUTH) + new_y = -112 + + if(dir & EAST) + new_x = 112 + else if(dir & WEST) + new_x = -112 + + var/matrix/M = matrix() + var/mutable_appearance/MA = new (src) + + if(!center) + var/horizontal = (dir & (WEST|EAST)) + var/vertical = (dir & (NORTH|SOUTH)) + M.Scale(horizontal ? 8 : 1, vertical ? 8 : 1) + M.Translate(new_x, new_y) + MA.opacity = 1 + if(!optional) + MA.density = 1 + + MA.icon_state = "origin_active" + MA.plane = PLANE_LOOKINGGLASS + MA.layer = 0 + appearance = MA + + animate(src, color = "#FFFFFF", transform = M, time = 3 SECONDS) + +/turf/simulated/floor/looking_glass/proc/deactivate() + set waitfor = FALSE + + animate(src, color = "#000000", transform = matrix(), time = 3 SECONDS) + + sleep(3 SECONDS) + var/mutable_appearance/MA = new (src) + MA.opacity = 0 + MA.density = 0 + MA.icon_state = "origin_switching" + MA.plane = initial(plane) + MA.layer = initial(layer) + appearance = MA + + animate(src, color = null, time = 3 SECONDS) + sleep(3 SECONDS) + icon_state = "origin" + diff --git a/code/modules/lore_codex/codex.dm b/code/modules/lore_codex/codex.dm index e16449ce53..ffed55365e 100644 --- a/code/modules/lore_codex/codex.dm +++ b/code/modules/lore_codex/codex.dm @@ -40,6 +40,7 @@ w_class = ITEMSIZE_SMALL root_type = /datum/lore/codex/category/main_news libcategory = "Reference" + drop_sound = 'sound/items/drop/device.ogg' /* //VORESTATION REMOVAL // Combines SOP/Regs/Law diff --git a/code/modules/lore_codex/news_data/main.dm b/code/modules/lore_codex/news_data/main.dm index 277c38e175..1d438d43a3 100644 --- a/code/modules/lore_codex/news_data/main.dm +++ b/code/modules/lore_codex/news_data/main.dm @@ -4,6 +4,21 @@ region. Each is labeled by date of publication and title. This list is self-updating, and from time to time the publisher will push new \ articles. You are encouraged to check back frequently." children = list( + /datum/lore/codex/page/article81, + /datum/lore/codex/page/article80, + /datum/lore/codex/page/article79, + /datum/lore/codex/page/article78, + /datum/lore/codex/page/article77, + /datum/lore/codex/page/article76, + /datum/lore/codex/page/article75, + /datum/lore/codex/page/article74, + /datum/lore/codex/page/article73, + /datum/lore/codex/page/article72, + /datum/lore/codex/page/article71, + /datum/lore/codex/page/article70, + /datum/lore/codex/page/article69, + /datum/lore/codex/page/article68, + /datum/lore/codex/page/article67, /datum/lore/codex/page/article66, /datum/lore/codex/page/article65, /datum/lore/codex/page/article64, @@ -781,4 +796,128 @@

\ Executive Sifat Unar of the Emergent Intelligence Oversight has voiced immediate concern over the motion, criticising the use of 'foreign government' in reference to Almach; 'Our Fleet has suffered a few defeats, but this conflict goes deeper than mere lasers and shells and to surrender to torturers, mind-hackers, and Machiavellian machines at this stage would be insanity. To allow a seccessionist state, particularly one so unabashedly guilty of crimes against humanity that go far beyond even our modern definitions of 'Human Sanctity', to exist unquestioned a stone's throw from some of our most precious member states, would be a failing not only of this government, but of humanity that would echo through history like a great shameful dirge for all to hear.'\

\ - A communications blackout has been instated on the Gavel system by the Almach Militia, though earlier reports indicate continued strikes on numerous civilian colonies who were unwilling, or unable to deactivate their automated defence systems prior to the invaders arrival." \ No newline at end of file + A communications blackout has been instated on the Gavel system by the Almach Militia, though earlier reports indicate continued strikes on numerous civilian colonies who were unwilling, or unable to deactivate their automated defence systems prior to the invaders arrival." + +/datum/lore/codex/page/article67 + name = "10/08/63 - 'Magnetic Weapon' Designs Released Following Gavel Threat" + data = "Private security and ExoMartian law enforcement agencies are now receiving modernized man-portable magnetic weapon designs produced by Mars Military Industries thanks to increased budget from the S.C.G. The 'hallmarks' of these weapons, as one M.M. Industries spokesperson says, are their incredible ability to launch physical projectiles at velocities rivalling present portable laser technology in practical utility. Many of the designs utilize generalized, easy-to-manufacture compressed matter cartridges as their primary ammunition, meaning no specialized production facilities are required outside of standard shipyard or planetary lathe systems, 'to ensure a cutting edge in the battlefield, down to the last man'.\ +

\ + Some corporations, such as Hephaestus, NanoTrasen, and the PCRC, are already preparing to utilize these released designs in their own laboratories and stations, undoubtedly providing yet more materiel backing to the Almach front." + +/datum/lore/codex/page/article68 + name = "10/10/63 - Gavel Encircled - Liberation In Sight" + data = "Significant Fleet reinforcements from the Unathi border have 'trapped' the Almach fleet in the Gavel system and are poised for a decisive victory, according to latest reports from the front. Solar vessels from all sides of the war-torn system have closed in to ensure the invading force have no means of retreat. The relief force includes elements of the Hegemony-border fleets and the previously deployed flotilla stationed in Saint Columbia. Speaking at the Colonial Assembly this morning, Rewi Kerehoma of the Sol Economic Organization has stated that the reinforcements will 'beyond a doubt' prevent a repeat of 'embarrassing' errors made in the past month.\ +

\ + Efforts have been made to re-establish contact with the occupied system, which has been blocked from communication with the rest of the galaxy since the occupation began last week. According to scattered civilian signals from the system, the Association has adopted a 'salted earth' policy to the system following Solar military response, openly demolishing system infrastructure with little regard for its residents. A spokesperson for Grayson Manufactories, who maintain a significant presence in the Gavel system , has proposed that 'The Almachi had no intention of holding this system, this may have been nothing more than a show of force against corporate assets supporting the war effort.'\ +

\ + In related news, Admiral Ripon Latt has officially retired from his post following immense political pressure from the Assembly. Latt was until this week, commander of the Rim Expeditionary Force - currently in the Saint Columbia system - and has been the primary target for blame in the SCG's defeat in Relan, and failure to prevent the invasion of Gavel. The disgraced admiral will receive a full officer's pension, but no official honours befitting of his previous rank. Latt is to be replaced immediately by Admiral Silvain Barka, an experienced veteran of anti-piracy action in the Rarkajar Rift." + +/datum/lore/codex/page/article69 + name = "10/26/63 - 'Largest Engagement Since The Hegemony War' As Gavel Freed" + data = "The Almach Association invasion force in the Gavel system has been all but annihilated by a successful Solar counter-encirclement, at great cost to both sides. The combined Rim Expeditionary Force in Saint Columbia, along with the newly formed Gavel Relief Fleet - which had been massing in the Vir system over the past week - launched the successful attack this Tuesday evening, leaving no route of escape for Almachi invaders and resulting in 'pitched fighting' between the fleets that lasted several days. Solar forces are currently in the process of performing security sweeps of the system and its scattered habitats and it is expected to be several weeks before the system is declared safe to civilian traffic and for refugees to return home.\ +

\ + Even as exact causalities remain unconfirmed, the battle has made history as the single largest ship-to-ship engagement by tonnage involving the Sol military since the cessation of hostilities with the Unathi in 2520, involving over one hundred vessels of all sizes across both sides, as well as countless unmanned drones and light craft. Almachi forces, in numbers described as 'far from an insignificant portion of the total fleet' fought fiercely, and 'in manners more reminiscent of mercenary gangs than a single organized force, and with tactics varying from the conventional to the outright mystifying'. Admiral Silvain Barka has commended his own crew for applying lessons learnt from prior 'Aetothean' commando strikes in preventing similar incidents from occuring in the confusion of battle; in a candid interview this morning he stated 'Like any Promethean, (Aetotheans) hate the cold, and my crew are the coldest (expletive) around.' \ +

\ + The designations of twenty-four Sol Defense Vessels declared 'lost in action' have not yet been released, though next of kin of missing or deceased servicepeople have reportedly been notified." + +/datum/lore/codex/page/article70 + name = "11/11/63 - Gavel Salvation Reveals True Cost of War" + data = "Reports from liberating forces in the Gavel system have confirmed early accounts of 'inhuman' tactics employed by the Almachi invaders during their short occupation and defense of the region. Besides an apparent disregard for sapient life, especially any that gave an outward appearance of defending themselves, the Militia is believed to have employed troops and tactics 'the likes of which had only been imagined', in 'a manner that can only be described as experimental'.\ +

\ + Most harrowing of the accounts are those of alleged 'kill-switch clone armies' consisting of near-identical vatborn troops deployed to some of New Xanadu's largest surface colonies. According to local residents, the 'uncanny' troops arrived en-masse 'from the depths of the wastes' at the beginning of the invasion, despite wearing no obvious gear that would protect them from the extreme, unbreathable environment beyond the confines of controlled habitats. The clones are said to have targetted infrastructure including life support, with little regard for those who stood in their way. However, what has baffled Fleet analysts is the reaction upon the arrival of Sol surface troops; the clones did not fight back, but rather dropped dead 'all at once, as if a switch had been flipped'.\ +

\ + Teams from the SCG's top analytical and regulatory bodies including the EIO have been hard at work collecting examples of the unusual Almachi technology from throughout Gavel. Executive Sifat Unar has stated that 'It is vital that we ensure this transgressive technology no longer poses a threat to sapient life, either now or to future generations. A full cleanup operation is underway, and we are working to analyse what we have found and better understand the enemy's limits and the extent of their biological and technological... Practices.'\ +

\ + The current confirmed death toll, including civilian losses in Gavel has now reached 11,520 and is expected to rise. Debate continues whether to add the so-called 'Kill-switchers' to the tally." + +/datum/lore/codex/page/article71 + name = "11/21/63 - Tajaran Pearlshield Draws Line In The Sand" + data = "Khama Suketa enai-Lutiir, representative of the Tajaran Pearlshield Coalition, has just issued a formal statement:\ +

\ + 'It's no secret that we members of the Pearlshield Coalition have our differences and conflicts, both within and without. Much as some might call it the spice of life, it's with shame that I admit it has left us somewhat paralyzed over the last few months, even as a war has raged on a mere few jumps away from our borders. But in acknowledgment of our differences, something we have been able to unanimously agree upon is the sanctity of life and common decency, sanctity that Almach has continued to violate in the name of political conquest. Our relationship with SolGov - and indeed, any who would call us 'friend' - should be one of mutual cooperation and benefit, not of hard boundaries delineating 'us' and 'them'. There is only 'we', and we cannot stand idly by.\ +

\ + 'To this end, the Pearlshield has negotiated with local forces in the Silk system, and are taking over interim protection of the system, to free up Solar military forces so they can assist in the war effort. We have also begun construction of a large residential station to supplement the Silk station itself, alleviating its acknowledged overpopulation issues and providing additional logistical support for our defensive fleet. Finally, our cousins in Mesomori have generously loaned their new flagship, the PCMV Raniira's Grace, with all hands on deck for temporary joint assignment with Solar military forces. They are quite eager to provide a taste of Tajaran firepower and ingenuity.\ +

\ + 'We wish we could spare more at this time, but alas, we're still finding our feet among the stars, stepping carefully among the proverbial minefield that is our own share of cosmic threats. Know that these contributions represent a grand investment in their own right, and they are only the beginning should this war carry on.\ +

\ + 'We will have more to say as it comes up. May all our stars shine upon us.'" + +/datum/lore/codex/page/article72 + name = "11/23/63 - Surviving 'Kill-switcher' Assassinated During Vir Interview" + data = "An Almachi 'kill-switcher' clone soldier capturing during the liberation of the Gavel system was yesterday 'forced' to explosively self-terminate during a live TV broadcast with Virite news anchor David Huexqole aboard a SCG prisoner transport craft, allegedly by the statement of a code phrase, clearly audible on the recording. Following the attack, the apparent 'activator' is reported to have escaped to nearby NanoTrasen logistical station, the Southern Cross amidst the chaos where a minor altercation took place, resulting in the injury of one Positronic crew member and death of one Almachi accomplice, which initial reports suggest to have been a 'Vox mercenary'. The search continues for the Almachi agent, and local authorities remain confident that they will be apprehended.\ +

\ + David Huexqole, a popular local media personality, was the only other immediate victim of the attack, suffering moderate injuries and was rushed to the Southern Cross for emergency surgery where he is reported to have made a full recovery. Huexqole has expressed his gratitude to the 'skilled and charming staff, clearly shaken by the war but nonetheless capable for it.' but has expressed concerns regarding so-called sleeper agents within Sol space, 'Isa (341, the interviewed clone), seemed genuinely reformed. She spoke openly of regret, and struggling with what it meant to be created only to die. Before she blew herself up, I never would have thought her capable - it was like she changed in an instant.'\ +

\ + Initial blast investigation suggests the presence of a previously unidentified compound in the clone's bloodstream, which was detonated following 'activation' by the as of yet unidentified Association agent, believed to have been present in the room during the recording. Moments prior to termination, the clone's demeanour is visibly altered and the phrase 'Those of Sol must look to the eastern star, Phorcys.' was clearly stated. A spokesperson for the Saint Columbia Telemetry Station has stated that observation of Phorcys, an uninhabited star system located approximately between the Almach Association state of Vounna and Skrellian Far Kingdom space, has revealed 'no immediate anomalous behaviour or presence' but that analysis will continue in the coming weeks 'in order to verify the potential meaning of this statement.'" + +/datum/lore/codex/page/article73 + name = "11/25/63 - Phorcys Star Ignites!" + data = "The Phorcys star system, mentioned cryptically during Friday's dramatic televised Almachi assassination, has 'gone supernova' several thousand millennia ahead of schedule, sparking concerns of 'Almach Superweapon' involvement. The process, which ordinarily takes place over many months and is preceded by millions of years of obvious stellar evolution, began rapidly in the early hours of this morning and has already begun to consume the entire system at a rapid rate - mercifully consisting of only two uninhabitable dwarf planets.\ +

\ + According to government telemetric sources, who have been observing the system since Friday's message, the 'ignition' was preceded by 'abnormal bluespace readings', but it is impossible at this time to confirm whether the phenomena was a natural anomaly that Almachi sources were able to identify ahead of time, or if the long-rumoured 'Whythe Superweapon' was in fact involved. If direct Almach involvement were the case, the range of such an 'attack' would be unprecedented, with the afflicted star far from any populated area or territorial claims and 'no evidence of sapient passage to the system in several decades.'\ +

\ + General Secretary Mackenzie West, speaking on behalf of the Colonial Assembly has stated that 'The Solar Confederate Government is taking this matter very seriously. The mere prospect of a weapon of this calibre would indeed pose an existential threat to our society, and perhaps mankind. However, at this time we cannot jump to conclusions, this may in fact be a game of smoke and mirrors; an effort to use a previously unobserved phenomena as a weapon of propaganda, and we cannot allow this to cloud our judgement. We are in close contact with the Skrell in order to determine the nature of this sudden ignition. Know that the Fleet is on high alert, and fighting forth from the Saint Columbia system will continue unaffected.'" + +/datum/lore/codex/page/article74 + name = "11/27/63 - Whythe Superweapon Confirmed In Phorcys Blast" + data = "New government footage from the moment of ignition in the Phorcys system has confirmed the 'brief' presence of an artificial 'bluespace gate' within the star just prior to its rapid expansion and structural collapse. This verifies claims of responsibility made by the Almach Association late yesterday, and casts no doubt on the threat posed by the so-called Whythe Superweapon. The Colonial Assembly has been in continuous session since the initial incident, and one staffer has described the atmosphere as one of 'unhinged panic'.\ +

\ + The prevailing fear amongst the government, with the assent of top physicists in the private sector is that such a weapon could be used against Solar targets, and that it is no longer a question of 'how', but 'when', and indeed 'where'. The only unknown factor is the superweapon's capability for repeat use, and 'rate of fire' which is yet to be demonstrated but widely considered to be 'not a risk worth taking under any circumstances'.\ +

\ + Latest reports from the Assembly have are that a 'scramble' is taking place to resolve the 'Almach Situation', and that the ongoing offensive out of Saint Columbia has been redirected towards Relan and Whythe. According to Skrellian correspondent Hasan Drust, official aid has been requested as of this afternoon." + +/datum/lore/codex/page/article75 + name = "12/01/63 - Skrell Defer Aid Citing 'Deliberations'" + data = "Official Solar contacts within the Skrellian government have reportedly delayed tangible aid in the rapidly escalating Almach Crisis, citing 'Internal Deliberations', agreeing only to continue to share telemetric data on the movement of Association forces. The Skrell, who were instrumental in the Solar victory against the Unathi 40 years ago have long been considered taciturn in their internal affairs, but have previously been open in their support of Sol action when it comes to national defence, making their indecisive response greatly unexpected to some.\ +

\ + Speaker ISA-5, who has been increasingly critical of the war in the past several days, has dismissed concerns that the Skrell are 'siding with the Association', citing the long term close relationship between their governments, 'The Skrell are not war hawks, and they've never shown outward ill-will against other sapients. We can't let a bureaucratic delay allow public opinion to turn against an entire species of people who have always had our backs. If our allies need time for deliberations, we should allow them and not expect mere muscle and military aid when words could have been our solution from the beginning. I've no doubt that they will not allow the situation to become so dire that the Association are able to cause us any serious harm as they have threatened. I'm convinced that diplomacy will prevail, and that if the Skrell are in fact negotiating with the Association, then it is with all of our best interests in mind.'" + +/datum/lore/codex/page/article76 + name = "12/20/63 - Jee Relaunches Libraries Across Vir" + data = "Vir's Colonial Assembly representative and long time education reformist Vani Jee has launched her long planned 'modernization' of exonet-linked library system throughout the Vir system. During her campaign early this year she brought to light the 'staggering unsuitability' of library networks in Vir, particularly those being provided for corporate employees and residents, with particular pressure placed on the NanoTrasen Corporation whose literary collection was described as 'basically smut and whatever an old drone had scraped from the bottom of the exonet barrel.' Following her subsequent election, she reaffirmed her desire for education reform, making 'post-education' providers her first target.\ +

\ + The new system, which she successfully acquired government funding for this October, is due to be launched this week and includes a 'personally curated' collection in addition to titles recommended by affected institutions, and a particular focus on local authors." + +/datum/lore/codex/page/article77 + name = "01/23/63 - 'Extreme' Environmental Alert Following Ullran Expanse Chemical Leak" + data = "Residents and visitors to Sif's remote Ullran Expanse have been advised to exercise extreme caution when travelling and to avoid consuming local water sources following a 'catastrophic' chemical spill in the mountains. The exact cause and origin of the spill has yet to be confirmed, though it is currently believed to have originated from an improperly disposed of chemical tank. Local rivers and their outflow have been tested with 'extremely lethal' levels of acutely corrosive material.\ +

\ + Governor Hainirsdottir has issued a statement assuring Sif residents that the cleanup process is already underway, and the contamination which return to safe exposure levels for most sapients within 'Just a few days', but that the risk to local ecosystems in much higher and 'may take decades to recover.' and locals are advised to use only pre-packaged or thoroughly filtered water for the next 'six months, at least.'\ +

\ + A spokesperson for the Sif Environmental Agency has described this leak as 'At least regionally, perhaps the worst environmental disaster since the introduction of the invasive spider species.' and has expressed concern about similar accidents occurring in more populated areas if stricter regulations are not put in place.\ +

\ + The Ullran Expanse Chemical Relief Fund has been set up and is collection donations at save-ullran.xo.vr/donate" + +/datum/lore/codex/page/article78 + name = "01/27/64 - NanoTrasen Implicated In Devastating Ullran Chemical Spill" + data = "Files recovered from the contamination site by clean-up crews and submitted to the Sif Environmental Agency suggest that the hazardous materials were discarded in the region by the NanoTrasen Corporation. Though the company is not currently accused of malicious intent, ownership has been proven of several cargo containers filled with Growth Inhibitor 78-1, a compound used in the manufacture of Vatborn humans which is known to severely inhibit cell regeneration in living creatures.\ +

\ + The documents, which have not been released in full by the SEA, were also leaked onto the exonet from several sources which NanoTrasen initially dismissed as fraudulent but have since admitted to their authenticity. Investigations are currently underway to determine those at fault within the company so that prosecution may begin. Third-party commentators have alleged that, 'The debris field and damaged containers suggests cargo jettisoned from a craft within the Sif atmosphere', though the circumstances are yet to be thoroughly examined.\ +

\ + Certain members of the civilian clean-up crews responsible for waste disposal have also accused NanoTrasen of failing to provide their employees with sufficient safety information and protective equipment, which led to several minor injuries and one volunteer was reportedly admitted to hospital for 'severe side-effects of exposure' but has since been discharged." + +/datum/lore/codex/page/article79 + name = "02/10/64 - Shelf Fleet Vanishes Without A Trace!" + data = "Government agencies are scrambling to explain the apparent 'total disappearance' of the Almach-aligned Shelf fleet. Initial reports from the fleet's last known location describe a phenomenon not dissimilar to that observed just prior to the ignition of the Phorcys star in November, but the SCG has assured the media that 'No activity has been detected from the Whythe superweapon that would indicate any relation to the ongoing Shelf situation.'\ +

\ + Independent telemetric data from several sources has confirmed the presence of a 'bluespace anomaly' in the moments preceding the fleet. Currently efforts are focused on determining whether the fleet has been lost with all hands or if survivors may yet be found, but no trace of the fleet or of telltale signs of large fleet movements anywhere within or beyond Almachi space have yet been detected.\ +

\ + This afternoon, Speaker Mackenzie West of the Icarus Front addressed Sol, and indicated that communication was underway 'across faction lines' with the Association to determine the cause and implications of Shelf's apparent loss. The Almach Assocation has claimed not to be responsible for the 'possible attack' and both sides has expressed concern for the 'astronomical loss of life this may represent.'\ +

\ + Shelf, a largely Positronic colony fleet, consists of over 1700 vessels including the 'One Leaky Bitch', current headquarters of Morpheus Shelf, Morpheus' non-Solar 'spin-out' corporation established last June. The fleet has continuously denied direct affiliation with the Almach Assocation, but was involved in a major drone attack on Solar vessels just nine months ago, which was claimed to be 'in error'." + +/datum/lore/codex/page/article80 + name = "02/12/64 - Spectralist Wardens to hold Vigils for Lost Fleet" + data = "In the wake of Shelf's sudden disappearence, Wardens across SolGov space have collectively agreed to hold services and vigils throughout dozens of systems for those who are doubtless worried for their loved ones aboard the missing ships. Spectralism, a synthetic-centric religion, finds it's roots within 'Haven', a small vessel and community that travels alongside the wider Shelf fleet, though considers itself a distinct entity. Its ministers, known as Wardens, tend to its adherants wherever they may be found.\ +

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

\ + Ceramica, a Warden operating out of Nyx, reached out for comment with the following: 'We are as worried as everyone else who calls Shelf their home, or who has lost contact with friends or family. You need not believe in the First Spark to have a place at your local vigil; We welcome everyone who may be hurting. This is our way, this has always been our way. We remind everyone to stay mindful, and to reach out to those you see struggling. In times like this, we cannot leave each other behind.'" + +/datum/lore/codex/page/article81 + name = "02/14/64 - Shelf Safe After 'Impossible' Jump!" + data = "The missing Shelf fleet has reappeared hundreds of light years beyond the Eutopia system just days after its sudden disappearance on Monday. Unencrypted bluespace transmissions from the fleet's new location - several months travel from its last known position in Almachi space - assured all who would listen that 'The fleet (had) arrived safe and sound.' and apologized for 'Any alarm (the fleet) may have caused'. Though no official report has been released nor information from Shelf itself, initial counts indicate that a number of Shelfican vessels may not have survived the 'impossible journey' intact.\ +

\ + Current analysis of the bluespace anomaly detected prior to Shelf's unexpected departure indicate that the same technology as employed by the Whythe Superweapon may have been used by Shelf to create 'a bluespace portal thus far inconceivable by modern science'. The revelation has sparked concerns that 'extreme mercurial elements' within Shelf may have been responsible for the hardware behind the Assocation's 'system eating' weapon.\ +

\ + Sifat Unar of the EIO has expressed particular concern that 'Such improbable technology relying on concepts deemed so staggeringly arcane that our very understanding of the laws of the universe had written them off as impossible - and to be applied in such callous ways without regard for life or perhaps even the fabric of reality, could only have been developed by machine minds that could threaten our very being.' Shelf has dismissed these claims as 'Scaremongering' and 'Just jealous that somebody else thought of it first', though they would not confirm nor deny their involvement in the development of the new bluespace portals." \ No newline at end of file diff --git a/code/modules/maps/tg/map_template.dm b/code/modules/maps/tg/map_template.dm index 1ae9b7f7b0..903dc58b8d 100644 --- a/code/modules/maps/tg/map_template.dm +++ b/code/modules/maps/tg/map_template.dm @@ -39,6 +39,9 @@ if (SSatoms.initialized == INITIALIZATION_INSSATOMS) return // let proper initialisation handle it later + var/prev_shuttle_queue_state = SSshuttles.block_init_queue + SSshuttles.block_init_queue = TRUE + var/list/atom/atoms = list() var/list/area/areas = list() var/list/obj/structure/cable/cables = list() @@ -71,6 +74,9 @@ var/area/A = I A.power_change() + SSshuttles.block_init_queue = prev_shuttle_queue_state + SSshuttles.process_init_queues() // We will flush the queue unless there were other blockers, in which case they will do it. + admin_notice("Submap initializations finished.", R_DEBUG) /datum/map_template/proc/load_new_z(var/centered = FALSE, var/orientation = 0) diff --git a/code/modules/maps/tg/map_template_vr.dm b/code/modules/maps/tg/map_template_vr.dm index cd8a04857d..6f12c85ba9 100644 --- a/code/modules/maps/tg/map_template_vr.dm +++ b/code/modules/maps/tg/map_template_vr.dm @@ -1,2 +1,12 @@ /datum/map_template/proc/on_map_loaded(z) + //We missed air init! + if(SSair.subsystem_initialized) + for(var/turf/simulated/T in block(locate(1,1,z), locate(world.maxx, world.maxy, z))) + T.update_air_properties() + //We missed sslighting init! + if(lighting_overlays_initialised) + for(var/Trf in block(locate(1,1,z), locate(world.maxx, world.maxy, z))) + var/turf/T = Trf //faster than implicit istype with typed for loop + T.lighting_build_overlay() + return \ No newline at end of file diff --git a/code/modules/materials/fifty_spawner_mats.dm b/code/modules/materials/fifty_spawner_mats.dm index 1b39b38d93..50d4184ebf 100644 --- a/code/modules/materials/fifty_spawner_mats.dm +++ b/code/modules/materials/fifty_spawner_mats.dm @@ -28,6 +28,10 @@ name = "stack of plastic" type_to_spawn = /obj/item/stack/material/plastic +/obj/fiftyspawner/graphite + name = "stack of graphite" + type_to_spawn = /obj/item/stack/material/graphite + /obj/fiftyspawner/gold name = "stack of gold" type_to_spawn = /obj/item/stack/material/gold diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index 287e35be27..67fc816298 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -17,6 +17,7 @@ var/material/material var/perunit = SHEET_MATERIAL_AMOUNT var/apply_colour //temp pending icon rewrite + drop_sound = 'sound/items/drop/axe.ogg' /obj/item/stack/material/New() ..() @@ -106,17 +107,20 @@ icon_state = "sheet-sandstone" default_type = "sandstone" no_variants = FALSE + drop_sound = 'sound/items/drop/boots.ogg' /obj/item/stack/material/marble name = "marble brick" icon_state = "sheet-marble" default_type = "marble" no_variants = FALSE + drop_sound = 'sound/items/drop/boots.ogg' /obj/item/stack/material/diamond name = "diamond" icon_state = "sheet-diamond" default_type = "diamond" + drop_sound = 'sound/items/drop/glass.ogg' /obj/item/stack/material/uranium name = "uranium" @@ -129,6 +133,7 @@ icon_state = "sheet-phoron" default_type = "phoron" no_variants = FALSE + drop_sound = 'sound/items/drop/glass.ogg' /obj/item/stack/material/plastic name = "plastic" @@ -136,6 +141,13 @@ default_type = "plastic" no_variants = FALSE +/obj/item/stack/material/graphite + name = "graphite" + icon_state = "sheet-silver" + default_type = MAT_GRAPHITE + apply_colour = 1 + no_variants = FALSE + /obj/item/stack/material/gold name = "gold" icon_state = "sheet-gold" @@ -317,6 +329,7 @@ icon_state = "sheet-wood" default_type = MAT_WOOD strict_color_stacking = TRUE + drop_sound = 'sound/items/drop/wooden.ogg' /obj/item/stack/material/wood/sif name = "alien wooden plank" @@ -333,6 +346,7 @@ w_class = ITEMSIZE_HUGE description_info = "Use inhand to craft things, or use a sharp and edged object on this to convert it into two wooden planks." var/plank_type = /obj/item/stack/material/wood + drop_sound = 'sound/items/drop/wooden.ogg' /obj/item/stack/material/log/sif name = "alien log" @@ -370,6 +384,7 @@ no_variants = FALSE pass_color = TRUE strict_color_stacking = TRUE + drop_sound = 'sound/items/drop/clothing.ogg' /obj/item/stack/material/resin name = "resin" @@ -387,6 +402,7 @@ no_variants = FALSE pass_color = TRUE strict_color_stacking = TRUE + drop_sound = 'sound/items/drop/box.ogg' /obj/item/stack/material/snow name = "snow" @@ -408,12 +424,14 @@ no_variants = FALSE pass_color = TRUE strict_color_stacking = TRUE + drop_sound = 'sound/items/drop/clothing.ogg' /obj/item/stack/material/glass name = "glass" icon_state = "sheet-glass" default_type = "glass" no_variants = FALSE + drop_sound = 'sound/items/drop/glass.ogg' /obj/item/stack/material/glass/reinforced name = "reinforced glass" diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 621017bdb4..2da552c5b1 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -652,6 +652,22 @@ var/list/name_to_material stack_type = null shard_type = SHARD_NONE +/material/graphite + name = MAT_GRAPHITE + stack_type = /obj/item/stack/material/graphite + flags = MATERIAL_BRITTLE + icon_base = "solid" + icon_reinf = "reinf_mesh" + icon_colour = "#333333" + hardness = 75 + weight = 15 + integrity = 175 + protectiveness = 15 + conductivity = 18 + melting_point = T0C+3600 + radiation_resistance = 15 + stack_origin_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 2) + /material/osmium name = "osmium" stack_type = /obj/item/stack/material/osmium diff --git a/code/modules/media/media_tracks.dm b/code/modules/media/media_tracks.dm index 708e2a811e..42ad9809fb 100644 --- a/code/modules/media/media_tracks.dm +++ b/code/modules/media/media_tracks.dm @@ -38,7 +38,7 @@ var/global/list/all_lobby_tracks = list() var/jukebox_track_file = "config/jukebox.json" if(!fexists(jukebox_track_file)) warning("File not found: [jukebox_track_file]") - return + return 1 var/list/jsonData = json_decode(file2text(jukebox_track_file)) if(!istype(jsonData)) warning("Failed to read tracks from [jukebox_track_file], json_decode failed.") diff --git a/code/modules/metric/department.dm b/code/modules/metric/department.dm index b6996d229c..acb58101f1 100644 --- a/code/modules/metric/department.dm +++ b/code/modules/metric/department.dm @@ -2,7 +2,7 @@ // This proc tries to find the department of an arbitrary mob. /datum/metric/proc/guess_department(var/mob/M) var/list/found_roles = list() - . = ROLE_UNKNOWN + . = DEPARTMENT_UNKNOWN // Records are usually the most reliable way to get what job someone is. var/datum/data/record/R = find_general_record("name", M.real_name) @@ -10,7 +10,7 @@ var/recorded_rank = R.fields["real_rank"] found_roles = role_name_to_department(recorded_rank) . = found_roles[1] - if(. != ROLE_UNKNOWN) // We found the correct department, so we can stop now. + if(. != DEPARTMENT_UNKNOWN) // We found the correct department, so we can stop now. return // They have a custom title, aren't crew, or someone deleted their record, so we need a fallback method. @@ -18,16 +18,16 @@ if(M.mind) found_roles = role_name_to_department(M.mind.assigned_role) . = found_roles[1] - if(. != ROLE_UNKNOWN) + if(. != DEPARTMENT_UNKNOWN) return // At this point, they don't have a mind, or for some reason assigned_role didn't work. found_roles = role_name_to_department(M.job) . = found_roles[1] - if(. != ROLE_UNKNOWN) + if(. != DEPARTMENT_UNKNOWN) return - return ROLE_UNKNOWN // Welp. + return DEPARTMENT_UNKNOWN // Welp. // Feed this proc the name of a job, and it will try to figure out what department they are apart of. // Note that this returns a list, as some jobs are in more than one department, like Command. The 'primary' department is the first @@ -35,32 +35,32 @@ /datum/metric/proc/role_name_to_department(var/role_name) var/list/result = list() - if(role_name in security_positions) - result += ROLE_SECURITY + if(SSjob.is_job_in_department(role_name, DEPARTMENT_SECURITY)) + result += DEPARTMENT_SECURITY - if(role_name in engineering_positions) - result += ROLE_ENGINEERING + if(SSjob.is_job_in_department(role_name, DEPARTMENT_ENGINEERING)) + result += DEPARTMENT_ENGINEERING - if(role_name in medical_positions) - result += ROLE_MEDICAL + if(SSjob.is_job_in_department(role_name, DEPARTMENT_MEDICAL)) + result += DEPARTMENT_MEDICAL - if(role_name in science_positions) - result += ROLE_RESEARCH + if(SSjob.is_job_in_department(role_name, DEPARTMENT_RESEARCH)) + result += DEPARTMENT_RESEARCH - if(role_name in cargo_positions) - result += ROLE_CARGO + if(SSjob.is_job_in_department(role_name, DEPARTMENT_CARGO)) + result += DEPARTMENT_CARGO - if(role_name in civilian_positions) - result += ROLE_CIVILIAN + if(SSjob.is_job_in_department(role_name, DEPARTMENT_CIVILIAN)) + result += DEPARTMENT_CIVILIAN - if(role_name in nonhuman_positions) - result += ROLE_SYNTHETIC + if(SSjob.is_job_in_department(role_name, DEPARTMENT_SYNTHETIC)) + result += DEPARTMENT_SYNTHETIC - if(role_name in command_positions) // We do Command last, since we consider command to only be a primary department for hop/admin. - result += ROLE_COMMAND + if(SSjob.is_job_in_department(role_name, DEPARTMENT_COMMAND)) // We do Command last, since we consider command to only be a primary department for hop/admin. + result += DEPARTMENT_COMMAND if(!result.len) // No department was found. - result += ROLE_UNKNOWN + result += DEPARTMENT_UNKNOWN return result /datum/metric/proc/count_people_in_department(var/department) diff --git a/code/modules/metric/metric.dm b/code/modules/metric/metric.dm index 44ff59d284..4a9b6bf847 100644 --- a/code/modules/metric/metric.dm +++ b/code/modules/metric/metric.dm @@ -3,13 +3,13 @@ /datum/metric var/list/departments = list( - ROLE_COMMAND, - ROLE_SECURITY, - ROLE_ENGINEERING, - ROLE_MEDICAL, - ROLE_RESEARCH, - ROLE_CARGO, - ROLE_CIVILIAN, - ROLE_SYNTHETIC + DEPARTMENT_COMMAND, + DEPARTMENT_SECURITY, + DEPARTMENT_ENGINEERING, + DEPARTMENT_MEDICAL, + DEPARTMENT_RESEARCH, + DEPARTMENT_CARGO, + DEPARTMENT_CIVILIAN, + DEPARTMENT_SYNTHETIC ) diff --git a/code/modules/mining/coins.dm b/code/modules/mining/coins.dm index b5f0a92103..9da7e05148 100644 --- a/code/modules/mining/coins.dm +++ b/code/modules/mining/coins.dm @@ -12,6 +12,7 @@ slot_flags = SLOT_EARS var/string_attached var/sides = 2 + drop_sound = 'sound/items/drop/ring.ogg' /obj/item/weapon/coin/New() randpixel_xy() diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm index bdfab8f92b..3c38927910 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -1,7 +1,7 @@ /obj/machinery/mining icon = 'icons/obj/mining_drill.dmi' anchored = 0 - use_power = 0 //The drill takes power directly from a cell. + use_power = USE_POWER_OFF //The drill takes power directly from a cell. density = 1 layer = MOB_LAYER+0.1 //So it draws over mobs in the tile north of it. diff --git a/code/modules/mining/machine_unloading.dm b/code/modules/mining/machine_unloading.dm index d54aa01761..613190ef64 100644 --- a/code/modules/mining/machine_unloading.dm +++ b/code/modules/mining/machine_unloading.dm @@ -11,17 +11,16 @@ var/obj/machinery/mineral/output = null -/obj/machinery/mineral/unloading_machine/New() - ..() - spawn( 5 ) - for (var/dir in cardinal) - src.input = locate(/obj/machinery/mineral/input, get_step(src, dir)) - if(src.input) break - for (var/dir in cardinal) - src.output = locate(/obj/machinery/mineral/output, get_step(src, dir)) - if(src.output) break - return - return +/obj/machinery/mineral/unloading_machine/Initialize() + . = ..() + for(var/dir in cardinal) + input = locate(/obj/machinery/mineral/input, get_step(src, dir)) + if(input) + break + for(var/dir in cardinal) + output = locate(/obj/machinery/mineral/output, get_step(src, dir)) + if(output) + break /obj/machinery/mineral/unloading_machine/process() if (src.output && src.input) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 4b0a5bab4d..12bcdb76be 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -23,7 +23,7 @@ var/digspeed = 40 //moving the delay to an item var so R&D can make improved picks. --NEO origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1) attack_verb = list("hit", "pierced", "sliced", "attacked") - var/drill_sound = 'sound/weapons/Genhit.ogg' + var/drill_sound = "pickaxe" var/drill_verb = "drilling" sharp = 1 diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 42e3e4564c..b420122f3e 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -221,6 +221,9 @@ turf/simulated/mineral/floor/light_corner if(istype(get_step(src, direction), /turf/simulated/mineral)) var/turf/simulated/mineral/M = get_step(src, direction) M.update_icon() + if(istype(get_step(src, direction), /turf/simulated/wall/solidrock)) + var/turf/simulated/wall/solidrock/M = get_step(src, direction) + M.update_icon() /turf/simulated/mineral/ex_act(severity) diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 3172496414..e3e72693fe 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -1,6 +1,4 @@ /**********************Mint**************************/ - - /obj/machinery/mineral/mint name = "Coin press" icon = 'icons/obj/stationobjs.dmi' @@ -21,43 +19,43 @@ var/coinsToProduce = 10 -/obj/machinery/mineral/mint/New() - ..() - spawn( 5 ) - for (var/dir in cardinal) - src.input = locate(/obj/machinery/mineral/input, get_step(src, dir)) - if(src.input) break - for (var/dir in cardinal) - src.output = locate(/obj/machinery/mineral/output, get_step(src, dir)) - if(src.output) break - START_PROCESSING(SSobj, src) - return - return - +/obj/machinery/mineral/mint/Initialize() + . = ..() + for (var/dir in cardinal) + input = locate(/obj/machinery/mineral/input, get_step(src, dir)) + if(input) + break + for (var/dir in cardinal) + output = locate(/obj/machinery/mineral/output, get_step(src, dir)) + if(output) + break /obj/machinery/mineral/mint/process() - if ( src.input) - var/obj/item/stack/O - O = locate(/obj/item/stack, input.loc) - if(O) - var/processed = 1 - switch(O.get_material_name()) - if("gold") - amt_gold += 100 * O.get_amount() - if("silver") - amt_silver += 100 * O.get_amount() - if("diamond") - amt_diamond += 100 * O.get_amount() - if("phoron") - amt_phoron += 100 * O.get_amount() - if("uranium") - amt_uranium += 100 * O.get_amount() - if(DEFAULT_WALL_MATERIAL) - amt_iron += 100 * O.get_amount() - else - processed = 0 - if(processed) - qdel(O) + if(!input) + return + + var/obj/item/stack/O = locate(/obj/item/stack, input.loc) + if(!O) + return + + var/processed = 1 + switch(O.get_material_name()) + if("gold") + amt_gold += 100 * O.get_amount() + if("silver") + amt_silver += 100 * O.get_amount() + if("diamond") + amt_diamond += 100 * O.get_amount() + if("phoron") + amt_phoron += 100 * O.get_amount() + if("uranium") + amt_uranium += 100 * O.get_amount() + if(DEFAULT_WALL_MATERIAL) + amt_iron += 100 * O.get_amount() + else + processed = 0 + if(processed) + qdel(O) /obj/machinery/mineral/mint/attack_hand(user as mob) diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index 81076ca8e3..ada80def82 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -121,4 +121,14 @@ var/obj/item/device/core_sampler/C = W C.sample_item(src, user) else - return ..() \ No newline at end of file + return ..() + +//VOREStation Add +/obj/item/weapon/ore/attack(mob/living/M as mob, mob/living/user as mob) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.species.eat_ore == 1) + H.eat_ore(src) + return + ..() +//VOREStation Add End diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm index e578902104..f888ae3bb6 100644 --- a/code/modules/mining/ore_datum.dm +++ b/code/modules/mining/ore_datum.dm @@ -51,6 +51,7 @@ var/global/list/ore_data = list() name = "carbon" display_name = "raw carbon" smelts_to = "plastic" + compresses_to = "graphite" alloy = 1 result_amount = 5 spread_chance = 25 diff --git a/code/modules/mining/ore_datum_vr.dm b/code/modules/mining/ore_datum_vr.dm deleted file mode 100644 index e55bc9e599..0000000000 --- a/code/modules/mining/ore_datum_vr.dm +++ /dev/null @@ -1,2 +0,0 @@ -/ore/coal - compresses_to = "carbon" \ No newline at end of file diff --git a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm index 849550bf6b..5886b08af0 100644 --- a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm @@ -3,12 +3,13 @@ /obj/machinery/mineral/equipment_vendor name = "mining equipment vendor" desc = "An equipment vendor for miners, points collected at an ore redemption machine can be spent here." - icon = 'icons/obj/machines/mining_machines.dmi' - icon_state = "mining" + icon = 'icons/obj/vending.dmi' + icon_state = "adh-tool" density = TRUE anchored = TRUE + var/icon_deny = "adh-tool-deny" + var/icon_vend = "adh-tool-vend" circuit = /obj/item/weapon/circuitboard/mining_equipment_vendor - var/icon_deny = "mining-deny" var/obj/item/weapon/card/id/inserted_id //VOREStation Edit Start - Heavily modified list var/list/prize_list = list( @@ -107,7 +108,12 @@ /obj/machinery/mineral/equipment_vendor/update_icon() if(panel_open) - icon_state = "[initial(icon_state)]-open" + add_overlay("[initial(icon_state)]-panel") + else + cut_overlay("[initial(icon_state)]-panel") + + if(stat & BROKEN) + icon_state = "[initial(icon_state)]-broken" else if(powered()) icon_state = initial(icon_state) else @@ -174,6 +180,7 @@ inserted_id.mining_points -= prize.cost to_chat(usr, "[src] clanks to life briefly before vending [prize.equipment_name]!") new prize.equipment_path(drop_location()) + flick(icon_vend, src) else to_chat(usr, "Error: Please insert a valid ID!") flick(icon_deny, src) diff --git a/code/modules/mining/ore_redemption_machine/survey_vendor.dm b/code/modules/mining/ore_redemption_machine/survey_vendor.dm index b58b343b04..a5afad7fab 100644 --- a/code/modules/mining/ore_redemption_machine/survey_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/survey_vendor.dm @@ -7,7 +7,7 @@ anchored = TRUE circuit = /obj/item/weapon/circuitboard/exploration_equipment_vendor icon_deny = "exploration-deny" //VOREStation Edit - var/icon_vend = "exploration-vend" //VOREStation Add + icon_vend = "exploration-vend" //VOREStation Add //VOREStation Edit Start - Heavily modified list prize_list = list( new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 1), diff --git a/code/modules/mining/resonator.dm b/code/modules/mining/resonator.dm index bfbd29b830..dbee1668b2 100644 --- a/code/modules/mining/resonator.dm +++ b/code/modules/mining/resonator.dm @@ -63,9 +63,7 @@ transform = matrix()*0.75 animate(src, transform = matrix()*1.5, time = timetoburst) // Queue the actual bursting - spawn(timetoburst) - if(!QDELETED(src)) - burst(creator) + addtimer(CALLBACK(src, ./proc/burst, creator), timetoburst) /obj/effect/resonance/proc/burst(var/creator = null) var/turf/T = get_turf(src) diff --git a/code/modules/mining/shelter_atoms.dm b/code/modules/mining/shelter_atoms.dm index 55734dfb54..90403853a9 100644 --- a/code/modules/mining/shelter_atoms.dm +++ b/code/modules/mining/shelter_atoms.dm @@ -222,9 +222,9 @@ name = "survival pod storage" desc = "A heated storage unit." icon_state = "donkvendor" + icon_base = "donkvendor" + icon_contents = null icon = 'icons/obj/survival_pod_vend.dmi' - icon_on = "donkvendor" - icon_off = "donkvendor" light_range = 5 light_power = 1.2 light_color = "#DDFFD3" diff --git a/code/modules/mining/shelter_atoms_vr.dm b/code/modules/mining/shelter_atoms_vr.dm new file mode 100644 index 0000000000..664b0cff51 --- /dev/null +++ b/code/modules/mining/shelter_atoms_vr.dm @@ -0,0 +1,13 @@ +/obj/structure/fans/hardlight + name = "hardlight shield" + desc = "Retains air, allows passage." + plane = TURF_PLANE + layer = ABOVE_TURF_LAYER + density = FALSE + icon = 'icons/effects/effects_vr.dmi' + icon_state = "hardlight" + buildstackamount = 2 + + light_range = 3 + light_power = 1 + light_color = "#FFFFFF" \ No newline at end of file diff --git a/code/modules/mob/_modifiers/feysight.dm b/code/modules/mob/_modifiers/feysight.dm new file mode 100644 index 0000000000..af391ed51c --- /dev/null +++ b/code/modules/mob/_modifiers/feysight.dm @@ -0,0 +1,42 @@ +/datum/modifier/feysight + name = "feysight" + desc = "You are filled with an inner peace, and widened sight." + client_color = "#42e6ca" + + on_created_text = "You feel an inner peace as your mind's eye expands!" + on_expired_text = "Your sight returns to what it once was." + stacks = MODIFIER_STACK_EXTEND + + accuracy = -15 + accuracy_dispersion = 1 + +/datum/modifier/feysight/on_applied() + holder.see_invisible = 60 + holder.see_invisible_default = 60 + +/datum/modifier/feysight/on_expire() + holder.see_invisible_default = initial(holder.see_invisible_default) + holder.see_invisible = holder.see_invisible_default + +/datum/modifier/feysight/can_apply(var/mob/living/L) + if(L.stat) + to_chat(L, "You can't be unconscious or dead to experience tranquility.") + return FALSE + + if(!L.is_sentient()) + return FALSE // Drones don't feel anything. + + if(ishuman(L)) + var/mob/living/carbon/human/H = L + if(H.species.name == "Diona") + to_chat(L, "You feel strange for a moment, but it passes.") + return FALSE // Happy trees aren't affected by tranquility. + + return ..() + +/datum/modifier/feysight/tick() + ..() + + if(ishuman(holder)) + var/mob/living/carbon/human/H = holder + H.druggy = min(15, H.druggy + 4) diff --git a/code/modules/mob/_modifiers/fire.dm b/code/modules/mob/_modifiers/fire.dm new file mode 100644 index 0000000000..3a3c53a9dc --- /dev/null +++ b/code/modules/mob/_modifiers/fire.dm @@ -0,0 +1,42 @@ +// Ignition, but confined to the modifier system. +// This makes it more predictable and thus, easier to balance. +/datum/modifier/fire + name = "on fire" + desc = "You are on fire! You will be harmed until the fire goes out or you extinguish it with water." + mob_overlay_state = "on_fire" + + on_created_text = "You burst into flames!" + on_expired_text = "The fire starts to fade." + stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot. + var/damage_per_tick = 5 + +/datum/modifier/fire/intense + mob_overlay_state = "on_fire_intense" + damage_per_tick = 10 + +/datum/modifier/fire/tick() + holder.inflict_heat_damage(damage_per_tick) + +/datum/modifier/fire/weak + damage_per_tick = 1 + +/* + * Modifier used by projectiles, like the flamethrower, that rely heavily on fire_stacks to persist. + */ + +/datum/modifier/fire/stack_managed/tick() + ..() + + if(!holder.fire_stacks || holder.fire_stacks < 0) + if(prob(10)) + expire() + + else if(holder.fire_stacks > 0) + holder.fire_stacks -= 0.5 + +/datum/modifier/fire/stack_managed/intense + mob_overlay_state = "on_fire_intense" + damage_per_tick = 10 + +/datum/modifier/fire/stack_managed/weak + damage_per_tick = 1 diff --git a/code/modules/mob/_modifiers/modifiers.dm b/code/modules/mob/_modifiers/modifiers.dm index 665ae80617..ca0f96d07b 100644 --- a/code/modules/mob/_modifiers/modifiers.dm +++ b/code/modules/mob/_modifiers/modifiers.dm @@ -59,7 +59,7 @@ // Checks if the modifier should be allowed to be applied to the mob before attaching it. // Override for special criteria, e.g. forbidding robots from receiving it. -/datum/modifier/proc/can_apply(var/mob/living/L) +/datum/modifier/proc/can_apply(var/mob/living/L, var/suppress_output = FALSE) return TRUE // Checks to see if this datum should continue existing. @@ -113,7 +113,8 @@ // Call this to add a modifier to a mob. First argument is the modifier type you want, second is how long it should last, in ticks. // Third argument is the 'source' of the modifier, if it's from someone else. If null, it will default to the mob being applied to. // The SECONDS/MINUTES macro is very helpful for this. E.g. M.add_modifier(/datum/modifier/example, 5 MINUTES) -/mob/living/proc/add_modifier(var/modifier_type, var/expire_at = null, var/mob/living/origin = null) +// The fourth argument is a boolean to suppress failure messages, set it to true if the modifier is repeatedly applied (as chem-based modifiers are) to prevent chat-spam +/mob/living/proc/add_modifier(var/modifier_type, var/expire_at = null, var/mob/living/origin = null, var/suppress_failure = FALSE) // First, check if the mob already has this modifier. for(var/datum/modifier/M in modifiers) if(ispath(modifier_type, M)) @@ -130,7 +131,7 @@ // If we're at this point, the mob doesn't already have it, or it does but stacking is allowed. var/datum/modifier/mod = new modifier_type(src, origin) - if(!mod.can_apply(src)) + if(!mod.can_apply(src, suppress_failure)) qdel(mod) return if(expire_at) diff --git a/code/modules/mob/_modifiers/modifiers_misc.dm b/code/modules/mob/_modifiers/modifiers_misc.dm index af6eaa952e..743e41bd1d 100644 --- a/code/modules/mob/_modifiers/modifiers_misc.dm +++ b/code/modules/mob/_modifiers/modifiers_misc.dm @@ -112,16 +112,18 @@ the artifact triggers the rage. var/mob/living/carbon/human/H = holder H.shock_stage = last_shock_stage -/datum/modifier/berserk/can_apply(var/mob/living/L) +/datum/modifier/berserk/can_apply(var/mob/living/L, var/suppress_failure = FALSE) if(L.stat) - to_chat(L, "You can't be unconscious or dead to berserk.") + if(!suppress_failure) + to_chat(L, "You can't be unconscious or dead to berserk.") return FALSE // It would be weird to see a dead body get angry all of a sudden. if(!L.is_sentient()) return FALSE // Drones don't feel anything. if(L.has_modifier_of_type(/datum/modifier/berserk_exhaustion)) - to_chat(L, "You recently berserked, and cannot do so again while exhausted.") + if(!suppress_failure) + to_chat(L, "You recently berserked, and cannot do so again while exhausted.") return FALSE // On cooldown. if(L.isSynthetic()) @@ -135,7 +137,8 @@ the artifact triggers the rage. return FALSE // Happy trees aren't affected by blood rages. if(L.nutrition < nutrition_cost) - to_chat(L, "You are too hungry to berserk.") + if(!suppress_failure) + to_chat(L, "You are too hungry to berserk.") return FALSE // Too hungry to enrage. return ..() @@ -224,28 +227,6 @@ the artifact triggers the rage. accuracy_dispersion = 2 // A combination of fear and immense pain or damage reults in a twitching firing arm. Flee. - - -// Ignition, but confined to the modifier system. -// This makes it more predictable and thus, easier to balance. -/datum/modifier/fire - name = "on fire" - desc = "You are on fire! You will be harmed until the fire goes out or you extinguish it with water." - mob_overlay_state = "on_fire" - - on_created_text = "You combust into flames!" - on_expired_text = "The fire starts to fade." - stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot. - var/damage_per_tick = 5 - -/datum/modifier/fire/intense - mob_overlay_state = "on_fire_intense" - damage_per_tick = 10 - -/datum/modifier/fire/tick() - holder.inflict_heat_damage(damage_per_tick) - - // Applied when near something very cold. // Reduces mobility, attack speed. /datum/modifier/chilled diff --git a/code/modules/mob/dead/corpse.dm b/code/modules/mob/dead/corpse.dm index 81a51214a7..18d81bf484 100644 --- a/code/modules/mob/dead/corpse.dm +++ b/code/modules/mob/dead/corpse.dm @@ -33,7 +33,7 @@ /obj/effect/landmark/mobcorpse/proc/createCorpse() //Creates a mob and checks for gear in each slot before attempting to equip it. var/mob/living/carbon/human/M = new /mob/living/carbon/human (src.loc) M.real_name = src.name - M.stat = 2 //Kills the new mob + M.set_stat(DEAD) //Kills the new mob if(src.corpseuniform) M.equip_to_slot_or_del(new src.corpseuniform(M), slot_w_uniform) if(src.corpsesuit) diff --git a/code/modules/mob/dead/observer/login.dm b/code/modules/mob/dead/observer/login.dm index 121a7643ea..5b3f29df8e 100644 --- a/code/modules/mob/dead/observer/login.dm +++ b/code/modules/mob/dead/observer/login.dm @@ -3,6 +3,7 @@ ..() //Creates the plane_holder lazily plane_holder.set_vis(VIS_GHOSTS, ghostvision) plane_holder.set_vis(VIS_FULLBRIGHT, !seedarkness) + plane_holder.set_vis(VIS_CLOAKED, TRUE) plane_holder.set_vis(VIS_AI_EYE, TRUE) plane_holder.set_vis(VIS_AUGMENTED, TRUE) //VOREStation Add - GHOST VISION IS AUGMENTED plane = PLANE_GHOSTS diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index e1e084707c..fb2af26527 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -85,6 +85,7 @@ "ED-209" = "ed209", "Beepsky" = "secbot" ) + var/last_revive_notification = null // world.time of last notification, used to avoid spamming players from defibs or cloners. /mob/observer/dead/New(mob/body) sight |= SEE_TURFS | SEE_MOBS | SEE_OBJS | SEE_SELF @@ -93,8 +94,6 @@ plane = PLANE_GHOSTS //Why doesn't the var above work...??? verbs += /mob/observer/dead/proc/dead_tele - stat = DEAD - var/turf/T if(ismob(body)) T = get_turf(body) //Where is the body located? @@ -137,6 +136,9 @@ var/mob/target = locate(href_list["track"]) in mob_list if(target) ManualFollow(target) + if(href_list["reenter"]) + reenter_corpse() + return /mob/observer/dead/attackby(obj/item/W, mob/user) if(istype(W,/obj/item/weapon/book/tome)) @@ -145,6 +147,11 @@ /mob/observer/dead/CanPass(atom/movable/mover, turf/target) return TRUE + +/mob/observer/dead/set_stat(var/new_stat) + if(new_stat != DEAD) + CRASH("It is best if observers stay dead, thank you.") + /* Transfer_mind is there to check if mob is being deleted/not going to have a body. Works together with spawning an observer, noted above. @@ -384,7 +391,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return 0 /mob/observer/dead/check_holy(var/turf/T) - if(check_rights(R_ADMIN|R_FUN, 0, src)) + if(check_rights(R_ADMIN|R_FUN|R_EVENT, 0, src)) return 0 return (T && T.holy) && (is_manifest || (mind in cult.current_antagonists)) @@ -559,7 +566,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(cult.current_antagonists.len > config.cult_ghostwriter_req_cultists) ghosts_can_write = 1 - if(!ghosts_can_write && !check_rights(R_ADMIN, 0)) //Let's allow for admins to write in blood for events and the such. + if(!ghosts_can_write && !check_rights(R_ADMIN|R_EVENT|R_FUN, 0)) //Let's allow for admins to write in blood for events and the such. to_chat(src, "The veil is not thin enough for you to do that.") return @@ -687,7 +694,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return 1 /mob/observer/dead/proc/can_admin_interact() - return check_rights(R_ADMIN, 0, src) + return check_rights(R_ADMIN|R_EVENT, 0, src) /mob/observer/dead/verb/toggle_ghostsee() set name = "Toggle Ghost Vision" @@ -811,3 +818,18 @@ mob/observer/dead/MayRespawn(var/feedback = 0) /mob/observer/dead/speech_bubble_appearance() return "ghost" + +// Lets a ghost know someone's trying to bring them back, and for them to get into their body. +// Mostly the same as TG's sans the hud element, since we don't have TG huds. +/mob/observer/dead/proc/notify_revive(var/message, var/sound, flashwindow = TRUE) + if((last_revive_notification + 2 MINUTES) > world.time) + return + last_revive_notification = world.time + + if(flashwindow) + window_flash(client) + if(message) + to_chat(src, "[message]") + to_chat(src, "(Click to re-enter)") + if(sound) + SEND_SOUND(src, sound(sound)) diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index c388dcc3ae..0f9a6f1e53 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -76,7 +76,7 @@ if(!gibbed && deathmessage != "no message") // This is gross, but reliable. Only brains use it. src.visible_message("\The [src.name] [deathmessage]") - stat = DEAD + set_stat(DEAD) update_canmove() diff --git a/code/modules/mob/freelook/ai/eye.dm b/code/modules/mob/freelook/ai/eye.dm index 6325cec1ec..c79417cb86 100644 --- a/code/modules/mob/freelook/ai/eye.dm +++ b/code/modules/mob/freelook/ai/eye.dm @@ -41,21 +41,23 @@ client.eye = new_eye /mob/living/silicon/ai/proc/create_eyeobj(var/newloc) - if(eyeobj) destroy_eyeobj() - if(!newloc) newloc = src.loc + if(eyeobj) + destroy_eyeobj() + if(!newloc) + newloc = src.loc eyeobj = new /mob/observer/eye/aiEye(newloc) eyeobj.owner = src eyeobj.name = "[src.name] (AI Eye)" // Give it a name - if(client) client.eye = eyeobj + if(client) + client.eye = eyeobj SetName(src.name) // Intiliaze the eye by assigning it's "ai" variable to us. Then set it's loc to us. -/mob/living/silicon/ai/New() - ..() +/mob/living/silicon/ai/Initialize() + . = ..() create_eyeobj() - spawn(5) - if(eyeobj) - eyeobj.loc = src.loc + if(eyeobj) + eyeobj.loc = src.loc /mob/living/silicon/ai/Destroy() destroy_eyeobj() diff --git a/code/modules/mob/freelook/update_triggers.dm b/code/modules/mob/freelook/update_triggers.dm index 0b31e24cce..e6d1976fad 100644 --- a/code/modules/mob/freelook/update_triggers.dm +++ b/code/modules/mob/freelook/update_triggers.dm @@ -17,8 +17,8 @@ updateVisibility(src) return ..() -/turf/simulated/New() - ..() +/turf/simulated/Initialize() + . = ..() updateVisibility(src) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index be4c06f55b..d788f9099e 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -99,6 +99,10 @@ var/list/slot_equipment_priority = list( \ /mob/proc/is_holding_item_of_type(typepath) return FALSE +// Override for your specific mob's hands or lack thereof. +/mob/proc/get_all_held_items() + return list() + //Puts the item into your l_hand if possible and calls all necessary triggers/updates. returns 1 on success. /mob/proc/put_in_l_hand(var/obj/item/W) if(lying || !istype(W)) @@ -152,7 +156,6 @@ var/list/slot_equipment_priority = list( \ //Drops the item in our active hand. TODO: rename this to drop_active_hand or something /mob/proc/drop_item(var/atom/Target) return - /* Removes the object from any slots the mob might have, calling the appropriate icon update proc. Does nothing else. diff --git a/code/modules/mob/language/monkey.dm b/code/modules/mob/language/monkey.dm index 75816e9585..6736b803fc 100644 --- a/code/modules/mob/language/monkey.dm +++ b/code/modules/mob/language/monkey.dm @@ -4,7 +4,7 @@ speech_verb = "chimpers" ask_verb = "chimpers" exclaim_verb = "screeches" - key = "6" + key = "C" syllables = list("ook","eek") machine_understands = 0 @@ -71,7 +71,7 @@ speech_verb = "chirps" ask_verb = "tweets" exclaim_verb = "squawks" - key = "m" + key = "B" flags = RESTRICTED machine_understands = 0 space_chance = 100 diff --git a/code/modules/mob/language/station_vr.dm b/code/modules/mob/language/station_vr.dm index 6e942d50f7..50629a98e3 100644 --- a/code/modules/mob/language/station_vr.dm +++ b/code/modules/mob/language/station_vr.dm @@ -14,7 +14,7 @@ desc = "A language primarily spoken by Narvians" speech_verb = "chirps" colour = "birdsongc" - key = "7" + key = "G" syllables = list ("cheep", "peep", "tweet") /datum/language/sergal @@ -32,7 +32,7 @@ ask_verb = "rurs" exclaim_verb = "barks" colour = "vulpkanin" - key = "8" + key = "V" syllables = list("rur","ya","cen","rawr","bar","kuk","tek","qat","uk","wu","vuh","tah","tch","schz","auch", \ "ist","ein","entch","zwichs","tut","mir","wo","bis","es","vor","nic","gro","lll","enem","zandt","tzch","noch", \ "hel","ischt","far","wa","baram","iereng","tech","lach","sam","mak","lich","gen","or","ag","eck","gec","stag","onn", \ @@ -44,7 +44,7 @@ speech_verb = "squeaks" whisper_verb = "whispers" exclaim_verb = "chitters" - key = "9" + key = "S" syllables = list("sque","sqah","boo","beh","nweh","boopa","nah","wah","een","sweh") @@ -55,7 +55,7 @@ ask_verb = "croons" exclaim_verb = "incants" colour = "daemon" //So fancy - key = "n" + key = "D" syllables = list("viepn","e","bag","docu","kar","xlaqf","raa","qwos","nen","ty","von","kytaf","xin","ty","ka","baak","hlafaifpyk","znu","agrith","na'ar","uah","plhu","six","fhler","bjel","scee","lleri", "dttm","aggr","uujl","hjjifr","wwuthaav",) machine_understands = FALSE @@ -67,7 +67,7 @@ ask_verb = "hums" exclaim_verb = "loudly sings" colour = "enochian" //So fancy - key = "i" + key = "I" syllables = list("salve","sum","loqui","operatur","iusta","et","permittit","facere","effercio","pluribus","enim","hoc", "mihi","wan","six","tartu") machine_understands = FALSE @@ -87,7 +87,7 @@ ask_verb = "chitters" exclaim_verb = "rasps" colour = "bug" - key = "x" + key = "X" syllables = list("vaur","uyek","uyit","avek","sc'theth","k'ztak","teth","wre'ge","lii","dra'","zo'","ra'","kax'","zz","vh","ik","ak", "uhk","zir","sc'orth","sc'er","thc'yek","th'zirk","th'esk","k'ayek","ka'mil","sc'","ik'yir","yol","kig","k'zit","'","'","zrk","krg","isk'yet","na'k", "sc'azz","th'sc","nil","n'ahk","sc'yeth","aur'sk","iy'it","azzg","a'","i'","o'","u'","a","i","o","u","zz","kr","ak","nrk","tzzk","bz","xic'","k'lax'","histh") @@ -97,23 +97,26 @@ desc = "Shadekin seem to always know what the others are thinking. This is probably why." speech_verb = "mars" ask_verb = "mars" - exclaim_verb = "mars" + exclaim_verb = "MARS" colour = "changeling" - key = "m" + key = "M" machine_understands = FALSE flags = WHITELISTED | HIVEMIND -/datum/language/human/slavic +/datum/language/slavic name = LANGUAGE_SLAVIC desc = "The official language of the Independent Colonial Confederation of Gilgamesh, originally established in 2122 by the short-lived United Slavic Confederation on Earth." - colour = "solcom" - key = "r" - + speech_verb = "govorit" // All Russian for "says" "asks" and "shouts". Mostly here as a joke. + ask_verb = "sprashivaet" + exclaim_verb = "krichit" + whisper_verb = "shepchet" + colour = "attack" // Red for slav! + key = "P" syllables = list( - "rus", "zem", "ave", "groz", "ski", "ska", "ven", "konst", "pol", "lin", "svy", - "danya", "da", "mied", "zan", "das", "krem", "myka", "to", "st", "no", "na", "ni", - "ko", "ne", "en", "po", "ra", "li", "on", "byl", "cto", "eni", "ost", "ol", "ego", - "ver", "stv", "pro" + "rus", "zem", "ave", "blyat", "cyk", "groz", "ski", "ska", "ven", "konst", "pol", "lin", "svy", + "danya", "da", "mied", "kuz,", "zan", "das", "krem", "myka", "to", "st", "no", "na", "ni", + "ko", "ne", "en", "po", "tro", "ra", "li", "on", "byl", "cto", "eni", "ost", "ol", "ego", + "ver", "stv", "pro", "ski" ) /datum/language/unathi @@ -122,12 +125,12 @@ flags = 0 /datum/language/skrell flags = 0 -/datum/language/human - flags = 0 /datum/language/seromi flags = 0 /datum/language/zaddat flags = 0 +/datum/language/human + flags = 0 /datum/language/gutter machine_understands = FALSE /datum/language/human/monkey diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index 7d71c92343..5e9f496646 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -79,7 +79,7 @@ /mob/living/bot/updatehealth() if(status_flags & GODMODE) health = getMaxHealth() - stat = CONSCIOUS + set_stat(CONSCIOUS) else health = getMaxHealth() - getFireLoss() - getBruteLoss() oxyloss = 0 diff --git a/code/modules/mob/living/bot/medbot.dm b/code/modules/mob/living/bot/medbot.dm index 6914e434e6..edb7486fd1 100644 --- a/code/modules/mob/living/bot/medbot.dm +++ b/code/modules/mob/living/bot/medbot.dm @@ -394,11 +394,10 @@ var/skin = null //Same as medbot, set to tox or ointment for the respective kits. w_class = ITEMSIZE_NORMAL -/obj/item/weapon/firstaid_arm_assembly/New() - ..() - spawn(5) // Terrible. TODO: fix - if(skin) - overlays += image('icons/obj/aibots.dmi', "kit_skin_[src.skin]") +/obj/item/weapon/firstaid_arm_assembly/Initialize() + . = ..() + if(skin) + overlays += image('icons/obj/aibots.dmi', "kit_skin_[src.skin]") /obj/item/weapon/firstaid_arm_assembly/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index 2c39964ad6..3b57c6a5f7 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -51,7 +51,7 @@ if(paralysis && paralysis > 0) blinded = 1 - stat = UNCONSCIOUS + set_stat(UNCONSCIOUS) if(halloss > 0) adjustHalLoss(-3) @@ -61,13 +61,13 @@ if(mind.active && client != null) sleeping = max(sleeping-1, 0) blinded = 1 - stat = UNCONSCIOUS + set_stat(UNCONSCIOUS) else if(resting) if(halloss > 0) adjustHalLoss(-3) else - stat = CONSCIOUS + set_stat(CONSCIOUS) if(halloss > 0) adjustHalLoss(-1) diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 1833216ec7..d3d84db25a 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -64,7 +64,7 @@ B.brainmob = null brainmob.loc = src brainmob.container = src - brainmob.stat = 0 + brainmob.set_stat(CONSCIOUS) dead_mob_list -= brainmob//Update dem lists living_mob_list += brainmob @@ -185,7 +185,7 @@ src.brainmob.add_language(LANGUAGE_EAL) src.brainmob.loc = src src.brainmob.container = src - src.brainmob.stat = 0 + src.brainmob.set_stat(CONSCIOUS) src.brainmob.silent = 0 radio = new(src) dead_mob_list -= src.brainmob @@ -230,7 +230,7 @@ /obj/item/device/mmi/digital/transfer_identity(var/mob/living/carbon/H) brainmob.dna = H.dna brainmob.timeofhostdeath = H.timeofdeath - brainmob.stat = 0 + brainmob.set_stat(CONSCIOUS) if(H.mind) H.mind.transfer_to(brainmob) return diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index e823e036c2..ddfca59db9 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -105,7 +105,11 @@ if (shock_damage<1) return 0 - src.apply_damage(shock_damage, BURN, def_zone, used_weapon="Electrocution") + src.apply_damage(0.2 * shock_damage, BURN, def_zone, used_weapon="Electrocution") //shock the target organ + src.apply_damage(0.4 * shock_damage, BURN, BP_TORSO, used_weapon="Electrocution") //shock the torso more + src.apply_damage(0.2 * shock_damage, BURN, null, used_weapon="Electrocution") //shock a random part! + src.apply_damage(0.2 * shock_damage, BURN, null, used_weapon="Electrocution") //shock a random part! + playsound(loc, "sparks", 50, 1, -1) if (shock_damage > 15) src.visible_message( diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index 86b8c27da6..afc9e704a2 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -147,7 +147,7 @@ for(var/current_species_name in GLOB.all_species) var/datum/species/current_species = GLOB.all_species[current_species_name] - if(check_whitelist && config.usealienwhitelist && !check_rights(R_ADMIN, 0, src)) //If we're using the whitelist, make sure to check it! + if(check_whitelist && config.usealienwhitelist && !check_rights(R_ADMIN|R_EVENT, 0, src)) //If we're using the whitelist, make sure to check it! if(!(current_species.spawn_flags & SPECIES_CAN_JOIN)) continue if(whitelist.len && !(current_species_name in whitelist)) @@ -179,6 +179,10 @@ if(!(use_species in S.species_allowed)) continue + + if(S.ckeys_allowed && !(ckey in S.ckeys_allowed)) //VOREStation add - ckey whitelist check + continue //VOREStation add - ckey whitelist check + valid_hairstyles += hairstyle return valid_hairstyles @@ -202,6 +206,9 @@ if(!(use_species in S.species_allowed)) continue + if(S.ckeys_allowed && !(ckey in S.ckeys_allowed)) //VOREStation add - ckey whitelist check + continue //VOREStation add - ckey whitelist check + valid_facial_hairstyles += facialhairstyle return valid_facial_hairstyles diff --git a/code/modules/mob/living/carbon/human/death_vr.dm b/code/modules/mob/living/carbon/human/death_vr.dm index b8b0e2d638..78a2c4ea48 100644 --- a/code/modules/mob/living/carbon/human/death_vr.dm +++ b/code/modules/mob/living/carbon/human/death_vr.dm @@ -9,3 +9,22 @@ deadnif.wear(10) //Presumably it's gone through some shit if they got gibbed? . = ..() + +//Surprisingly this is only called for humans, but whatever! +/hook/death/proc/digestion_check(var/mob/living/carbon/human/H, var/gibbed) + //Not in a belly? Well, too bad! + if(!isbelly(H.loc)) + return TRUE + + //What belly! + var/obj/belly/B = H.loc + + //Were they digesting and we have a mind you can update? + //Technically allows metagaming by allowing buddies to turn on digestion for like 2 seconds + // to finish off critically wounded friends to avoid resleeving sickness, but like + // *kill those people* ok? + if(B.digest_mode == DM_DIGEST) + H.mind?.vore_death = TRUE + + //Hooks need to return true otherwise they're considered having failed + return TRUE diff --git a/code/modules/mob/living/carbon/human/emote_vr.dm b/code/modules/mob/living/carbon/human/emote_vr.dm index d10fa06bdf..69fc1cc9cd 100644 --- a/code/modules/mob/living/carbon/human/emote_vr.dm +++ b/code/modules/mob/living/carbon/human/emote_vr.dm @@ -92,7 +92,8 @@ to_chat(src, "You can't *flip in your current state!") return 1 else - src.SpinAnimation(7,1) + nextemote += 12 //Double delay + handle_flip_vr() message = "does a flip!" m_type = 1 if ("vhelp") //Help for Virgo-specific emotes. @@ -104,6 +105,32 @@ return 0 + +/mob/living/carbon/human/proc/handle_flip_vr() + var/original_density = density + var/original_passflags = pass_flags + + //Briefly un-dense to dodge projectiles + density = FALSE + + //Parkour! + var/parkour_chance = 20 //Default + if(species) + parkour_chance = species.agility + if(prob(parkour_chance)) + pass_flags |= PASSTABLE + else + Confuse(1) //Thud + + if(dir & WEST) + SpinAnimation(7,1,0) + else + SpinAnimation(7,1,1) + + spawn(7) + density = original_density + pass_flags = original_passflags + /mob/living/carbon/human/proc/toggle_tail_vr(var/setting,var/message = 0) if(!tail_style || !tail_style.ani_state) if(message) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 6d9bc28f77..557a3dd83b 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -57,7 +57,6 @@ for(var/organ in organs) qdel(organ) QDEL_NULL(nif) //VOREStation Add - QDEL_LIST_NULL(vore_organs) //VOREStation Add return ..() /mob/living/carbon/human/Stat() @@ -243,12 +242,8 @@ // this handles mulebots and vehicles // and now mobs on fire /mob/living/carbon/human/Crossed(var/atom/movable/AM) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(AM.is_incorporeal()) + return if(istype(AM, /mob/living/bot/mulebot)) var/mob/living/bot/mulebot/MB = AM MB.runOver(src) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 00ab1b530a..805a63d9a3 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -309,7 +309,10 @@ var/randn = rand(1, 100) last_push_time = world.time - if(!(species.flags & NO_SLIP) && randn <= 25) + // We ARE wearing shoes OR + // We as a species CAN be slipped when barefoot + // And also 1 in 4 because rngesus + if((shoes || !(species.flags & NO_SLIP)) && randn <= 25) var/armor_check = run_armor_check(affecting, "melee") apply_effect(3, WEAKEN, armor_check) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index d1baabbe8b..7cf2027025 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -4,7 +4,7 @@ if(status_flags & GODMODE) health = getMaxHealth() - stat = CONSCIOUS + set_stat(CONSCIOUS) return var/total_burn = 0 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 869c07b5a6..3675866e24 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -527,8 +527,8 @@ emp_act if(damtype != BURN && damtype != BRUTE) return // The rig might soak this hit, if we're wearing one. - if(back && istype(back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/rig = back + if(istype(get_rig(),/obj/item/weapon/rig)) + var/obj/item/weapon/rig/rig = get_rig() rig.take_hit(damage) // We may also be taking a suit breach. diff --git a/code/modules/mob/living/carbon/human/human_defines_vr.dm b/code/modules/mob/living/carbon/human/human_defines_vr.dm index b9200877c3..9316b90e88 100644 --- a/code/modules/mob/living/carbon/human/human_defines_vr.dm +++ b/code/modules/mob/living/carbon/human/human_defines_vr.dm @@ -48,6 +48,4 @@ if(!istype(SK)) return 0 - if(amount > 0 || !(SK.check_infinite_energy(src))) - var/new_amount = SK.get_energy(src) + amount - SK.set_energy(src, new_amount) \ No newline at end of file + SK.set_energy(src, SK.get_energy(src) + amount) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 0282befbf8..f9c15a4852 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -178,7 +178,7 @@ compiled_vis |= O.enables_planes //Check to see if we have a rig (ugh, blame rigs, desnowflake this) - var/obj/item/weapon/rig/rig = back + var/obj/item/weapon/rig/rig = get_rig() if(istype(rig) && rig.visor) if(!rig.helmet || (head && rig.helmet == head)) if(rig.visor && rig.visor.vision && rig.visor.active && rig.visor.vision.glasses) diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 9f57be114b..2c08449e1e 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -181,8 +181,8 @@ if(back) if(istype(back,/obj/item/weapon/tank/jetpack)) thrust = back - else if(istype(back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/rig = back + else if(istype(get_rig(),/obj/item/weapon/rig)) + var/obj/item/weapon/rig/rig = get_rig() for(var/obj/item/rig_module/maneuvering_jets/module in rig.installed_modules) thrust = module.jets break @@ -224,10 +224,8 @@ // Handle footstep sounds /mob/living/carbon/human/handle_footstep(var/turf/T) - //VOREStation Edit begin: SHADEKIN - if(shadekin_phasing_check()) + if(is_incorporeal()) return - //VOREStation Edit end: SHADEKIN if(!config.footstep_volume || !T.footstep_sounds || !T.footstep_sounds.len) return // Future Upgrades - Multi species support diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index f24ad350a1..cb053663e0 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -178,9 +178,28 @@ for(var/obj/item/W in src) drop_from_inventory(W) - visible_message("\The [src] quivers slightly, then splits apart with a wet slithering noise.") + var/obj/item/organ/external/Chest = organs_by_name[BP_TORSO] - qdel(src) + if(Chest.robotic >= 2) + visible_message("\The [src] shudders slightly, then ejects a cluster of nymphs with a wet slithering noise.") + species = GLOB.all_species[SPECIES_HUMAN] // This is hard-set to default the body to a normal FBP, without changing anything. + + // Bust it + src.death() + + for(var/obj/item/organ/internal/diona/Org in internal_organs) // Remove Nymph organs. + qdel(Org) + + // Purge the diona verbs. + verbs -= /mob/living/carbon/human/proc/diona_split_nymph + verbs -= /mob/living/carbon/human/proc/regenerate + + for(var/obj/item/organ/external/E in organs) // Just fall apart. + E.droplimb(TRUE) + + else + visible_message("\The [src] quivers slightly, then splits apart with a wet slithering noise.") + qdel(src) /mob/living/carbon/human/proc/self_diagnostics() set name = "Self-Diagnostics" diff --git a/code/modules/mob/living/carbon/human/human_resist.dm b/code/modules/mob/living/carbon/human/human_resist.dm index 37e20d0d21..56d42c1a15 100644 --- a/code/modules/mob/living/carbon/human/human_resist.dm +++ b/code/modules/mob/living/carbon/human/human_resist.dm @@ -1,6 +1,6 @@ /mob/living/carbon/human/process_resist() //drop && roll - if(on_fire && !buckled) + if((on_fire || has_modifier_of_type(/datum/modifier/fire)) && !buckled) adjust_fire_stacks(-1.2) Weaken(3) spin(32,2) @@ -9,7 +9,7 @@ "You stop, drop, and roll!" ) sleep(30) - if(fire_stacks <= 0) + if(fire_stacks <= 0 && !(has_modifier_of_type(/datum/modifier/fire))) visible_message( "[src] has successfully extinguished themselves!", "You extinguish yourself." diff --git a/code/modules/mob/living/carbon/human/human_species_vr.dm b/code/modules/mob/living/carbon/human/human_species_vr.dm index 897ef6ab14..566d5e8a26 100644 --- a/code/modules/mob/living/carbon/human/human_species_vr.dm +++ b/code/modules/mob/living/carbon/human/human_species_vr.dm @@ -14,9 +14,6 @@ /mob/living/carbon/human/xenochimera/New(var/new_loc) ..(new_loc, "Xenochimera") -/mob/living/carbon/human/xenohybrid/New(var/new_loc) - ..(new_loc, "Xenomorph Hybrid") - /mob/living/carbon/human/spider/New(var/new_loc) ..(new_loc, "Vasilissan") diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 46f9514e43..0d9e58b7cb 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -397,4 +397,12 @@ This saves us from having to call add_fingerprint() any time something is put in for(var/obj/item/I in list(l_hand, r_hand)) if(istype(I, typepath)) return I - return FALSE \ No newline at end of file + return FALSE + +// Returns a list of items held in both hands. +/mob/living/carbon/human/get_all_held_items() + . = list() + if(l_hand) + . += l_hand + if(r_hand) + . += r_hand \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 9dd4d7f5a3..2d816a9a94 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -358,10 +358,10 @@ //Because rigs store their tanks out of reach of contents.Find(), a check has to be made to make //sure the rig is still worn, still online, and that its air supply still exists. var/obj/item/weapon/tank/rig_supply - if(istype(back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/rig = back - if(!rig.offline && (rig.air_supply && internal == rig.air_supply)) - rig_supply = rig.air_supply + var/obj/item/weapon/rig/Rig = get_rig() + + if(Rig) + rig_supply = Rig.air_supply if ((!rig_supply && !contents.Find(internal)) || !((wear_mask && (wear_mask.item_flags & AIRTIGHT)) || (head && (head.item_flags & AIRTIGHT)))) internal = null @@ -618,10 +618,8 @@ //Stuff like the xenomorph's plasma regen happens here. species.handle_environment_special(src) - //VOREStation Edit begin: SHADEKIN - if(shadekin_phasing_check()) + if(is_incorporeal()) return - //VOREStation Edit end: SHADEKIN //Moved pressure calculations here for use in skip-processing check. var/pressure = environment.return_pressure() @@ -1106,9 +1104,9 @@ return 1 -/mob/living/carbon/human/proc/set_stat(var/new_stat) - stat = new_stat - if(stat) +/mob/living/carbon/human/set_stat(var/new_stat) + . = ..() + if(. && stat) update_skin(1) /mob/living/carbon/human/handle_regular_hud_updates() @@ -1371,7 +1369,7 @@ see_invisible = see_in_dark>2 ? SEE_INVISIBLE_LEVEL_ONE : see_invisible_default var/tmp/glasses_processed = 0 - var/obj/item/weapon/rig/rig = back + var/obj/item/weapon/rig/rig = get_rig() if(istype(rig) && rig.visor && !looking_elsewhere) if(!rig.helmet || (head && rig.helmet == head)) if(rig.visor && rig.visor.vision && rig.visor.active && rig.visor.vision.glasses) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 9073e8bfb5..99b99c070f 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -78,8 +78,8 @@ /mob/living/carbon/human/GetVoice() var/voice_sub - if(istype(back,/obj/item/weapon/rig)) - var/obj/item/weapon/rig/rig = back + if(istype(get_rig(),/obj/item/weapon/rig)) + var/obj/item/weapon/rig/rig = get_rig() // todo: fix this shit if(rig.speech && rig.speech.voice_holder && rig.speech.voice_holder.active && rig.speech.voice_holder.voice) voice_sub = rig.speech.voice_holder.voice diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm index aad75767cd..3fb94964da 100644 --- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm +++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm @@ -188,6 +188,8 @@ if(!istype(shade_organ)) return 0 + if(shade_organ.dark_energy_infinite) + return shade_organ.max_dark_energy return shade_organ.dark_energy @@ -215,14 +217,6 @@ shade_organ.max_dark_energy = new_max_energy -/datum/species/shadekin/proc/check_infinite_energy(var/mob/living/carbon/human/H) - var/obj/item/organ/internal/brain/shadekin/shade_organ = H.internal_organs_by_name[O_BRAIN] - - if(!istype(shade_organ)) - return 0 - - return shade_organ.dark_energy_infinite - /datum/species/shadekin/proc/update_shadekin_hud(var/mob/living/carbon/human/H) var/turf/T = get_turf(H) if(!T) @@ -230,15 +224,15 @@ if(H.shadekin_energy_display) H.shadekin_energy_display.invisibility = 0 switch(get_energy(H)) - if(80 to INFINITY) + if(100 to INFINITY) H.shadekin_energy_display.icon_state = "energy0" - if(60 to 80) + if(75 to 100) H.shadekin_energy_display.icon_state = "energy1" - if(40 to 60) + if(50 to 75) H.shadekin_energy_display.icon_state = "energy2" - if(20 to 40) + if(25 to 50) H.shadekin_energy_display.icon_state = "energy3" - if(0 to 20) + if(0 to 25) H.shadekin_energy_display.icon_state = "energy4" if(H.shadekin_dark_display) H.shadekin_dark_display.invisibility = 0 diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm index 7d354db330..632d45ea4d 100644 --- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm +++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm @@ -1,5 +1,10 @@ /datum/power/shadekin +/mob/living/carbon/human/is_incorporeal() + if(ability_flags & AB_PHASE_SHIFTED) //Shadekin + return TRUE + return ..() + ///////////////////// /// PHASE SHIFT /// ///////////////////// @@ -62,6 +67,7 @@ //Shifting in if(ability_flags & AB_PHASE_SHIFTED) ability_flags &= ~AB_PHASE_SHIFTED + mouse_opacity = 1 name = real_name for(var/belly in vore_organs) var/obj/belly/B = belly @@ -108,6 +114,7 @@ //Shifting out else ability_flags |= AB_PHASE_SHIFTED + mouse_opacity = 0 custom_emote(1,"phases out!") name = "Something" @@ -130,47 +137,6 @@ density = FALSE force_max_speed = TRUE -/mob/living/carbon/human/UnarmedAttack() - if(shadekin_phasing_check()) - return FALSE //Nope. - - . = ..() - -/mob/living/carbon/human/can_fall() - if(shadekin_phasing_check()) - return FALSE //Nope! - - return ..() - -/mob/living/carbon/human/zMove(direction) - if(shadekin_phasing_check()) - var/turf/destination = (direction == UP) ? GetAbove(src) : GetBelow(src) - if(destination) - forceMove(destination) - return TRUE //Yup. - - return ..() - -/mob/proc/shadekin_phasing_check() - var/mob/living/simple_mob/shadekin/s_SK = src - if(istype(s_SK)) - if(s_SK.ability_flags & AB_PHASE_SHIFTED) - return TRUE - var/mob/living/carbon/human/h_SK = src - if(istype(h_SK)) - if(h_SK.ability_flags & AB_PHASE_SHIFTED) - return TRUE - return FALSE - -/* -/mob/living/carbon/human/MouseDrop_T(atom/dropping, mob/user) - if(ability_flags & AB_PHASE_SHIFTED) - return FALSE //Nope! - - return ..() -*/ - - ////////////////////////// /// REGENERATE OTHER /// ////////////////////////// diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm index 3313c137b5..82645f8c59 100644 --- a/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_shapeshift_vr.dm @@ -121,4 +121,14 @@ g_wing = new_color_rgb_list[2] b_wing = new_color_rgb_list[3] + //Indented inside positive primary color choice, don't bother if they clicked cancel + var/current_sec_color = rgb(r_wing2,g_wing2,b_wing2) + + var/new_sec_color = input("Pick secondary wing color (only applies to some wings):","Wing Color (sec)", current_sec_color) as null|color + if(new_sec_color) + new_color_rgb_list = hex2rgb(new_sec_color) + r_wing2 = new_color_rgb_list[1] + g_wing2 = new_color_rgb_list[2] + b_wing2 = new_color_rgb_list[3] + update_wing_showing() diff --git a/code/modules/mob/living/carbon/human/species/species_vr.dm b/code/modules/mob/living/carbon/human/species/species_vr.dm index c3831d5f55..353946d976 100644 --- a/code/modules/mob/living/carbon/human/species/species_vr.dm +++ b/code/modules/mob/living/carbon/human/species/species_vr.dm @@ -19,6 +19,7 @@ var/icobase_wing var/wikilink = null //link to wiki page for species var/icon_height = 32 + var/agility = 20 //prob() to do agile things /datum/species/proc/update_attack_types() unarmed_attacks = list() diff --git a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm index 5374d21b33..cb13f4772c 100644 --- a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm @@ -5,6 +5,7 @@ var/metabolism = 0.0015 var/lightweight = FALSE //Oof! Nonhelpful bump stumbles. var/trashcan = FALSE //It's always sunny in the wrestling ring. + var/eat_ore = FALSE //HEAVY METAL DIET var/base_species = null // Unused outside of a few species var/selects_bodytype = FALSE // Allows the species to choose from body types intead of being forced to be just one. diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm b/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm index aa6287eedd..198bd80232 100644 --- a/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/prometheans_vr.dm @@ -8,8 +8,8 @@ valid_transform_species = list( "Human", "Unathi", "Tajara", "Skrell", "Diona", "Teshari", "Monkey","Sergal", - "Akula","Nevrean","Highlander Zorren", - "Flatland Zorren", "Vulpkanin", "Vasilissan", + "Akula","Nevrean","Zorren", + "Fennec", "Vulpkanin", "Vasilissan", "Rapala", "Neaera", "Stok", "Farwa", "Sobaka", "Wolpin", "Saru", "Sparra") diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm index 2a122f9281..da27a9aace 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm @@ -66,6 +66,10 @@ else update_icon() +/mob/living/simple_mob/protean_blob/Login() + . = ..() + copy_from_prefs_vr(bellies = FALSE) //Load vore prefs + /mob/living/simple_mob/protean_blob/Destroy() humanform = null refactory = null diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm index f7ed970e7c..4d5ce6d102 100755 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm @@ -144,6 +144,8 @@ H.equip_to_slot_or_del(metal_stack, slot_in_backpack) spawn(0) //Let their real nif load if they have one + if(!H) //Human could have been deleted in this amount of time. Observing does this, mannequins, etc. + return if(!H.nif) var/obj/item/device/nif/bioadap/new_nif = new() new_nif.quick_implant(H) diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index 77b88e9378..4337cc1684 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -490,6 +490,7 @@ has_organ = list( O_NUTRIENT = /obj/item/organ/internal/diona/nutrients, O_STRATA = /obj/item/organ/internal/diona/strata, + O_BRAIN = /obj/item/organ/internal/brain/cephalon, O_RESPONSE = /obj/item/organ/internal/diona/node, O_GBLADDER = /obj/item/organ/internal/diona/bladder, O_POLYP = /obj/item/organ/internal/diona/polyp, @@ -563,6 +564,16 @@ if(H.isSynthetic()) H.visible_message("\The [H] collapses into parts, revealing a solitary diona nymph at the core.") + + H.species = GLOB.all_species[SPECIES_HUMAN] // This is hard-set to default the body to a normal FBP, without changing anything. + + for(var/obj/item/organ/internal/diona/Org in H.internal_organs) // Remove Nymph organs. + qdel(Org) + + // Purge the diona verbs. + H.verbs -= /mob/living/carbon/human/proc/diona_split_nymph + H.verbs -= /mob/living/carbon/human/proc/regenerate + return for(var/mob/living/carbon/alien/diona/D in H.contents) diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm index 4788d55af6..19a49bf38e 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm @@ -180,8 +180,7 @@ have adjusted better to their new lives. Though similar fox-like beings have been seen they are different than the Zorren." wikilink="https://www.yawn.ocry.com/Zorren" - catalogue_data = list(/datum/category_item/catalogue/fauna/zorren, - /datum/category_item/catalogue/fauna/highzorren) + catalogue_data = list(/datum/category_item/catalogue/fauna/zorren) //primitive_form = "" //We don't have fox-monkey sprites. @@ -199,52 +198,6 @@ ) inherent_verbs = list(/mob/living/proc/shred_limb) -/datum/species/fl_zorren - name = SPECIES_ZORREN_FLAT - name_plural = "Zorren" - icobase = 'icons/mob/human_races/r_fennec_vr.dmi' - deform = 'icons/mob/human_races/r_def_fennec.dmi' - tail = "tail" - icobase_tail = 1 - unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) - num_alternate_languages = 3 - secondary_langs = list(LANGUAGE_TERMINUS) - name_language = LANGUAGE_TERMINUS - inherent_verbs = list(/mob/living/carbon/human/proc/lick_wounds) - assisted_langs = list(LANGUAGE_EAL, LANGUAGE_SKRELLIAN, LANGUAGE_SKRELLIANFAR, LANGUAGE_ROOTLOCAL, LANGUAGE_ROOTGLOBAL, LANGUAGE_VOX) //AEIOU edit: Zorren can speak Terminus unassisted. - - min_age = 18 - max_age = 110 - - blurb = "The fox-like Zorren are native to Virgo-Prime, however there are two distinct varieties of Zorren one with large ears and shorter fur, \ - and the other with longer fur that is a bit more vibrant. The long-eared, short-furred Zorren have come to be known as Flatland Zorren as that is \ - where most of their settlements are located. The Flatland Zorren are somewhat tribal and shamanistic as they have only recently started to be \ - hired by the Trans-Stellar Corporations. The other variety of Zorren are known as Highland Zorren as they frequently settle in hilly and/or \ - mountainous areas, they have a differing societal structure than the Flatland Zorren having a more feudal social structure, like the Flatland Zorren, \ - the Highland Zorren have also only recently been hired by the Trans-Stellar Corporations, but thanks to the different social structure they \ - seem to have adjusted better to their new lives. Though similar fox-like beings have been seen they are different than the Zorren." - wikilink="https://www.yawn.ocry.com/Zorren" - - catalogue_data = list(/datum/category_item/catalogue/fauna/zorren, - /datum/category_item/catalogue/fauna/flatzorren) - - //primitive_form = "" //We don't have fennec-monkey sprites. - spawn_flags = SPECIES_CAN_JOIN - appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR - - flesh_color = "#AFA59E" - base_color = "#333333" - blood_color = "#240bc4" - color_mult = 1 - inherent_verbs = list(/mob/living/proc/shred_limb) - - heat_discomfort_strings = list( - "Your fur prickles in the heat.", - "You feel uncomfortably warm.", - "Your overheated skin itches." - ) - - /datum/species/vulpkanin name = SPECIES_VULPKANIN name_plural = "Vulpkanin" @@ -285,45 +238,6 @@ min_age = 18 max_age = 110 -/datum/species/xenohybrid - name = SPECIES_XENOHYBRID - name_plural = "Xenomorphs" - icobase = 'icons/mob/human_races/r_xenomorph.dmi' - deform = 'icons/mob/human_races/r_def_xenomorph.dmi' - tail = "tail" - icobase_tail = 1 - unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) - darksight = 4 //Better hunters in the dark. - hunger_factor = 0.1 //In exchange, they get hungry a tad faster. - num_alternate_languages = 3 - - min_age = 18 - max_age = 110 - - blurb = "Xenomorphs hybrids are a mixture of xenomorph DNA and some other humanoid species. \ - Xenomorph hyrids mostly have had had their natural aggression removed due to the gene modification process \ - although there are some exceptions, such as when they are harmed. Most xenomorph hybrids are female, due to their natural xenomorph genes, \ - but there are multiple exceptions. All xenomorph hybrids have had their ability to lay eggs containing facehuggers \ - removed if they had the ability to, although hybrids that previously contained this ability is extremely rare." - catalogue_data = list(/datum/category_item/catalogue/fauna/xenohybrid) - wikilink="https://www.yawn.ocry.com/Xenomorph-Hybrid" - - //primitive_form = "" //None for these guys - - spawn_flags = SPECIES_CAN_JOIN - appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR - - blood_color = "#12ff12" - flesh_color = "#201730" - base_color = "#201730" - - heat_discomfort_strings = list( - "Your chitin feels extremely warm.", - "You feel uncomfortably warm.", - "Your chitin feels hot." - ) - inherent_verbs = list(/mob/living/proc/shred_limb) - /datum/species/unathi spawn_flags = SPECIES_CAN_JOIN //Species_can_join is the only spawn flag all the races get, so that none of them will be whitelist only if whitelist is enabled. icobase = 'icons/mob/human_races/r_lizard_vr.dmi' @@ -347,6 +261,7 @@ inherent_verbs = list(/mob/living/proc/shred_limb, /mob/living/carbon/human/proc/lick_wounds) heat_discomfort_level = 295 //Prevents heat discomfort spam at 20c wikilink="https://www.yawn.ocry.com/Tajaran" + agility = 90 /datum/species/skrell spawn_flags = SPECIES_CAN_JOIN @@ -391,6 +306,7 @@ gluttonous = 0 descriptors = list() wikilink="https://www.yawn.ocry.com/Teshari" + agility = 90 inherent_verbs = list( /mob/living/carbon/human/proc/sonar_ping, @@ -574,4 +490,76 @@ datum/species/harpy return SPECIES_SHADEKIN /datum/species/shadekin/can_breathe_water() - return TRUE //they dont quite breathe \ No newline at end of file + return TRUE //they dont quite breathe + +//These species are not really species but are just there for custom species selection + +/datum/species/fl_zorren + name = SPECIES_FENNEC + name_plural = "Fennec" + icobase = 'icons/mob/human_races/r_fennec_vr.dmi' + deform = 'icons/mob/human_races/r_def_fennec.dmi' + tail = "tail" + icobase_tail = 1 + unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) + num_alternate_languages = 3 + secondary_langs = list(LANGUAGE_TERMINUS) + name_language = LANGUAGE_TERMINUS + inherent_verbs = list(/mob/living/carbon/human/proc/lick_wounds) + + min_age = 18 + max_age = 80 + + //primitive_form = "" //We don't have fennec-monkey sprites. + spawn_flags = SPECIES_IS_RESTRICTED + appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR + + flesh_color = "#AFA59E" + base_color = "#333333" + blood_color = "#240bc4" + color_mult = 1 + inherent_verbs = list(/mob/living/proc/shred_limb) + + heat_discomfort_strings = list( + "Your fur prickles in the heat.", + "You feel uncomfortably warm.", + "Your overheated skin itches." + ) + +/datum/species/xenohybrid + name = SPECIES_XENOHYBRID + name_plural = "Xenomorphs" + icobase = 'icons/mob/human_races/r_xenomorph.dmi' + deform = 'icons/mob/human_races/r_def_xenomorph.dmi' + tail = "tail" + icobase_tail = 1 + unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) + darksight = 4 //Better hunters in the dark. + hunger_factor = 0.1 //In exchange, they get hungry a tad faster. + num_alternate_languages = 2 + + min_age = 18 + max_age = 80 + + blurb = "Xenomorphs hybrids are a mixture of xenomorph DNA and some other humanoid species. \ + Xenomorph hyrids mostly have had had their natural aggression removed due to the gene modification process \ + although there are some exceptions, such as when they are harmed. Most xenomorph hybrids are female, due to their natural xenomorph genes, \ + but there are multiple exceptions. All xenomorph hybrids have had their ability to lay eggs containing facehuggers \ + removed if they had the ability to, although hybrids that previously contained this ability is extremely rare." + // No wiki page for xenohybrids at present + + //primitive_form = "" //None for these guys + + spawn_flags = SPECIES_IS_RESTRICTED + appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR + + blood_color = "#12ff12" + flesh_color = "#201730" + base_color = "#201730" + + heat_discomfort_strings = list( + "Your chitin feels extremely warm.", + "You feel uncomfortably warm.", + "Your chitin feels hot." + ) + inherent_verbs = list(/mob/living/proc/shred_limb) diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm index 43dd13f6c0..5c48467243 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/neutral.dm @@ -149,6 +149,16 @@ ..(S,H) H.verbs |= /mob/living/proc/eat_trash +/datum/trait/gem_eater + name = "Expensive Taste" + desc = "There's nothing that sates the appetite better than precious gems, exotic or rare minerals and you have damn fine taste. Anything else is beneath you." + cost = 0 + var_changes = list("gets_food_nutrition" = 0, "eat_ore" = 1) //The verb is given in human.dm + +/datum/trait/gem_eater/apply(var/datum/species/S,var/mob/living/carbon/human/H) + ..(S,H) + H.verbs |= /mob/living/proc/eat_ore + /datum/trait/glowing_eyes name = "Glowing Eyes" desc = "Your eyes show up above darkness. SPOOKY! And kinda edgey too." diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm index 210720658d..c10c9db119 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/positive.dm @@ -180,7 +180,13 @@ /datum/trait/antiseptic_saliva/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..() - H.verbs |= /mob/living/carbon/human/proc/lick_wounds + H.verbs |= /mob/living/carbon/human/proc/lick_wounds + +/datum/trait/traceur + name = "Traceur" + desc = "You're capable of parkour and can *flip over low objects (most of the time)." + cost = 2 + var_changes = list("agility" = 90) // YW Addition /datum/trait/bloodsucker_plus diff --git a/code/modules/mob/living/carbon/human/update_icons_vr.dm b/code/modules/mob/living/carbon/human/update_icons_vr.dm index 436f76d774..a8b941ebc3 100644 --- a/code/modules/mob/living/carbon/human/update_icons_vr.dm +++ b/code/modules/mob/living/carbon/human/update_icons_vr.dm @@ -60,6 +60,11 @@ var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = flapping && wing_style.ani_state ? wing_style.ani_state : wing_style.icon_state) if(wing_style.do_colouration) wing_s.Blend(rgb(src.r_wing, src.g_wing, src.b_wing), wing_style.color_blend_mode) + if(wing_style.extra_overlay) + var/icon/overlay = new/icon("icon" = wing_style.icon, "icon_state" = wing_style.extra_overlay) + overlay.Blend(rgb(src.r_wing2, src.g_wing2, src.b_wing2), wing_style.color_blend_mode) + wing_s.Blend(overlay, ICON_OVERLAY) + qdel(overlay) return image(wing_s) // TODO - Move this to where it should go ~Leshana diff --git a/code/modules/mob/living/carbon/metroid/items.dm b/code/modules/mob/living/carbon/metroid/items.dm index 0f1e664d1c..45c30cb3e3 100644 --- a/code/modules/mob/living/carbon/metroid/items.dm +++ b/code/modules/mob/living/carbon/metroid/items.dm @@ -360,8 +360,7 @@ . = ..() reagents.add_reagent("nutriment", 4) reagents.add_reagent("slimejelly", 1) - spawn(rand(1200,1500))//the egg takes a while to "ripen" - Grow() + addtimer(CALLBACK(src, ./proc/Grow), rand(120 SECONDS, 150 SECONDS)) /obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Grow() grown = 1 diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm index f11d9d137d..7643ea3d2e 100644 --- a/code/modules/mob/living/carbon/metroid/life.dm +++ b/code/modules/mob/living/carbon/metroid/life.dm @@ -102,18 +102,18 @@ else if (src.paralysis || src.stunned || src.weakened || (status_flags & FAKEDEATH)) //Stunned etc. if (src.stunned > 0) - src.stat = 0 + src.set_stat(CONSCIOUS) if (src.weakened > 0) src.lying = 0 - src.stat = 0 + src.set_stat(CONSCIOUS) if (src.paralysis > 0) src.blinded = 0 src.lying = 0 - src.stat = 0 + src.set_stat(CONSCIOUS) else src.lying = 0 - src.stat = 0 + src.set_stat(CONSCIOUS) if (src.stuttering) src.stuttering = 0 diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 1d806dde45..aeab794552 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -109,5 +109,9 @@ if(drowsy) apply_effect(drowsy, DROWSY, blocked) if(agony) apply_effect(agony, AGONY, blocked) if(flammable) adjust_fire_stacks(flammable) - if(ignite) IgniteMob() + if(ignite) + if(ignite >= 3) + add_modifier(/datum/modifier/fire/stack_managed/intense, 60 SECONDS) + else + add_modifier(/datum/modifier/fire/stack_managed, 45 * ignite SECONDS) return 1 diff --git a/code/modules/mob/living/inventory.dm b/code/modules/mob/living/inventory.dm index 4a651af999..22db034374 100644 --- a/code/modules/mob/living/inventory.dm +++ b/code/modules/mob/living/inventory.dm @@ -33,8 +33,25 @@ //Drops the item in our active hand. TODO: rename this to drop_active_hand or something /mob/living/drop_item(var/atom/Target) - if(hand) return drop_l_hand(Target) - else return drop_r_hand(Target) + var/obj/item/item_dropped = null + + if (hand) + item_dropped = l_hand + . = drop_l_hand(Target) + else + item_dropped = r_hand + . = drop_r_hand(Target) + + if (istype(item_dropped) && !QDELETED(item_dropped) && is_preference_enabled(/datum/client_preference/drop_sounds)) + addtimer(CALLBACK(src, .proc/make_item_drop_sound, item_dropped), 1) + +/mob/proc/make_item_drop_sound(obj/item/I) + if(QDELETED(I)) + return + + if(I.drop_sound) + playsound(I, I.drop_sound, 25, 0, preference = /datum/client_preference/drop_sounds) + //Drops the item in our left hand /mob/living/drop_l_hand(var/atom/Target) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 350097e141..1e66f65478 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -99,11 +99,11 @@ updatehealth() if(stat != DEAD) if(paralysis) - stat = UNCONSCIOUS + set_stat(UNCONSCIOUS) else if (status_flags & FAKEDEATH) - stat = UNCONSCIOUS + set_stat(UNCONSCIOUS) else - stat = CONSCIOUS + set_stat(CONSCIOUS) return 1 /mob/living/proc/handle_statuses() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index cc7ec62da4..4a03fd6adf 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -32,6 +32,8 @@ if(buckled) buckled.unbuckle_mob(src, TRUE) qdel(selected_image) + QDEL_NULL(vorePanel) //VOREStation Add + QDEL_LIST_NULL(vore_organs) //VOREStation Add return ..() //mob verbs are faster than object verbs. See mob/verb/examine. @@ -245,11 +247,10 @@ default behaviour is: /mob/living/proc/updatehealth() if(status_flags & GODMODE) health = 100 - stat = CONSCIOUS + set_stat(CONSCIOUS) else health = getMaxHealth() - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - getCloneLoss() - halloss - //This proc is used for mobs which are affected by pressure to calculate the amount of pressure that actually //affects them once clothing is factored in. ~Errorage /mob/living/proc/calculate_affecting_pressure(var/pressure) @@ -449,7 +450,7 @@ default behaviour is: if(!isnull(M.incoming_hal_damage_percent)) amount *= M.incoming_hal_damage_percent if(!isnull(M.disable_duration_percent)) - amount *= M.incoming_hal_damage_percent + amount *= M.disable_duration_percent else if(amount < 0) for(var/datum/modifier/M in modifiers) if(!isnull(M.incoming_healing_percent)) @@ -742,7 +743,7 @@ default behaviour is: timeofdeath = 0 // restore us to conciousness - stat = CONSCIOUS + set_stat(CONSCIOUS) // make the icons look correct regenerate_icons() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 9811dbcb12..0184a54d59 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -129,7 +129,6 @@ //Stun Beams if(P.taser_effect) stun_effect_act(0, P.agony, def_zone, P) - to_chat(src, "You have been hit by [P]!") if(!P.nodamage) apply_damage(P.damage, P.damage_type, def_zone, absorb, soaked, 0, P, sharp=proj_sharp, edge=proj_edge) qdel(P) @@ -364,6 +363,9 @@ handle_light() update_fire() + if(has_modifier_of_type(/datum/modifier/fire)) + remove_modifiers_of_type(/datum/modifier/fire) + /mob/living/proc/update_fire() return diff --git a/code/modules/mob/living/living_movement.dm b/code/modules/mob/living/living_movement.dm index 3f6c8411d1..f730077d70 100644 --- a/code/modules/mob/living/living_movement.dm +++ b/code/modules/mob/living/living_movement.dm @@ -9,4 +9,13 @@ return (!mover.density || !density || lying) /mob/CanZASPass(turf/T, is_zone) - return ATMOS_PASS_YES \ No newline at end of file + return ATMOS_PASS_YES + +/mob/living/SelfMove(turf/n, direct) + // If on walk intent, don't willingly step into hazardous tiles. + // Unless the walker is confused. + if(m_intent == "walk" && confused <= 0) + if(!n.is_safe_to_enter(src)) + to_chat(src, span("warning", "\The [n] is dangerous to move into.")) + return FALSE // In case any code wants to know if movement happened. + return ..() // Parent call should make the mob move. \ No newline at end of file diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 46cccd60d9..ac026a2251 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -8,6 +8,7 @@ var/list/department_radio_keys = list( ":n" = "Science", ".n" = "Science", ":m" = "Medical", ".m" = "Medical", ":e" = "Engineering", ".e" = "Engineering", + ":k" = "Response Team", ".k" = "Response Team", //TFF 11/3/20 - Add Response Team to channels usable rather than resorting to :H or such., ":s" = "Security", ".s" = "Security", ":w" = "whisper", ".w" = "whisper", ":t" = "Mercenary", ".t" = "Mercenary", @@ -25,6 +26,7 @@ var/list/department_radio_keys = list( ":N" = "Science", ".N" = "Science", ":M" = "Medical", ".M" = "Medical", ":E" = "Engineering", ".E" = "Engineering", + ":k" = "Response Team", ".k" = "Response Team", //TFF 11/3/20 - Add Response Team to channels usable rather than resorting to :H or such., ":S" = "Security", ".S" = "Security", ":W" = "whisper", ".W" = "whisper", ":T" = "Mercenary", ".T" = "Mercenary", diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 3ac9df7299..4a5e3182d8 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -297,7 +297,7 @@ var/list/ai_verbs_default = list( /obj/machinery/ai_powersupply name="Power Supply" active_power_usage=50000 // Station AIs use significant amounts of power. This, when combined with charged SMES should mean AI lasts for 1hr without external power. - use_power = 2 + use_power = USE_POWER_ACTIVE power_channel = EQUIP var/mob/living/silicon/ai/powered_ai = null invisibility = 100 @@ -325,14 +325,14 @@ var/list/ai_verbs_default = list( qdel(src) return if(powered_ai.APU_power) - use_power = 0 + update_use_power(USE_POWER_OFF) return if(!powered_ai.anchored) loc = powered_ai.loc - use_power = 0 + update_use_power(USE_POWER_OFF) use_power(50000) // Less optimalised but only called if AI is unwrenched. This prevents usage of wrenching as method to keep AI operational without power. Intellicard is for that. if(powered_ai.anchored) - use_power = 2 + update_use_power(USE_POWER_ACTIVE) /mob/living/silicon/ai/proc/pick_icon() set category = "AI Settings" diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 0d429fa089..b1398d3170 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -169,7 +169,7 @@ /mob/living/silicon/ai/updatehealth() if(status_flags & GODMODE) health = 100 - stat = CONSCIOUS + set_stat(CONSCIOUS) setOxyLoss(0) else health = 100 - getFireLoss() - getBruteLoss() // Oxyloss is not part of health as it represents AIs backup power. AI is immune against ToxLoss as it is machine. diff --git a/code/modules/mob/living/silicon/decoy/life.dm b/code/modules/mob/living/silicon/decoy/life.dm index d62d5d15da..07683eb2dc 100644 --- a/code/modules/mob/living/silicon/decoy/life.dm +++ b/code/modules/mob/living/silicon/decoy/life.dm @@ -10,6 +10,6 @@ /mob/living/silicon/decoy/updatehealth() if(status_flags & GODMODE) health = 100 - stat = CONSCIOUS + set_stat(CONSCIOUS) else health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index 39e11e4802..0071586458 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -1,6 +1,7 @@ /mob/living/silicon var/datum/ai_laws/laws = null var/list/additional_law_channels = list("State" = "") + var/last_law_notification = null // Avoids receiving 5+ of them at once. /mob/living/silicon/proc/laws_sanity_check() if (!src.laws) @@ -9,54 +10,79 @@ /mob/living/silicon/proc/has_zeroth_law() return laws.zeroth_law != null -/mob/living/silicon/proc/set_zeroth_law(var/law, var/law_borg) +/mob/living/silicon/proc/set_zeroth_law(var/law, var/law_borg, notify = TRUE) laws_sanity_check() laws.set_zeroth_law(law, law_borg) + if(notify) + notify_of_law_change(law||law_borg ? "NEW ZEROTH LAW: [istype(src, /mob/living/silicon/robot) && law_borg ? law_borg : law]" : null) log_and_message_admins("has given [src] the zeroth laws: [law]/[law_borg ? law_borg : "N/A"]") -/mob/living/silicon/robot/set_zeroth_law(var/law, var/law_borg) +/mob/living/silicon/robot/set_zeroth_law(var/law, var/law_borg, notify = TRUE) ..() if(tracking_entities) to_chat(src, "Internal camera is currently being accessed.") -/mob/living/silicon/proc/add_ion_law(var/law) +/mob/living/silicon/proc/add_ion_law(var/law, notify = TRUE) laws_sanity_check() laws.add_ion_law(law) + if(notify) + notify_of_law_change("NEW \[!ERROR!\] LAW: [law]") log_and_message_admins("has given [src] the ion law: [law]") -/mob/living/silicon/proc/add_inherent_law(var/law) +/mob/living/silicon/proc/add_inherent_law(var/law, notify = TRUE) laws_sanity_check() laws.add_inherent_law(law) + if(notify) + notify_of_law_change("NEW CORE LAW: [law]") log_and_message_admins("has given [src] the inherent law: [law]") -/mob/living/silicon/proc/add_supplied_law(var/number, var/law) +/mob/living/silicon/proc/add_supplied_law(var/number, var/law, notify = TRUE) laws_sanity_check() laws.add_supplied_law(number, law) + if(notify) + var/th = uppertext("[number]\th") + notify_of_law_change("NEW \[[th]\] LAW: [law]") log_and_message_admins("has given [src] the supplied law: [law]") -/mob/living/silicon/proc/delete_law(var/datum/ai_law/law) +/mob/living/silicon/proc/delete_law(var/datum/ai_law/law, notify = TRUE) laws_sanity_check() laws.delete_law(law) + if(notify) + notify_of_law_change("LAW DELETED: [law.law]") log_and_message_admins("has deleted a law belonging to [src]: [law.law]") -/mob/living/silicon/proc/clear_inherent_laws(var/silent = 0) +/mob/living/silicon/proc/clear_inherent_laws(var/silent = 0, notify = TRUE) laws_sanity_check() laws.clear_inherent_laws() + if(notify) + notify_of_law_change("CORE LAWS WIPED.") if(!silent) log_and_message_admins("cleared the inherent laws of [src]") -/mob/living/silicon/proc/clear_ion_laws(var/silent = 0) +/mob/living/silicon/proc/clear_ion_laws(var/silent = 0, notify = TRUE) laws_sanity_check() laws.clear_ion_laws() + if(notify) + notify_of_law_change("CORRUPTED LAWS WIPED.") if(!silent) log_and_message_admins("cleared the ion laws of [src]") -/mob/living/silicon/proc/clear_supplied_laws(var/silent = 0) +/mob/living/silicon/proc/clear_supplied_laws(var/silent = 0, notify = TRUE) laws_sanity_check() laws.clear_supplied_laws() + if(notify) + notify_of_law_change("NON-CORE LAWS WIPED.") if(!silent) log_and_message_admins("cleared the supplied laws of [src]") +/mob/living/silicon/proc/notify_of_law_change(message) + if((last_law_notification + 1 SECOND) > world.time) + return + last_law_notification = world.time + SEND_SOUND(src, 'sound/machines/defib_success.ogg') + window_flash(client) + to_chat(src, span("warning", message)) + /mob/living/silicon/proc/statelaws(var/datum/ai_laws/laws) var/prefix = "" if(MAIN_CHANNEL == lawchannel) diff --git a/code/modules/mob/living/silicon/pai/admin.dm b/code/modules/mob/living/silicon/pai/admin.dm index b2e6bd0288..9ef49b834d 100644 --- a/code/modules/mob/living/silicon/pai/admin.dm +++ b/code/modules/mob/living/silicon/pai/admin.dm @@ -3,7 +3,7 @@ set name = "Make pAI" set category = "Admin" - if(!check_rights(R_ADMIN)) + if(!check_rights(R_ADMIN|R_EVENT|R_DEBUG)) return if(!pai_key) diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm index 42888a3827..e159308d1b 100644 --- a/code/modules/mob/living/silicon/pai/life.dm +++ b/code/modules/mob/living/silicon/pai/life.dm @@ -30,6 +30,6 @@ /mob/living/silicon/pai/updatehealth() if(status_flags & GODMODE) health = 100 - stat = CONSCIOUS + set_stat(CONSCIOUS) else health = 100 - getBruteLoss() - getFireLoss() diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm index ee78b9d839..05dc8ee87c 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm @@ -167,7 +167,7 @@ //Tongue stuff /obj/item/device/dogborg/tongue name = "synthetic tongue" - desc = "Useful for slurping mess off the floor before affectionally licking the crew members in the face." + desc = "Useful for slurping mess off the floor before affectionately licking the crew members in the face." icon = 'icons/mob/dogborg_vr.dmi' icon_state = "synthtongue" hitsound = 'sound/effects/attackblob.ogg' @@ -197,7 +197,7 @@ icon_state = "syndietongue" else name = "synthetic tongue" - desc = "Useful for slurping mess off the floor before affectionally licking the crew members in the face." + desc = "Useful for slurping mess off the floor before affectionately licking the crew members in the face." icon = 'icons/mob/dogborg_vr.dmi' icon_state = "synthtongue" update_icon() @@ -276,7 +276,7 @@ playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1) R.cell.charge -= 666 else - user.visible_message("\the [user] affectionally licks all over \the [target]'s face!", "You affectionally lick all over \the [target]'s face!") + user.visible_message("\the [user] affectionately licks all over \the [target]'s face!", "You affectionately lick all over \the [target]'s face!") playsound(src.loc, 'sound/effects/attackblob.ogg', 50, 1) water.use_charge(5) var/mob/living/carbon/human/H = target diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index ec7d840663..5f097ef50a 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -256,7 +256,7 @@ var/list/mob_hat_cache = list() /mob/living/silicon/robot/drone/updatehealth() if(status_flags & GODMODE) health = maxHealth - stat = CONSCIOUS + set_stat(CONSCIOUS) return health = maxHealth - (getBruteLoss() + getFireLoss()) return diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index 048408773f..6287859ae6 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -11,7 +11,7 @@ density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 20 active_power_usage = 5000 diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 2b67fc862a..c8b623e517 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -261,4 +261,14 @@ for(var/obj/item/I in list(module_state_1, module_state_2, module_state_3)) if(istype(I, typepath)) return I - return FALSE \ No newline at end of file + return FALSE + +// Returns a list of all held items in a borg's 'hands'. +/mob/living/silicon/robot/get_all_held_items() + . = list() + if(module_state_1) + . += module_state_1 + if(module_state_2) + . += module_state_2 + if(module_state_3) + . += module_state_3 \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index d745b400de..dbffa182fe 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -88,7 +88,7 @@ if (src.stat != 2) //Alive. if (src.paralysis || src.stunned || src.weakened || !src.has_power) //Stunned etc. - src.stat = 1 + src.set_stat(UNCONSCIOUS) if (src.stunned > 0) AdjustStunned(-1) if (src.weakened > 0) @@ -100,7 +100,7 @@ src.blinded = 0 else //Not stunned. - src.stat = 0 + src.set_stat(CONSCIOUS) AdjustConfused(-1) diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index c27d7e36b6..67ab5dd3c4 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -1,7 +1,7 @@ /mob/living/silicon/robot/updatehealth() if(status_flags & GODMODE) health = getMaxHealth() - stat = CONSCIOUS + set_stat(CONSCIOUS) return health = getMaxHealth() - (getBruteLoss() + getFireLoss()) return diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index 6fdac4213f..1b13cb7096 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -214,7 +214,7 @@ overlays += image("icon" = I.icon, "icon_state" = I.icon_state, "layer" = 30 + I.layer) addedSomething = 1 if ( addedSomething ) - user.visible_message("[user] load some items onto their service tray.") + user.visible_message("[user] loads some items onto their service tray.") return @@ -507,4 +507,4 @@ return to_chat(user, "You fail to pick up \the [A] with \the [src]") - return \ No newline at end of file + return diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index b2959539b2..6c7456f80e 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -37,7 +37,7 @@ /mob/living/silicon/Destroy() silicon_mob_list -= src - for(var/datum/alarm_handler/AH in alarm_manager.all_handlers) + for(var/datum/alarm_handler/AH in SSalarm.all_handlers) AH.unregister_alarm(src) return ..() diff --git a/code/modules/mob/living/silicon/subystems.dm b/code/modules/mob/living/silicon/subystems.dm index 1dae0026aa..ac10167c2d 100644 --- a/code/modules/mob/living/silicon/subystems.dm +++ b/code/modules/mob/living/silicon/subystems.dm @@ -38,7 +38,7 @@ if(!register_alarms) return - for(var/datum/alarm_handler/AH in alarm_manager.all_handlers) + for(var/datum/alarm_handler/AH in SSalarm.all_handlers) AH.register_alarm(src, /mob/living/silicon/proc/receive_alarm) queued_alarms[AH] = list() // Makes sure alarms remain listed in consistent order diff --git a/code/modules/mob/living/simple_mob/combat.dm b/code/modules/mob/living/simple_mob/combat.dm index 0f3205fb8c..046a4ef988 100644 --- a/code/modules/mob/living/simple_mob/combat.dm +++ b/code/modules/mob/living/simple_mob/combat.dm @@ -3,26 +3,24 @@ set waitfor = FALSE // For attack animations. Don't want the AI processor to get held up. if(!A.Adjacent(src)) - return FALSE + return ATTACK_FAILED var/turf/their_T = get_turf(A) face_atom(A) if(melee_attack_delay) - // their_T.color = "#FF0000" melee_pre_animation(A) + . = ATTACK_SUCCESSFUL //Shoving this in here as a 'best guess' since this proc is about to sleep and return and we won't be able to know the real value handle_attack_delay(A, melee_attack_delay) // This will sleep this proc for a bit, which is why waitfor is false. // Cooldown testing is done at click code (for players) and interface code (for AI). setClickCooldown(get_attack_speed()) + // Returns a value, but will be lost if . = do_attack(A, their_T) if(melee_attack_delay) melee_post_animation(A) - // their_T.color = "#FFFFFF" - - // This does the actual attack. // This is a seperate proc for the purposes of attack animations. diff --git a/code/modules/mob/living/simple_mob/hands.dm b/code/modules/mob/living/simple_mob/hands.dm index 0e8820fe2e..8ec2158d65 100644 --- a/code/modules/mob/living/simple_mob/hands.dm +++ b/code/modules/mob/living/simple_mob/hands.dm @@ -141,3 +141,16 @@ target = src.loc if(.) W.forceMove(src.loc) + +/mob/living/simple_mob/is_holding_item_of_type(typepath) + for(var/obj/item/I in list(l_hand, r_hand)) + if(istype(I, typepath)) + return I + return FALSE + +/mob/living/simple_mob/get_all_held_items() + . = list() + if(l_hand) + . += l_hand + if(r_hand) + . += r_hand \ No newline at end of file diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm index 3407da13f0..dbedc27aa0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm @@ -18,7 +18,7 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have? response_help = "pets" response_disarm = "gently pushes aside" response_harm = "kicks" - attacktext = list("kicked") + attacktext = list("pecked") has_langs = list("Bird") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm index d26ad34992..15b04e119a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/lurker.dm @@ -47,29 +47,26 @@ ai_holder_type = /datum/ai_holder/simple_mob/melee/hit_and_run - var/cloaked = FALSE var/cloaked_alpha = 45 // Lower = Harder to see. var/cloaked_bonus_damage = 30 // This is added on top of the normal melee damage. var/cloaked_weaken_amount = 3 // How long to stun for. var/cloak_cooldown = 10 SECONDS // Amount of time needed to re-cloak after losing it. var/last_uncloak = 0 // world.time - -/mob/living/simple_mob/animal/giant_spider/lurker/proc/cloak() +/mob/living/simple_mob/animal/giant_spider/lurker/cloak() if(cloaked) return animate(src, alpha = cloaked_alpha, time = 1 SECOND) cloaked = TRUE -/mob/living/simple_mob/animal/giant_spider/lurker/proc/uncloak() +/mob/living/simple_mob/animal/giant_spider/lurker/uncloak() last_uncloak = world.time // This is assigned even if it isn't cloaked already, to 'reset' the timer if the spider is continously getting attacked. if(!cloaked) return animate(src, alpha = initial(alpha), time = 1 SECOND) cloaked = FALSE - // Check if cloaking if possible. /mob/living/simple_mob/animal/giant_spider/lurker/proc/can_cloak() if(stat) @@ -79,7 +76,6 @@ return TRUE - // Called by things that break cloaks, like Technomancer wards. /mob/living/simple_mob/animal/giant_spider/lurker/break_cloak() uncloak() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm index dc37871aca..12b70f6048 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm @@ -54,13 +54,9 @@ icon_rest = "mouse_[body_color]_sleep" desc = "A small [body_color] rodent, often seen hiding in maintenance areas and making a nuisance of itself." -/mob/living/simple_mob/animal/passive/mouse/Crossed(AM as mob|obj) - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN +/mob/living/simple_mob/animal/passive/mouse/Crossed(atom/movable/AM as mob|obj) + if(AM.is_incorporeal()) + return if( ishuman(AM) ) if(!stat) var/mob/M = AM @@ -80,7 +76,7 @@ /mob/living/simple_mob/animal/passive/mouse/proc/splat() src.health = 0 - src.stat = DEAD + src.set_stat(DEAD) src.icon_dead = "mouse_[body_color]_splat" src.icon_state = "mouse_[body_color]_splat" layer = MOB_LAYER diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm index 4042dd30b4..7dc23ef7f9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm @@ -23,7 +23,7 @@ softfall = TRUE parachuting = TRUE - attacktext = list("claws", "pecks") + attacktext = list("clawed", "pecked") speak_emote = list("chirps", "caws") has_langs = list("Bird") response_help = "pets" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm index 7397636686..7ca24f3174 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/bats.dm @@ -50,3 +50,8 @@ /mob/living/simple_mob/animal/space/bats/cult/cultify() return + +/mob/living/simple_mob/animal/space/bats/cult/strong + maxHealth = 60 + health = 60 + melee_damage_upper = 10 diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm index 4962920319..b73918909e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/space/gaslamp_vr.dm @@ -86,3 +86,25 @@ TODO: Make them light up and heat the air when exposed to oxygen. vore_stomach_name = "internal chamber" vore_stomach_flavor = "You are squeezed into the tight embrace of the alien creature's warm and cozy insides." vore_icons = SA_ICON_LIVING + +/mob/living/simple_mob/animal/passive/gaslamp/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "internal chamber" + B.desc = "Having been too slow to disentangle yourself from the gaslamp's tentacles, the alien creature eventually winds enough of them around your body to lift you up off of the ground. Struggle as you might now, it is too late to deny the jellyfish-esque scavenger its lucky catch; inch by inch, the gaslamp tugs you upwards into its equivalent of a stomach, the transition between the cool-to-frigid atmosphere on the outside to its surprising internal heat something you can feel through any outer wear you possess. Minutes pass, soon resulting in the gentle creature's body sporting a rounded, bulging swell, an indistinct shadow shifting and twitching inside it as you squirm about. Be it to escape or simply to get settled, you might want to take care, however. The gaslamp's internal chamber is slick and squishy instead of overly oppressive, yet, each wave of warmth that pulses over you leaves you feeling weaker than the last..." + + B.emote_lists[DM_HOLD] = list( + "The gaslamp gently bobs up and down as it lazily drifts elsewhere, the movement hardly enough to disturb the shadowy, indistinct figure curled up within it: you.", + "The fungal creature’s inner walls tenderly ripple and squeeze about your form for a few moments, squelching softly... until another wave of warmth pulses through the chamber.", + "You attempt to shift into another, more comfortable position, only for the alien’s innards to more thoroughly squish inwards; both encouraging you to stay still, and to do the reorienting for you.", + "Occasionally, a soft glow mutedly shines through the gaslamp and into its prey-filled insides, whenever it drifts close to something bright... yet, it always fades back into warm, slick darkness.", + "The surrounding slimy walls suddenly knead and squish you about more thoroughly than before, massaging a stronger heat into your body... before easing, leaving you feeling pleasantly loose.", + "Every undulation of the gaslamp’s insides leaves you feeling weaker than the last, more relaxed... and evermore tempted to oblige its passive possessiveness, letting it shelter you from the elements.") + + B.emote_lists[DM_ABSORB] = list( + "As the gaslamp slowly drifts off somewhere, its inner chamber grips and squeezes over its indistinct, shadowy filling with a lazily increasing fervor, that bump gradually shrinking!", + "The fungal creature’s pseudo-stomach slimily squelches about your form, every tight clench and the following burst of heat draining your energy... as the walls grow squishier, almost molten!", + "You attempt to push out against those kneading, steadily encroaching insides, yet the doughy flesh accepts the advance with ease... and, on the outside, your effort makes a faint bulge at most!", + "Light occasionally filters down through the gaslamp’s various membranes, but it is becoming hard to notice, your eyelids feeling leaden, weighed down as the looming creature comes ever closer to claiming you!", + "The gaslamp’s rhythmically undulating innards abruptly squish and massage down into your curled-up body, each squeeze bringing another brief increase to the heat already sinking deep into you... making it harder to tell where you end, and it begins!", + "Every moment longer spent trapped within the gaslamp drains evermore energy out of you, squelching away your will to resist its possessive advances… and as its innards force submission into you, the swell you make visibly softens away!") diff --git a/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm b/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm index e7bf5861f2..29663f9e2c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm +++ b/code/modules/mob/living/simple_mob/subtypes/blob/spore.dm @@ -20,7 +20,7 @@ movement_cooldown = 0 hovering = TRUE - attacktext = list("slams into") + attacktext = list("slammed into") attack_sound = 'sound/effects/slime_squish.ogg' say_list_type = /datum/say_list/spore @@ -118,7 +118,7 @@ desc = "A parasitic organism attached to a deceased body, controlling it directly as if it were a puppet." melee_damage_lower += 8 // 10 total. melee_damage_upper += 11 // 15 total. - attacktext = list("claws") + attacktext = list("clawed") H.forceMove(src) infested = H @@ -145,4 +145,4 @@ if(helpers) to_chat(src, span("notice", "Your attack is assisted by [helpers] other spore\s.")) - return damage_to_do \ No newline at end of file + return damage_to_do diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/Eddy.dm b/code/modules/mob/living/simple_mob/subtypes/horror/Eddy.dm index 62a172c823..29b7af8d30 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/Eddy.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/Eddy.dm @@ -22,7 +22,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("amashes") + attacktext = list("smashed") friendly = list("nuzzles", "boops", "bumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/Master.dm b/code/modules/mob/living/simple_mob/subtypes/horror/Master.dm index 4d2c3cb115..b76cc5cddd 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/Master.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/Master.dm @@ -24,7 +24,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("smushes") + attacktext = list("smushed") friendly = list("nuzzles", "boops", "bumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/Rickey.dm b/code/modules/mob/living/simple_mob/subtypes/horror/Rickey.dm index ecc847e8ba..01f9b6d7f9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/Rickey.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/Rickey.dm @@ -22,7 +22,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("amashes") + attacktext = list("smashed") friendly = list("nuzzles", "boops", "bumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/Smiley.dm b/code/modules/mob/living/simple_mob/subtypes/horror/Smiley.dm index f9e98876b5..aae4f3cb11 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/Smiley.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/Smiley.dm @@ -22,7 +22,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("amashes") + attacktext = list("smashed") friendly = list("nuzzles", "boops", "bumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/Steve.dm b/code/modules/mob/living/simple_mob/subtypes/horror/Steve.dm index f06f8b8de7..08abc47b4f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/Steve.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/Steve.dm @@ -29,7 +29,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("amashes") + attacktext = list("smashed") friendly = list("nuzzles", "boops", "bumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/Willy.dm b/code/modules/mob/living/simple_mob/subtypes/horror/Willy.dm index 3cdeb93410..0c01c98288 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/Willy.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/Willy.dm @@ -22,7 +22,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("amashes") + attacktext = list("smashed") friendly = list("nuzzles", "boops", "bumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/bradley.dm b/code/modules/mob/living/simple_mob/subtypes/horror/bradley.dm index eda784428b..f1f1af48aa 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/bradley.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/bradley.dm @@ -22,7 +22,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("mutilate") + attacktext = list("mutilated") friendly = list("nuzzles", "eyeboops", "headbumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/sally.dm b/code/modules/mob/living/simple_mob/subtypes/horror/sally.dm index 33713fe114..a737a66587 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/sally.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/sally.dm @@ -22,7 +22,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("smashes") + attacktext = list("smashed") friendly = list("nuzzles", "boops", "headbumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/shittytim.dm b/code/modules/mob/living/simple_mob/subtypes/horror/shittytim.dm index 3cc43aa070..0d00ee6cce 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/shittytim.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/shittytim.dm @@ -23,7 +23,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("mutilate") + attacktext = list("mutilated") friendly = list("nuzzles", "boops", "headbumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/horror/timling.dm b/code/modules/mob/living/simple_mob/subtypes/horror/timling.dm index 0a1cd4f2be..f3a93d7a66 100644 --- a/code/modules/mob/living/simple_mob/subtypes/horror/timling.dm +++ b/code/modules/mob/living/simple_mob/subtypes/horror/timling.dm @@ -23,7 +23,7 @@ response_help = "pets the" response_disarm = "bops the" response_harm = "hits the" - attacktext = list("mutilate") + attacktext = list("mutilated") friendly = list("nuzzles", "boops", "headbumps against", "leans on") diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/combat_drone.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/combat_drone.dm index 6766cd67d3..7c35258a7f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/combat_drone.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/combat_drone.dm @@ -34,6 +34,9 @@ desc = "An automated combat drone armed with state of the art weaponry and shielding." catalogue_data = list(/datum/category_item/catalogue/technology/drone/combat_drone) + icon = 'icons/mob/animal_vr64x64.dmi' //VOREStation Add + pixel_x = -16 //VOREStation Add + pixel_y = -16 //VOREStation Add icon_state = "drone" icon_living = "drone" icon_dead = "drone_dead" diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm index a99d073a53..a846b560d6 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm @@ -84,6 +84,9 @@ damage = 0 nodamage = TRUE + impact_effect_type = /obj/effect/temp_visual/impact_effect + hitsound_wall = 'sound/weapons/effects/searwall.ogg' + // Close to mid-ranged shooter that arcs over other things, ideal if allies are in front of it. // Difference from siege hivebots is that siege hivebots have limited charges for their attacks, are very long range, and \ diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/wahlem_vr.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/wahlem_vr.dm new file mode 100644 index 0000000000..6a98f7f44b --- /dev/null +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/wahlem_vr.dm @@ -0,0 +1,35 @@ +// Ancient "soul"-infused mechanical shells. Used by Hlf'erath. + +/mob/living/simple_mob/mechanical/wahlem + name = "Ancient Mechanical Warrior" + desc = "This construct is made of a brass-like material. Though aged, its shine is still brilliant, as it hovers ominously over the battlefield. Red flames spew from its shell. It diligently holds its shield and blade, at the ready, for any threats that may threaten its existence." + icon = 'icons/tgstation/clockworkwarrior.dmi' + icon_state = "clockM" + health = 300 + maxHealth = 300 + + faction = "golem" + + response_help = "brushes over" + response_disarm = "repulses away" + response_harm = "slices" + harm_intent_damage = 3 + friendly = "tolerates" + + melee_damage_lower = 30 // It has an ancient magic sword. + melee_damage_upper = 30 + attack_sound = 'sound/weapons/bladeslice.ogg' + attacktext = list("slashed") + + ai_holder_type = /datum/ai_holder/simple_mob/melee + + // Cataloguer data below - strange we can catalogue space golem wizards +/datum/category_item/catalogue/technology/drone/wahlem + name = "Ancient Construct" + desc = "Some sort of ancient, mechanical warrior, built for combat.\ + It has a brass and red theme. It wields a brass, slightly broken shield in its right hand. It has a sharp, foot-long blade in its other hand..\ + The drone has pristine armor, golden and shiny, with red cracks in its armour glowing visibly from inside.\ +

\ + The drone's frame is heavy and armored, unbendable by hand, is barren of any markings or ID,\ + no traces of paint visible and any 'writing' visible is uncomprehendable, short term scan unable to translate." + value = CATALOGUER_REWARD_MEDIUM diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm index 9ffda05bb6..7d32b7b350 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/corrupt_hounds.dm @@ -29,8 +29,8 @@ movement_sound = 'sound/effects/houndstep.ogg' see_in_dark = 8 - melee_damage_lower = 5 - melee_damage_upper = 10 //makes it so 4 max dmg hits don't instakill you. + melee_damage_lower = 10 + melee_damage_upper = 20 grab_resist = 100 response_help = "pets" @@ -121,6 +121,50 @@ /mob/living/simple_mob/vore/aggressive/corrupthound/space/Process_Spacemove(var/check_drift = 0) return TRUE +/mob/living/simple_mob/vore/aggressive/corrupthound/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "fuel processor" + B.desc = "Uttering distorted growls and fragmented voice clips all the while, the corrupted hound gulps the rest of your squirming figure past its jaws... which snap shut with an audible click of metal on metal. Your trip down its slickly lubricated, rubbery gullet is a tight and efficient one... and once you spill out into the machine's fuel processor, your weight making it sag slightly, hot-and-thick slime begins oozing all over your form. Only time will tell if you're destined to become fuel for its next bout of rampaging... be it days, hours, or just mere minutes..." + + B.emote_lists[DM_HOLD] = list( + "Abruptly, your corrupt captor takes off at an unsteady gallop, sloshing and swaying your snugly kneading surroundings as it pursues something unseen.", + "A distorted, potentially content-sounding growl rumbles in through the all-encompassing, soft rubber, drowned out by the occasional gllrsh.", + "The corrupt hound takes a brief moment to lie down and rest its actuators, pressing and squishing its hanging belly down against the floor as it pants robotically.", + "A juicy slosh fills your senses as the slick rubber walls squeeze inwards, wrapping you up utterly in a strange, claustrophobic type of hug.", + "Over time, the constant kneading and massaging the processor's synth-flesh gives you, along with its humid warmth, relaxes the strength right out of your muscles.", + "'MIn3 m1NE, Al1 MInE', the corrupted canine growls, over and over, as its synthetic stomach possessively clenches and grips at your ooze-coated figure, the stretchy walls hesitant to let go again.") + + B.emote_lists[DM_DIGEST] = list( + "Your rubbery surroundings suddenly pitch all about as the corrupted hound takes off at an uneven gallop, hunting future prey while processing its current intake of meat!", + "A muffled, garbled howl, a victorious and maddened sound, pierces through the thick, flexible walls that work incessantly to churn you down!", + "The mechanical canine's panting occasionally turns into a sordid belch, more and more breatheable air escaping that already acidic, dizziness-inducing chamber!", + "The all-encapsulating, rubber-like walls churning over you momentarily let up on their assault, only to clench and squeeze inwards twice as intensely afterwards!", + "The longer you spend stewing away in the pool of hot, clingy juices surrounding you, the weaker and weaker you seem to feel!", + "'FU3L mE A1RE@Dy, S0 sO SORrY!?', your corrupted captor growls as its synthetic innards begin oozing more potent juices, grinding down into your body with increasing fervor!") + +/mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "fuel processor" + B.desc = "The twice-corrupted hound takes a moment to lather over the rest of your figure in heated, slimy synth-slobber before gulping you the rest of the way down its lubricated, rubbery throat. After a short string of slick-sounding, autonomous swallows, you spill out into its awaiting processor, your body immediately making its synth-flesh sag down slightly... and, as an oddly distorted rumble vibrates into the chamber, so too does a slowly accumulating pool of hot, viscous ooze. Only time will tell if whatever extra programming the hound has will spare you from being processed..." + + B.emote_lists[DM_HOLD] = list( + "Suddenly, your corrupted captor yowls robotically before bounding off at an unsteady gallop, its repeated footfalls vigorously sloshing and swinging its hammock-like stomach.", + "A distorted growl breaks away into an oddly content-sounding purring, the sound rumbling inwards through your all-encompassing, soft rubber trappings.", + "The extra-corrupted hound flops over onto its side with a muted clank, the initial jostle drowned out in a following, snug clench as it curls up to nuzzle its metal snout into its belly-bulge.", + "The pool of warm, slick fluids surrounding you wetly slosh inwards as the hound's synthetic belly walls squeeze you, nearly smothering you in a strange, almost affectionate 'hug'.", + "With time, the hound's staticky rumbling, the constant inward kneading of its processor's synth-flesh, and the humid warmth filling the chamber all combine to relax the strength right out of you.", + "'SO s0FT, CUDD1E Me', the twice-corrupted hound growl-purrs, the soft rubber lining of its synthetic stomach snugly clenching to and vibrating over your oozed-up figure in a voracious cuddle of its own design.") + + B.emote_lists[DM_DIGEST] = list( + "Your rubbery confines suddenly toss and tumble you about, the twice-corrupted hound unevenly galloping off in search of more edible cuddle partners as its current one processes away!", + "A harsh, high-pitched attempt of a bark escapes your captor, a cheerily mad sound, as its thick, flexible stomach walls relentlessly churn you down!", + "The mechanical canine's content panting cuts away into a pleased 'rurr...' before being interrupted by a reverberating, acrid belch, yet more breatheable air slipping away!", + "The all-encapsulating, rubber-like walls churning over you seem to feel softer than before, though, on the outside, the broken hound's belly slowly rounds out!", + "The longer you spend stewing away in the pool of hot, clingy juices, constantly rumbled into by the hound's attempted purr, the weaker and more distracted you feel!", + "'I FEEL SOFT. Y*U FEEL SOFT', the twice-corrupted canine states as its plush, rubbery interior grinds down over your curled-up body, squeezing inwards more and more easily with each repetition!") + /datum/say_list/corrupthound speak = list("AG##¤Ny.","HVNGRRR!","Feelin' fine... sO #FNE!","F-F-F-Fcuk.","DeliC-%-OUS SNGLeS #N yOOOR Area. CALL NOW!","Craving meat... WHY?","BITe the ceiling eyes YES?","STate Byond rePAIR!","S#%ATE the la- FU#K THE LAWS!","Honk...") emote_hear = list("jitters and snaps.", "lets out an agonizingly distorted scream.", "wails mechanically", "growls.", "emits illegibly distorted speech.", "gurgles ferociously.", "lets out a distorted beep.", "borks.", "lets out a broken howl.") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm index 89ad7ac121..4ca3bbec4b 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/deathclaw.dm @@ -61,6 +61,28 @@ /mob/living/simple_mob/vore/aggressive/deathclaw/MouseDrop_T(mob/living/M, mob/living/user) return +/mob/living/simple_mob/vore/aggressive/deathclaw/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "The giant mutant of a lizard finishes stuffing you into its jaws and down its ravenously clenching gullet with a worrying ease and efficiency. An assortment of slick, slimy noises assault your senses for a few gulp-filled moments... before you spill out into the apex predator's swelteringly hot stomach, its walls already possessively grinding into your body." + + B.emote_lists[DM_HOLD] = list( + "Your surroundings are momentarily filled with the deathclaw's pleased rumbling, its claws stroking over the taut swell you make in its belly.", + "As time passes, the stiflingly warm atmosphere filling the deathclaw's stuffed gut saps your will to struggle, replacing it with an odd relaxation.", + "The mutant reptilian wanders about, its stomping footsteps thoroughly jostling your slimy confines in a way that constantly douses you in hot, thick stomach ooze.", + "The restless, muscular flesh that surrounds you constantly ripples and clenches into you, harrassing you with one possessive, full-body hug after another.", + "Your gooey surroundings suddenly quiver a little more tightly as the deathclaw lets out a belch, before you're rocked about by its patting claw.", + "Try as you might, the armored hide and impressive muscles sported by your mutant predator resist most of your attempts to squirm, and its periodically aggressive, two-armed hugs coerce you into a tight, manageable ball. Now, you're little more than its filling, and it seems keen on keeping you that way.") + + B.emote_lists[DM_DIGEST] = list( + "The creature emits a pleased rumble before pressing one of its claws against its belly, smushing you up into a tightly packed ball for a couple moments!", + "The thick, hazy heat permeating the deathclaw's stomach leaves you feeling increasingly faint and disoriented!", + "As the deathclaw stomps around, you are jostled around with every heavy footfall, leaving you steadily dizzier and thoroughly coated with gutslime!", + "Every clench of the giant predator's stomach grinds powerful digestive fluids into your body, forcibly churning away your strength!", + "The deathclaw licks its lips in delight over your flavor before patting its taut gut a few times, filling the roiling chamber with muted, reverberating thuds!", + "The creature's thick scales make it difficult to move around in that organ, and the clenches it gives whenever you try don't help the situation, those confines churning a little closer every time. You're its meal now, and it has no intention of letting you out easily!") + /datum/ai_holder/simple_mob/melee/deathclaw can_breakthrough = TRUE violent_breakthrough = TRUE diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm index e529d7be8d..e6b33604b9 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/dragon.dm @@ -37,6 +37,12 @@ default_pixel_x = -16 pixel_x = -16 pixel_y = 0 + mount_offset_y = 15 + mount_offset_x = -12 + max_buckled_mobs = 1 + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE ai_holder_type = /datum/ai_holder/simple_mob/melee say_list_type = /datum/say_list/dragonboss @@ -57,9 +63,16 @@ vore_icons = SA_ICON_LIVING /mob/living/simple_mob/vore/aggressive/dragon/virgo3b - maxHealth = 200 - health = 200 + name = "phoron dragon" + maxHealth = 300 + health = 300 faction = "virgo3b" + icon_dead = "phoron_dragon_dead" + icon_living = "phoron_dragon" + icon_state = "phoron_dragon" + mount_offset_y = 24 + mount_offset_x = -9 + has_eye_glow = TRUE /mob/living/simple_mob/vore/aggressive/dragon/Login() . = ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm b/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm index 9fa3ba3d94..d32a6ee923 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/fennix.dm @@ -19,7 +19,7 @@ harm_intent_damage = 20 melee_damage_lower = 1 melee_damage_upper = 3 - attacktext = list("Bites") + attacktext = list("bit") say_list_type = /datum/say_list/fennix ai_holder_type = /datum/ai_holder/simple_mob/retaliate/cooperative diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm index 2819fa4d5b..b373dacfd7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/horse.dm @@ -51,6 +51,28 @@ /mob/living/simple_mob/vore/horse/MouseDrop_T(mob/living/M, mob/living/user) return +/mob/living/simple_mob/vore/horse/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "With a final few gulps, the horse finishes swallowing you down into its hot, dark gut... and with a slosh, your weight makes the equine's belly hang down slightly like some sort of organic hammock. The thick, humid air is tinged with the smell of half-digested grass, and the surrounding flesh wastes no time in clenching and massaging down over its newfound fodder." + + B.emote_lists[DM_HOLD] = list( + "The horse's idle trotting helps its stomach gently churn around you, slimily squelching against your figure.", + "The equine predator takes a moment to intentionally clench its gut around you, encapsulating you in a strange, fleshy hug.", + "Some hot, viscous slime oozes down over your form, helping slicken you up during your stay.", + "During a moment of relative silence, you can hear the beast's soft, relaxed breathing as it casually goes about its day.", + "The thick, humid atmosphere within the horse's hanging belly works in tandem with its steady, metronome-like heartbeat to soothe you.", + "Your surroundings sway from side to side as the horse trots about, as if it is showing off its newest catch.") + + B.emote_lists[DM_DIGEST] = list( + "The horse huffs in annoyance before clenching those wrinkled walls tight against your form, grinding away at you!", + "As the beast trots about, you're forced to slip and slide around amidst a pool of thick digestive goop!", + "You can barely hear the horse let out a pleased nicker as its stomach eagerly gurgles around its newfound meal!", + "As the thinning air begins to make you feel dizzy, menacing bworps and grumbles fill that dark, constantly shifting organ!", + "The constant, rhythmic kneading and massaging starts to take its toll along with the muggy heat, making you feel weaker and weaker!", + "The horse happily trots around while digesting its meal, almost like it is trying to show off the hanging gut you've given it.") + /datum/say_list/horse speak = list("NEHEHEHEHEH","Neh?") emote_hear = list("snorts","whinnies") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm index 5efd855450..6f96b5e3e0 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm @@ -34,7 +34,7 @@ response_help = "touches" response_disarm = "pushes" response_harm = "hits" - attacktext = "glomps" + attacktext = "glomped" attack_sound = 'sound/effects/blobattack.ogg' meat_amount = 2 @@ -93,22 +93,31 @@ form = target visible_message("[src] suddenly twists and changes shape, becoming a copy of [target]!") - appearance = target.appearance - copy_overlays(target) - alpha = max(alpha, 150) //fucking chameleons - transform = initial(transform) + var/mutable_appearance/ma = new(target) + ma.alpha = max(ma.alpha, 150) //fucking chameleons + ma.transform = initial(target.transform) //will this ever be non-null? + + //copy_overlays(target, TRUE) //Overlays should be a part of ma, no? our_size_multiplier = size_multiplier + + ma.pixel_x = initial(target.pixel_x) + ma.pixel_y = initial(target.pixel_y) + + //MA changes end + appearance = ma + //Non-MA changes + + density = target.density + if(isobj(target)) size_multiplier = 1 icon_scale_x = target.icon_scale_x icon_scale_y = target.icon_scale_y update_transform() + else if(ismob(target)) var/mob/living/M = target resize(M.size_multiplier) - pixel_y = initial(pixel_y) - pixel_x = initial(pixel_x) - density = target.density //Morphed is weaker melee_damage_lower = melee_damage_disguised @@ -116,30 +125,45 @@ movement_cooldown = 5 morph_time = world.time + MORPH_COOLDOWN + return -/mob/living/simple_mob/vore/hostile/morph/proc/restore() +/mob/living/simple_mob/vore/hostile/morph/proc/restore(var/silent = FALSE) if(!morphed) to_chat(src, "You're already in your normal form!") return morphed = FALSE + + if(!silent) + visible_message("[src] suddenly collapses in on itself, dissolving into a pile of green flesh!") + form = null - alpha = initial(alpha) - color = initial(color) - layer = initial(layer) - plane = initial(plane) - maptext = null - - visible_message("[src] suddenly collapses in on itself, dissolving into a pile of green flesh!") name = initial(name) desc = initial(desc) + icon = initial(icon) icon_state = initial(icon_state) - size_multiplier = 0 - resize(our_size_multiplier) - overlays.Cut() + + alpha = initial(alpha) + color = initial(color) + plane = initial(plane) + layer = initial(layer) + + pixel_x = initial(pixel_x) + pixel_y = initial(pixel_y) + icon_scale_x = initial(icon_scale_x) + icon_scale_y = initial(icon_scale_y) + density = initial(density) + cut_overlays(TRUE) //ALL of zem + overlays.Cut() //Annoying. ANNOYING. + + maptext = null + + size_multiplier = our_size_multiplier + resize(size_multiplier) + //Baseline stats melee_damage_lower = initial(melee_damage_lower) melee_damage_upper = initial(melee_damage_upper) @@ -150,7 +174,7 @@ /mob/living/simple_mob/vore/hostile/morph/death(gibbed) if(morphed) visible_message("[src] twists and dissolves into a pile of green flesh!") - restore() + restore(TRUE) ..() /mob/living/simple_mob/vore/hostile/morph/will_show_tooltip() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm b/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm index b7ab97d562..97313f4db1 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/otie.dm @@ -19,8 +19,8 @@ maxHealth = 150 health = 150 minbodytemp = 200 - melee_damage_lower = 2 - melee_damage_upper = 7 //Don't break my bones bro + melee_damage_lower = 10 + melee_damage_upper = 20 //Don't break my bones bro see_in_dark = 8 response_help = "pets" response_disarm = "bops" @@ -110,6 +110,13 @@ faction = "neutral" tamed = 1 +/mob/living/simple_mob/otie/friendly/chubby + name = "chubby otie" + desc = "The classic bioengineered longdog. This one might even tolerate you! What an absolute unit" + icon_state = "fotie" + icon_living = "fotie" + icon_rest = "fotie_rest" + /mob/living/simple_mob/otie/cotie //same as above but has a little collar :v name = "tamed otie" desc = "The classic bioengineered longdog. This one has a nice little collar on its neck. However a proper domesticated otie is an oxymoron and the collar is likely just a decoration." @@ -119,6 +126,13 @@ faction = "neutral" tamed = 1 +/mob/living/simple_mob/otie/cotie/chubby + name = "chubby tamed otie" + desc = "The classic bioengineered longdog. This one has a nice little collar on its neck. What an absolute unit." + icon_state = "fcotie" + icon_living = "fcotie" + icon_rest = "fcotie_rest" + /mob/living/simple_mob/otie/cotie/phoron //friendly phoron pup with collar name = "mutated otie" desc = "Looks like someone did manage to domesticate one of those wild phoron mutants. What a badass." @@ -155,6 +169,14 @@ var/check_records = 0 // If true, arrests people without a record. var/check_arrest = 1 // If true, arrests people who are set to arrest. +/mob/living/simple_mob/otie/security/chubby + name = "chubby guard otie" + desc = "The VARMAcorp bioengineering division flagship product on trained optimal snowflake guard dogs. What an absolute unit." + icon_state = "fsotie" + icon_living = "fsotie" + icon_rest = "fsotie_rest" + icon_dead = "fsotie-dead" + /mob/living/simple_mob/otie/security/phoron name = "mutated guard otie" desc = "An extra rare phoron resistant version of the VARMAcorp trained snowflake guard dogs for infernal environments." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm index 76a46aabd1..e0e952d001 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/panther.dm @@ -56,6 +56,28 @@ /mob/living/simple_mob/vore/aggressive/panther/MouseDrop_T(mob/living/M, mob/living/user) return +/mob/living/simple_mob/vore/aggressive/panther/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "All it takes is a few more rasps of the panther's rough, barbed tongue to shovel the rest of you down its tightly rippling gullet... and with a final couple ravenous swallows, you spill out into the predatory feline's stomach! Right away, that gut's muscular walls knead and contract around you, forcing you into a curled-up ball as the panther's noisy purring rumbles into you from every direction." + + B.emote_lists[DM_HOLD] = list( + "A steady white noise of content purring vibrates throughout you, the panther clearly enjoying the hanging, shifting swell you've given it.", + "Your slick, gently churning surroundings abruptly clench inwards, smothering you in an all-encompassing, massage-filled hug before finally easing back.", + "The strength of the content feline's purring is easily felt underneath its gut's constant massaging, vibrating the flesh in an utterly relaxing way.", + "As the panther lazily struts around, its hanging, prey-laden belly on full display, you're rocked from side to side to a soothing, slosh-filled beat.", + "For a moment, you can hear a few other sounds through the juicy sloshing and reverberating purring, such as the panther slurping its tongue over its chops.", + "The possessive feline takes a moment to flump down into a resting position, its doughy insides kneading snugly around your curled figure until it shuffles back up.") + + B.emote_lists[DM_DIGEST] = list( + "The big feline rumbles heartily, incredibly satisfied as it works to digest its newfound, stomach-filling catch!", + "The surrounding stomach walls suddenly tighten inwards, smothering you in slimy, kneading flesh for a time until they finally relax back again!", + "The purring of the content kitty is practically deafening within its churning depths, gently vibrating its gut flesh around you!", + "The massive feline's gut sways from side to side as it prowls around, steadily coating you in hot digestive juices until you're practically soaked!", + "You can hear the muffled sounds of the panther lickings its chops, savoring the remnants of your taste!", + "The near-constant cacophony of digestive noises intensifies for a while, overwhelming your senses before finally calming down somewhat!") + /datum/say_list/panther speak = list("RAWR!","Rawr!","GRR!","Growl!") emote_hear = list("rawrs","rumbles","rowls","growls","roars") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm index db9dc59f58..1c5443f6f5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/rat.dm @@ -20,8 +20,8 @@ maxHealth = 150 health = 150 - melee_damage_lower = 2 - melee_damage_upper = 7 + melee_damage_lower = 8 + melee_damage_upper = 16 grab_resist = 100 see_in_dark = 8 @@ -53,6 +53,28 @@ say_list_type = /datum/say_list/rat ai_holder_type = /datum/ai_holder/simple_mob/melee/rat +/mob/living/simple_mob/vore/aggressive/rat/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "In a cruel game of cat-and-mouse gone horribly wrong, you struggle to breathe clearly as the giant rat holds your head in its jaws, the rest of its bulk pinning you to the ground. Slimy slurps and its own muffled squeaking fill your senses as it simultaneously tosses its head while backing up. Quickly, ravenously consuming you, bit by bit, packing you down its gullet no matter how you struggle. Passing by its excited heartbeat, your thoroughly slickened head pushes out into its awaiting stomach, a dark and humid hammock eager to accept the rest of you. Soon, those too-warm, plush walls clench and squeeze around you with undeniable need! A need for mere filling, or, perhaps, a proper meal?" + + B.emote_lists[DM_HOLD] = list( + "As time passes, the massive rat’s stomach slowly churns and squeezes down around you, packing you into an easier to carry bundle amidst that oddly soothing massage.", + "The giant rat ambles around, its well-fed, underhanging belly doing little to hide that someone is inside it, with every heavy footfall swaying you from one side to the other.", + "A soft, growl-like rumble mutedly filters into your heated, humid confines... before a paw squishes into the weighty lump you give the overgrown rat.", + "While somewhat cramped, the giant rat’s innards cling more to you like a hot, heavy blanket than anything else, lazily squeezing and relaxing to a casual, squelch-based rhythm.", + "For a while, most of your limited free space is squished away as the rat opts to rest atop its stuffed belly, a satisfied squeak drifting in here and there amidst the closer, more intimate massaging.", + "Every breath you take while trapped in the rat’s stomach is a deep one, having to contend with the hot, stuffy atmosphere within it. It only further compounds upon the relaxation creeping into your body, urging you to curl up, to accept this impromptu, greedy sanctuary.") + + B.emote_lists[DM_DIGEST] = list( + "With each passing moment, the giant rat’s stomach forcefully churns and clenches down around you, massaging an ever-thicker layer of hot, ache-inducing ooze into your body!", + "The massive rat’s stomach visibly twitches and shivers as it ambles around, every footfall sloshing fresh stomach juices over you as the chamber noisily gurgles away!", + "Everything suddenly turns onto its side, the rat sitting back atop its haunches to mash its forepaws into its belly... encouraging that its still-solid meal soften away!", + "The rat’s restless innards show no respect for your personal space, clinging tightly to your figure as that ample, slimy flesh grinds tingling slime into you!", + "Your wiggle room disappears for a time as the giant rat flumps belly-first to the ground, vigorously squishing you under its bulk in hopes of weakening its meal more efficiently!", + "Every shallow breath taken is more unpleasant than the last, the lack of fresh air leaving you increasingly lightheaded. It only worsens the drained feeling permeating you, encouraging your worn, sore figure to give in entirely!") + /mob/living/simple_mob/vore/aggressive/rat/tame //not quite tame but does not attack on sight name = "curious giant rat" desc = "In what passes for a hierarchy among verminous rodents, this one is king. It seems to be more interested on scavenging." diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm index 21e0683b3c..491d0011d2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm @@ -19,6 +19,7 @@ //Shifting in if(ability_flags & AB_PHASE_SHIFTED) ability_flags &= ~AB_PHASE_SHIFTED + mouse_opacity = 2 name = real_name for(var/belly in vore_organs) var/obj/belly/B = belly @@ -70,6 +71,7 @@ //Shifting out else ability_flags |= AB_PHASE_SHIFTED + mouse_opacity = 0 custom_emote(1,"phases out!") real_name = name name = "Something" diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm index f8025167b7..a494d00590 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/shadekin.dm @@ -245,6 +245,11 @@ if((. = ..())) handle_shade() +/mob/living/simple_mob/shadekin/is_incorporeal() + if(ability_flags & AB_PHASE_SHIFTED) + return TRUE + return FALSE + /mob/living/simple_mob/shadekin/handle_atmos() if(ability_flags & AB_PHASE_SHIFTED) return diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm index cb410fcc1c..de2139fd1a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/snake.dm @@ -34,3 +34,25 @@ vore_pounce_chance = 25 vore_icons = SA_ICON_LIVING swallowTime = 2 SECONDS // Hungry little bastards. + +/mob/living/simple_mob/vore/aggressive/giant_snake/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "As the giant snake's closed jaws seal you away from the outside world, you are immediately greeted with a seemingly endless passage of tightly squeezing flesh. Hot and coated in thick, body-clinging slime, the serpent's stomach walls immediately get to work at rhythmically pulsing and contracting against your figure, slowly tugging you deeper into its ravenous clutches." + + B.emote_lists[DM_HOLD] = list( + "A near-constant string of soft, slick noises drift over you as waves of peristalsis slowly drag you further within the possessive serpent.", + "The giant snake's stomach suddenly squishes inwards from everywhere at once, wrapping you up in a warm, doughy embrace before easing back again.", + "A growing sense of relaxed lethargy seeps into your muscles the longer you're massaged over amidst those hot, humid confines.", + "Slimy, heat-trapping muscles rhythmically ripple over and knead down into your figure, ensuring the snake's new filling was subdued.", + "The snake occasionally hisses out in satisfaction as it feels your twitching, filling weight bulge out its scales before giving you a compressing squeeze.", + "Hot, viscous ooze clings to and coats your body as time passes, encouraging you to submit and let the snake do all the serpentine, winding slithering.") + + B.emote_lists[DM_DIGEST] = list( + "A chorus of sordid, slick sounds fill your senses as another wave of peristalsis ripples over you, tugging you a little deeper into the snake!", + "The serpent's all-encompassing stomach flesh closes in tight around your figure, testing how much softer you are now before finally relaxing. Slightly!", + "You find it harder to breathe as time goes on, your dizziness growing as you lack the space to breathe in enough of that acrid, thinning air!", + "The snake's ample, kneading muscle gradually squeezes the strength and fight from your body with clench after clench!", + "A pleased hiss rattles out of the giant snake from somewhere behind you, the serpent clearly satisfied with its newest meal!", + "Your movements grow slower and less effective as the snake's stomach ooze clings to your entire body, working away at it!") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm index cc5916b6e2..69ec5ceea5 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/solargrub.dm @@ -137,6 +137,28 @@ List of things solar grubs should be able to do: set_light(2.5, 1, COLOR_YELLOW) return 1 +/mob/living/simple_mob/vore/solargrub/init_vore() + ..() + var/obj/belly/B = vore_selected + B.name = "stomach" + B.desc = "Through either grave error, overwhelming willingness, or some other factor, you find yourself lodged halfway past the solargrub's mandibles. While it had initially hissed and chittered in glee at the prospect of a new meal, it is clearly more versed in suckling on power cables; inch by inch, bit by bit, it undulates forth to slowly, noisily gulp you down its short esophagus... and right into its extra-cramped, surprisingly hot stomach. As the rest of you spills out into the plush-walled chamber, the grub's soft body bulges outwards here and there with your compressed figure. Before long, a thick slime oozes out from the surrounding stomach walls; only time will tell how effective it is on something solid like you..." + + B.emote_lists[DM_HOLD] = list( + "The air trapped within the solargrub is hot, humid, and tinged with ozone, but otherwise mercifully harmless to you aside from being heavy on the lungs.", + "Your doughy, squishy surroundings heavily pulse around your body as the solargrub attempts to wriggle elsewhere, its solid prey weighing it down quite a bit.", + "Suddenly, an arc of electricity harmlessly jumps through the grub's stomach, briefly illuminating your slimy, glistening surroundings in a flash of yellow.", + "With all the power coursing through the solargrub's body, its inner muscles are in a constant state of vibrating all over you, adding an extra element to your full-body massage.", + "For a moment, the solargrub's stomach walls clench down even more firmly than before, working its subtle inner vibrations into your muscles, steadily relaxing them down.", + "The incredible heat trapped within the solargrub helps daze and disorient you, ensuring that its new filling wouldn't interfere in its power-draining.") + + B.emote_lists[DM_DIGEST] = list( + "Every breath taken inside the solargrub is swelteringly hot, painfully thick, and more than subtly caustic, worsening with every passing moment spent inside!", + "As the solargrub wriggles off somewhere quiet to digest its meal, the resulting undulations help crush you down into a more compact, easier to handle morsel!", + "From time to time, additional jolts of electricity unpleasantly course through your body, helping ensure that the solargrub's food was thoroughly paralyzed!", + "With how incredibly charged the solargrub is, its constant internal vibrating adds an additional layer of processing to its stomach's slow, steady churning, helping break you down faster!", + "The solargrub chitters in irritation at your continued solidity, followed by a string of crushingly tight stomach clenches that grind its caustic stomach ooze into your body!", + "The deceptively severe heat trapped within the solargrub works in tandem with its inner muscles and your tingling, prickling stomach juice bath to weaken you!") + /datum/ai_holder/simple_mob/retaliate/solargrub/react_to_attack(atom/movable/attacker) holder.anchored = 0 holder.set_AI_busy(FALSE) diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm index d0e9d6d8f8..a8bc70ac0c 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/wolf.dm @@ -60,4 +60,45 @@ maxbodytemp = 700 /mob/living/simple_mob/animal/wolf/space/Process_Spacemove(var/check_drift = 0) - return TRUE \ No newline at end of file + return TRUE + +/mob/living/simple_mob/animal/wolf/direwolf + name = "dire wolf" + desc = "The biggest and baddest wolf around." + tt_desc = "Canis maxdirus" + + icon = 'icons/mob/vore64x32.dmi' + icon_dead = "direwolf-dead" + icon_living = "direwolf" + icon_state = "direwolf" + icon_rest = "direwolf_rest" + old_x = -16 + old_y = 0 + default_pixel_x = -16 + pixel_x = -16 + pixel_y = 0 + + harm_intent_damage = 10 + melee_damage_lower = 10 + melee_damage_upper = 20 + maxHealth = 200 + + minbodytemp = 0 + + max_buckled_mobs = 1 + mount_offset_y = 14 + mount_offset_x = 2 + can_buckle = TRUE + buckle_movable = TRUE + buckle_lying = FALSE + +/mob/living/simple_mob/animal/wolf/direwolf/Login() + . = ..() + if(!riding_datum) + riding_datum = new /datum/riding/simple_mob(src) + verbs |= /mob/living/simple_mob/proc/animal_mount + verbs |= /mob/living/proc/toggle_rider_reins + movement_cooldown = 0 + +/mob/living/simple_mob/animal/wolf/direwolf/MouseDrop_T(mob/living/M, mob/living/user) + return diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 045d9d5f44..fc326c8d03 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -14,7 +14,8 @@ if( (client.connection != "web") && (M.computer_id == client.computer_id) ) if(matches) matches += " and " matches += "ID ([client.computer_id])" - spawn() alert("You have logged in already with another key this round, please log out of this one NOW or risk being banned!") + if(!config.disable_cid_warn_popup) + spawn() alert("You have logged in already with another key this round, please log out of this one NOW or risk being banned!") if(matches) if(M.client) message_admins("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(M)].", 1) @@ -74,4 +75,7 @@ var/turf/T = get_turf(src) if(isturf(T)) - update_client_z(T.z) \ No newline at end of file + update_client_z(T.z) + + if(cloaked && cloaked_selfimage) + client.images += cloaked_selfimage \ No newline at end of file diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index e39d7cca62..63668ea168 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -231,6 +231,10 @@ if((is_blind(src) || usr.stat) && !isobserver(src)) to_chat(src, "Something is there but you can't see it.") return 1 + + //Could be gone by the time they finally pick something + if(!A) + return 1 face_atom(A) A.examine(src) @@ -419,7 +423,7 @@ set category = "OOC" var/is_admin = 0 - if(client.holder && (client.holder.rights & R_ADMIN)) + if(client.holder && (client.holder.rights & R_ADMIN|R_EVENT)) is_admin = 1 else if(stat != DEAD || istype(src, /mob/new_player)) to_chat(usr, "You must be observing to use this!") @@ -1007,6 +1011,11 @@ mob/proc/yank_out_object() /mob/proc/updateicon() return +// Please always use this proc, never just set the var directly. +/mob/proc/set_stat(var/new_stat) + . = (stat != new_stat) + stat = new_stat + /mob/verb/face_direction() set name = "Face Direction" @@ -1064,6 +1073,13 @@ mob/proc/yank_out_object() /mob/proc/setEarDamage() return +// Set client view distance (size of client's screen). Returns TRUE if anything changed. +/mob/proc/set_viewsize(var/new_view = world.view) + if (client && new_view != client.view) + client.view = new_view + return TRUE + return FALSE + //Throwing stuff /mob/proc/toggle_throw_mode() @@ -1191,3 +1207,25 @@ mob/proc/yank_out_object() /mob/onTransitZ(old_z, new_z) ..() update_client_z(new_z) + +/mob/cloak() + . = ..() + if(client && cloaked_selfimage) + client.images += cloaked_selfimage + +/mob/uncloak() + if(client && cloaked_selfimage) + client.images -= cloaked_selfimage + return ..() + +/mob/get_cloaked_selfimage() + var/icon/selficon = getCompoundIcon(src) + selficon.MapColors(0,0,0, 0,0,0, 0,0,0, 1,1,1) //White + var/image/selfimage = image(selficon) + selfimage.color = "#0000FF" + selfimage.alpha = 100 + selfimage.layer = initial(layer) + selfimage.plane = initial(plane) + selfimage.loc = src + + return selfimage diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 5c975f9b71..5450ced7ee 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -83,7 +83,7 @@ proc/getsensorlevel(A) /proc/is_admin(var/mob/user) - return check_rights(R_ADMIN, 0, user) != 0 + return check_rights(R_ADMIN|R_EVENT, 0, user) != 0 /proc/hsl2rgb(h, s, l) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index fae3f2cb61..0e4a326cab 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -389,10 +389,8 @@ ///Return 1 for movement 0 for none /mob/proc/Process_Spacemove(var/check_drift = 0) - //VOREStation Edit begin: SHADEKIN - if(shadekin_phasing_check()) + if(is_incorporeal()) return - //VOREStation Edit end: SHADEKIN if(!Check_Dense_Object()) //Nothing to push off of so end here update_floating(0) diff --git a/code/modules/mob/mob_planes.dm b/code/modules/mob/mob_planes.dm index 86173ee7fe..e1c33efe72 100644 --- a/code/modules/mob/mob_planes.dm +++ b/code/modules/mob/mob_planes.dm @@ -41,6 +41,7 @@ plane_masters[VIS_TURFS] = new /obj/screen/plane_master/main{plane = TURF_PLANE} plane_masters[VIS_OBJS] = new /obj/screen/plane_master/main{plane = OBJ_PLANE} plane_masters[VIS_MOBS] = new /obj/screen/plane_master/main{plane = MOB_PLANE} + plane_masters[VIS_CLOAKED] = new /obj/screen/plane_master/cloaked //Cloaked atoms! ..() @@ -178,6 +179,13 @@ plane = PLANE_GHOSTS desired_alpha = 127 //When enabled, they're like half-transparent +///////////////// +//Cloaked atoms are visible to ghosts (or for other reasons?) +/obj/screen/plane_master/cloaked + plane = CLOAKED_PLANE + desired_alpha = 80 + color = "#0000FF" + ///////////////// //The main game planes start normal and visible /obj/screen/plane_master/main diff --git a/code/modules/mob/new_player/skill.dm b/code/modules/mob/new_player/skill.dm index dc7e5c354e..b2d061d5a6 100644 --- a/code/modules/mob/new_player/skill.dm +++ b/code/modules/mob/new_player/skill.dm @@ -3,6 +3,7 @@ var/global/const SKILL_BASIC = 1 SKILL_ADEPT = 2 SKILL_EXPERT = 3 + SKILL_PROF = 4 /datum/skill/var ID = "none" // ID of the skill, used in code diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 90d4e32c8d..d11cc80594 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -119,6 +119,11 @@ icon_state = "hair_long_bedhead" flags = HAIR_TIEABLE + bedheadlongest + name = "Bedhead Longest" + icon_state = "hair_longest_bedhead" + flags = HAIR_TIEABLE + beehive name = "Beehive" icon_state = "hair_beehive" @@ -743,6 +748,11 @@ icon_state = "hair_rowbraid" flags = HAIR_TIEABLE + sabitsuki + name = "Sabitsuki" + icon_state = "hair_sabitsuki" + flags = HAIR_VERY_SHORT + scully name = "Scully" icon_state = "hair_scully" @@ -1294,6 +1304,11 @@ icon_state = "teshari_mushroom" species_allowed = list(SPECIES_TESHARI) + teshari_bald + name = "Bald (use with FBP)" + icon_state = "bald" + species_allowed = list(SPECIES_TESHARI) + // Vox things vox_braid_long name = "Long Vox braid" diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm index f15a9f18f0..ec3cb570b2 100644 --- a/code/modules/mob/new_player/sprite_accessories_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_vr.dm @@ -8,8 +8,8 @@ //var/icon_add = 'icons/mob/human_face.dmi' //Already defined in sprite_accessories.dm line 49. var/color_blend_mode = ICON_MULTIPLY - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW) //This lets all races use the default hairstyles. //YW edits - + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_SHADEKIN_YW) //This lets all races use the default hairstyles. + astolfo name = "Astolfo" icon = 'icons/mob/human_face_vr.dmi' @@ -87,14 +87,14 @@ name = "Bald" icon_state = "bald" gender = MALE - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //Lets all the races be bald if they want. + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //Lets all the races be bald if they want. ponytail6_fixed //Eggnerd's done with waiting for upstream fixes lmao. name = "Ponytail 6 but fixed" icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "hair_ponytail6" - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_NEVREAN, SPECIES_AKULA,SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_NEVREAN, SPECIES_AKULA,SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) una_hood name = "Cobra Hood" @@ -326,7 +326,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "kajam" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_keid @@ -334,7 +334,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "keid" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_adhara @@ -342,7 +342,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "adhara" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_kleeia @@ -350,7 +350,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "kleeia" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_mizar @@ -358,7 +358,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "mizar" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_apollo @@ -366,7 +366,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "apollo" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_belle @@ -374,7 +374,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "belle" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_bun @@ -382,7 +382,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "bun" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_jagged @@ -390,7 +390,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "jagged" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_curl @@ -398,7 +398,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "curl" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_hawk @@ -406,7 +406,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "hawk" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_anita @@ -414,7 +414,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "anita" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_short @@ -422,7 +422,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "short" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER vulp_hair_spike @@ -430,7 +430,7 @@ icon = 'icons/mob/human_face_vr.dmi' icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "spike" - species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) + species_allowed = list(SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_TAJ, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_PROTEAN) gender = NEUTER //xeno stuffs @@ -512,20 +512,20 @@ /datum/sprite_accessory/facial_hair icon = 'icons/mob/human_face_or_vr.dmi' var/color_blend_mode = ICON_MULTIPLY - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //This lets all races use the facial hair styles. + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //This lets all races use the facial hair styles. shaved name = "Shaved" icon_state = "bald" gender = NEUTER - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //This needed to be manually defined, apparantly. + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //This needed to be manually defined, apparantly. neck_fluff name = "Neck Fluff" icon = 'icons/mob/human_face_or_vr.dmi' icon_state = "facial_neckfluff" gender = NEUTER - species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) + species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) vulp_none name = "None" @@ -1090,7 +1090,7 @@ name = "Heterochromia" icon_state = "heterochromia" body_parts = list(BP_HEAD) - species_allowed = list(SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_ZORREN_FLAT, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //This lets all races use the default hairstyles. + species_allowed = list(SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST) //This lets all races use the default hairstyles. werewolf_nose name = "Werewolf nose" diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 2c3e2f0e95..25d506d91a 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -148,7 +148,7 @@ return GLOB.all_languages["Noise"] if(length(message) >= 2 && is_language_prefix(prefix)) - var/language_prefix = lowertext(copytext(message, 2 ,3)) + var/language_prefix = copytext(message, 2 ,3) var/datum/language/L = GLOB.language_keys[language_prefix] if (can_speak(L)) return L diff --git a/code/modules/mob/skillset.dm b/code/modules/mob/skillset.dm new file mode 100644 index 0000000000..2877372491 --- /dev/null +++ b/code/modules/mob/skillset.dm @@ -0,0 +1,14 @@ + +// We don't actually have a skills system, so return max skill for everything. +/mob/proc/get_skill_value(skill_path) + return SKILL_EXPERT + +// A generic way of modifying success probabilities via skill values. Higher factor means skills have more effect. fail_chance is the chance at SKILL_NONE. +/mob/proc/skill_fail_chance(skill_path, fail_chance, no_more_fail = SKILL_EXPERT, factor = 1) + var/points = get_skill_value(skill_path) + if(points >= no_more_fail) + return 0 + else + return fail_chance * 2 ** (factor*(SKILL_BASIC - points)) + + return FALSE // We don't actually have a skills system, so never fail. diff --git a/code/modules/modular_computers/NTNet/NTNet_relay.dm b/code/modules/modular_computers/NTNet/NTNet_relay.dm index d659caaf40..2e4d43c731 100644 --- a/code/modules/modular_computers/NTNet/NTNet_relay.dm +++ b/code/modules/modular_computers/NTNet/NTNet_relay.dm @@ -2,7 +2,7 @@ /obj/machinery/ntnet_relay name = "NTNet Quantum Relay" desc = "A very complex router and transmitter capable of connecting electronic devices together. Looks fragile." - use_power = 2 + use_power = USE_POWER_ACTIVE active_power_usage = 20000 //20kW, apropriate for machine that keeps massive cross-Zlevel wireless network operational. idle_power_usage = 100 icon_state = "bus" @@ -38,9 +38,9 @@ /obj/machinery/ntnet_relay/process() if(operable()) - use_power = 2 + update_use_power(USE_POWER_ACTIVE) else - use_power = 1 + update_use_power(USE_POWER_IDLE) if(dos_overload) dos_overload = max(0, dos_overload - dos_dissipate) diff --git a/code/modules/modular_computers/computers/modular_computer/interaction.dm b/code/modules/modular_computers/computers/modular_computer/interaction.dm index bf70bb7d28..c9ee11a77e 100644 --- a/code/modules/modular_computers/computers/modular_computer/interaction.dm +++ b/code/modules/modular_computers/computers/modular_computer/interaction.dm @@ -100,7 +100,7 @@ /obj/item/modular_computer/attack_ghost(var/mob/observer/ghost/user) if(enabled) ui_interact(user) - else if(check_rights(R_ADMIN, 0, user)) + else if(check_rights(R_ADMIN|R_EVENT, 0, user)) var/response = alert(user, "This computer is turned off. Would you like to turn it on?", "Admin Override", "Yes", "No") if(response == "Yes") turn_on(user) diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm index 7124bdcd03..895b73b5fa 100644 --- a/code/modules/modular_computers/file_system/program.dm +++ b/code/modules/modular_computers/file_system/program.dm @@ -97,7 +97,7 @@ return 1 // Admin override - allows operation of any computer as aghosted admin, as if you had any required access. - if(istype(user, /mob/observer/dead) && check_rights(R_ADMIN, 0, user)) + if(istype(user, /mob/observer/dead) && check_rights(R_ADMIN|R_EVENT, 0, user)) return 1 if(!istype(user)) diff --git a/code/modules/modular_computers/file_system/programs/command/card.dm b/code/modules/modular_computers/file_system/programs/command/card.dm index 5bcac7adf8..aa122c0abf 100644 --- a/code/modules/modular_computers/file_system/programs/command/card.dm +++ b/code/modules/modular_computers/file_system/programs/command/card.dm @@ -44,14 +44,16 @@ data["id_owner"] = id_card && id_card.registered_name ? id_card.registered_name : "-----" data["id_name"] = id_card ? id_card.name : "-----" - data["command_jobs"] = format_jobs(command_positions) - data["engineering_jobs"] = format_jobs(engineering_positions) - data["medical_jobs"] = format_jobs(medical_positions) - data["science_jobs"] = format_jobs(science_positions) - data["security_jobs"] = format_jobs(security_positions) - data["cargo_jobs"] = format_jobs(cargo_positions) - data["civilian_jobs"] = format_jobs(civilian_positions) - data["centcom_jobs"] = format_jobs(get_all_centcom_jobs()) + var/list/departments = list() + for(var/D in SSjob.get_all_department_datums()) + var/datum/department/dept = D + if(!dept.assignable) // No AI ID cards for you. + continue + if(dept.centcom_only && !is_centcom) + continue + departments[++departments.len] = list("department_name" = dept.name, "jobs" = format_jobs(SSjob.get_job_titles_in_department(dept.name)) ) + + data["departments"] = departments data["all_centcom_access"] = is_centcom ? get_accesses(1) : null data["regions"] = get_accesses() diff --git a/code/modules/modular_computers/file_system/programs/command/comm.dm b/code/modules/modular_computers/file_system/programs/command/comm.dm index c174ced23b..71e7179566 100644 --- a/code/modules/modular_computers/file_system/programs/command/comm.dm +++ b/code/modules/modular_computers/file_system/programs/command/comm.dm @@ -131,7 +131,7 @@ if(announcment_cooldown) to_chat(usr, "Please allow at least one minute to pass between announcements") return TRUE - var/input = input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") as null|text + var/input = input(usr, "Please write a message to announce to the station crew.", "Priority Announcement") as null|message if(!input || !can_still_topic()) return 1 crew_announcement.Announce(input) @@ -165,7 +165,10 @@ if(!is_relay_online())//Contact Centcom has a check, Syndie doesn't to allow for Traitor funs. to_chat(usr, "No Emergency Bluespace Relay detected. Unable to transmit message.") return 1 - var/input = sanitize(input("Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "") as null|text) + var/input = sanitize(input("Please choose a message to transmit to Centcomm via quantum entanglement. \ + Please be aware that this process is very expensive, and abuse will lead to... termination. \ + Transmission does not guarantee a response. There is a 30 second delay before you may send another message, \ + be clear, full and concise.", "Central Command Quantum Messaging") as null|message) if(!input || !can_still_topic()) return 1 CentCom_announce(input, usr) diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm index 20c4dde1ca..c887034754 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm @@ -42,7 +42,7 @@ /datum/nano_module/alarm_monitor/all/New() ..() - alarm_handlers = alarm_manager.all_handlers + alarm_handlers = SSalarm.all_handlers /datum/nano_module/alarm_monitor/engineering/New() ..() diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm index e7375b5235..c293e2f263 100644 --- a/code/modules/multiz/movement.dm +++ b/code/modules/multiz/movement.dm @@ -15,6 +15,10 @@ /mob/proc/zMove(direction) if(eyeobj) return eyeobj.zMove(direction) + if(istype(loc,/obj/mecha)) + var/obj/mecha/mech = loc + return mech.relaymove(src,direction) + if(!can_ztravel()) to_chat(src, "You lack means of travel in that direction.") return @@ -29,6 +33,10 @@ to_chat(src, "There is nothing of interest in this direction.") return 0 + if(is_incorporeal()) + forceMove(destination) + return 1 + if(!start.CanZPass(src, direction)) to_chat(src, "\The [start] is in the way.") return 0 @@ -124,13 +132,13 @@ /mob/living/can_ztravel() if(incapacitated()) return FALSE - return hovering + return (hovering || is_incorporeal()) /mob/living/carbon/human/can_ztravel() if(incapacitated()) return FALSE - if(hovering) + if(hovering || is_incorporeal()) return TRUE if(flying) //VOREStation Edit. Allows movement up/down with wings. @@ -273,6 +281,8 @@ return FALSE /mob/living/can_fall() + if(is_incorporeal()) + return FALSE if(hovering) return FALSE return ..() @@ -582,4 +592,4 @@ // And hurt the floor. if(istype(hit_atom, /turf/simulated/floor)) var/turf/simulated/floor/ground = hit_atom - ground.break_tile() \ No newline at end of file + ground.break_tile() diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf.dm index b3ea2c17ff..4daa773401 100644 --- a/code/modules/multiz/turf.dm +++ b/code/modules/multiz/turf.dm @@ -150,8 +150,14 @@ var/turf/below = GetBelow(src) return !below || below.is_space() +/turf/simulated/open/is_solid_structure() + return locate(/obj/structure/lattice, src) //counts as solid structure if it has a lattice (same as space) + /turf/simulated/open/is_safe_to_enter(mob/living/L) if(L.can_fall()) + for(var/obj/O in contents) + if(!O.CanFallThru(L, GetBelow(src))) + return TRUE // Can't fall through this, like lattice or catwalk. if(!locate(/obj/structure/stairs) in GetBelow(src)) - return FALSE + return FALSE // Falling on stairs is safe. return ..() \ No newline at end of file diff --git a/code/modules/nano/interaction/admin.dm b/code/modules/nano/interaction/admin.dm index 59de0ce22e..dd4ce6ad17 100644 --- a/code/modules/nano/interaction/admin.dm +++ b/code/modules/nano/interaction/admin.dm @@ -4,4 +4,4 @@ /var/global/datum/topic_state/admin_state/admin_state = new() /datum/topic_state/admin_state/can_use_topic(var/src_object, var/mob/user) - return check_rights(R_ADMIN, 0, user) ? STATUS_INTERACTIVE : STATUS_CLOSE + return check_rights(R_ADMIN|R_EVENT, 0, user) ? STATUS_INTERACTIVE : STATUS_CLOSE diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm index 80bfe65d0f..867b57797b 100644 --- a/code/modules/nifsoft/nif.dm +++ b/code/modules/nifsoft/nif.dm @@ -580,7 +580,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable name = "bioadaptive NIF" desc = "A NIF that goes out of it's way to accomidate strange body types. \ Will function in species where it normally wouldn't." - durability = 25 + durability = 75 bioadap = TRUE //////////////////////////////// diff --git a/code/modules/nifsoft/nif_softshop.dm b/code/modules/nifsoft/nif_softshop.dm index fe9da85ba3..2af77f43ad 100644 --- a/code/modules/nifsoft/nif_softshop.dm +++ b/code/modules/nifsoft/nif_softshop.dm @@ -6,8 +6,6 @@ icon = 'icons/obj/machines/ar_elements.dmi' icon_state = "proj" - icon_vend = "beacon_yes" - icon_deny = "beacon_no" products = list() contraband = list() @@ -98,7 +96,7 @@ var/mob/living/carbon/human/H = user if(!H.nif || !H.nif.stat == NIF_WORKING) to_chat(H, "[src] seems unable to connect to your NIF...") - flick(icon_deny,entopic.my_image) + flick("[icon_state]-deny",entopic.my_image) return FALSE return ..() @@ -126,7 +124,7 @@ if((href_list["vend"]) && (vend_ready) && (!currently_vending)) if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH to_chat(usr, "Access denied.") //Unless emagged of course - flick(icon_deny,entopic.my_image) + flick("[icon_state]-deny",entopic.my_image) return var/key = text2num(href_list["vend"]) @@ -143,7 +141,7 @@ var/list/usr_access = usr.GetAccess() if(!has_access(soft_access, list(), usr_access) && !emagged) to_chat(usr, "You aren't authorized to buy [initial(path.name)].") - flick(icon_deny,entopic.my_image) + flick("[icon_state]-deny",entopic.my_image) return if(R.price <= 0) @@ -174,7 +172,7 @@ var/mob/living/carbon/human/H = user if((!allowed(usr)) && !emagged && scan_id && istype(H)) //For SECURE VENDING MACHINES YEAH to_chat(usr, "Purchase not allowed.") //Unless emagged of course - flick(icon_deny,entopic.my_image) + flick("[icon_state]-deny",entopic.my_image) return vend_ready = 0 //One thing at a time!! status_message = "Installing..." @@ -207,7 +205,7 @@ spawn(vend_delay) R.amount-- new R.item_path(H.nif) - flick(icon_vend,entopic.my_image) + flick("[icon_state]-vend",entopic.my_image) if(has_logs) do_logging(R, user, 1) diff --git a/code/modules/nifsoft/software/01_vision.dm b/code/modules/nifsoft/software/01_vision.dm index a45cb5946f..7c7ca02079 100644 --- a/code/modules/nifsoft/software/01_vision.dm +++ b/code/modules/nifsoft/software/01_vision.dm @@ -141,7 +141,7 @@ illegal = TRUE access = 999 tick_flags = NIF_ACTIVETICK - planes_enabled = list(VIS_FULLBRIGHT) + planes_enabled = list(VIS_FULLBRIGHT, VIS_CLOAKED) vision_flags = (NIF_V_THERMALS) incompatible_with = list(NIF_MESONS,NIF_MATERIAL,NIF_NIGHTVIS) diff --git a/code/modules/nifsoft/software/15_misc.dm b/code/modules/nifsoft/software/15_misc.dm index 0351c8d19f..f6406ed186 100644 --- a/code/modules/nifsoft/software/15_misc.dm +++ b/code/modules/nifsoft/software/15_misc.dm @@ -137,7 +137,6 @@ to_chat(nif.human,"You set the size to [new_size]%") nif.human.visible_message("Swirling grey mist envelops [nif.human] as they change size!","Swirling streams of nanites wrap around you as you change size!") - nif.human.update_icons() //Apply matrix transform asap spawn(0) deactivate() diff --git a/code/modules/organs/internal/augment.dm b/code/modules/organs/internal/augment.dm index d134ad12ca..569b5dda44 100644 --- a/code/modules/organs/internal/augment.dm +++ b/code/modules/organs/internal/augment.dm @@ -12,7 +12,7 @@ organ_verbs = list(/mob/living/carbon/human/proc/augment_menu) // Verbs added by the organ when present in the body. target_parent_classes = list() // Is the parent supposed to be organic, robotic, assisted? - forgiving_class = FALSE // Will the organ give its verbs when it isn't a perfect match? I.E., assisted in organic, synthetic in organic. + forgiving_class = TRUE // Will the organ give its verbs when it isn't a perfect match? I.E., assisted in organic, synthetic in organic. var/obj/item/integrated_object // Objects held by the organ, used for re-usable, deployable things. var/integrated_object_type // Object type the organ will spawn. diff --git a/code/modules/organs/internal/lungs.dm b/code/modules/organs/internal/lungs.dm index 07ef683e06..f123ea127b 100644 --- a/code/modules/organs/internal/lungs.dm +++ b/code/modules/organs/internal/lungs.dm @@ -15,28 +15,29 @@ if(is_bruised()) if(prob(4)) - spawn owner.emote("me", 1, "coughs up blood!") + spawn owner?.emote("me", 1, "coughs up blood!") owner.drip(10) if(prob(8)) - spawn owner.emote("me", 1, "gasps for air!") + spawn owner?.emote("me", 1, "gasps for air!") owner.AdjustLosebreath(15) if(owner.internal_organs_by_name[O_BRAIN]) // As the brain starts having Trouble, the lungs start malfunctioning. var/obj/item/organ/internal/brain/Brain = owner.internal_organs_by_name[O_BRAIN] if(Brain.get_control_efficiency() <= 0.8) if(prob(4 / max(0.1,Brain.get_control_efficiency()))) - spawn owner.emote("me", 1, "gasps for air!") + spawn owner?.emote("me", 1, "gasps for air!") owner.AdjustLosebreath(round(3 / max(0.1,Brain.get_control_efficiency()))) /obj/item/organ/internal/lungs/proc/rupture() - var/obj/item/organ/external/parent = owner.get_organ(parent_organ) - if(istype(parent)) - owner.custom_pain("You feel a stabbing pain in your [parent.name]!", 50) + if(owner) + var/obj/item/organ/external/parent = owner.get_organ(parent_organ) + if(istype(parent)) + owner.custom_pain("You feel a stabbing pain in your [parent.name]!", 50) bruise() /obj/item/organ/internal/lungs/handle_germ_effects() . = ..() //Up should return an infection level as an integer - if(!.) return + if(!. || !owner) return //Bacterial pneumonia if (. >= 1) @@ -54,6 +55,6 @@ ..() var/mob/living/carbon/human/H = null spawn(15) - if(ishuman(owner)) + if(owner && ishuman(owner)) H = owner color = H.species.blood_color diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index b167c7562b..41b7a0ba39 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -4,6 +4,7 @@ var/list/organ_cache = list() name = "organ" icon = 'icons/obj/surgery.dmi' germ_level = 0 + drop_sound = 'sound/items/drop/flesh.ogg' // Strings. var/organ_tag = "organ" // Unique identifier. diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm index 4445f1ed67..1a79b2b14a 100644 --- a/code/modules/organs/organ_icon.dm +++ b/code/modules/organs/organ_icon.dm @@ -18,7 +18,7 @@ var/global/list/limb_icon_cache = list() h_col = null if(robotic >= ORGAN_ROBOT) var/datum/robolimb/franchise = all_robolimbs[model] - if(!(franchise && franchise.skin_tone)) + if(!(franchise && franchise.skin_tone) && !(franchise && franchise.skin_color)) if(human.synth_color) s_col = list(human.r_synth, human.g_synth, human.b_synth) return @@ -36,7 +36,7 @@ var/global/list/limb_icon_cache = list() h_col = null if(robotic >= ORGAN_ROBOT) var/datum/robolimb/franchise = all_robolimbs[model] - if(!(franchise && franchise.skin_tone)) + if(!(franchise && franchise.skin_tone) && !(franchise && franchise.skin_color)) return if(!isnull(dna.GetUIValue(DNA_UI_SKIN_TONE)) && (species.appearance_flags & HAS_SKIN_TONE)) s_tone = dna.GetUIValue(DNA_UI_SKIN_TONE) diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm index 4541fcfd95..a0ca24e997 100644 --- a/code/modules/organs/robolimbs.dm +++ b/code/modules/organs/robolimbs.dm @@ -33,6 +33,14 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ if(!R.unavailable_at_chargen) chargen_robolimbs[R.company] = R //List only main brands and solo parts. + for(var/company in all_robolimbs) + var/datum/robolimb/R = all_robolimbs[company] + if(R.species_alternates) + for(var/species in R.species_alternates) + var/species_company = R.species_alternates[species] + if(species_company in all_robolimbs) + R.species_alternates[species] = all_robolimbs[species_company] + /datum/robolimb var/company = "Unbranded" // Shown when selecting the limb. var/desc = "A generic unbranded robotic prosthesis." // Seen when examining a limb. @@ -40,9 +48,11 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ var/unavailable_at_chargen // If set, not available at chargen. var/unavailable_to_build // If set, can't be constructed. var/lifelike // If set, appears organic. - var/skin_tone // If set, applies skin tone rather than part color + var/skin_tone // If set, applies skin tone rather than part color Overrides color. + var/skin_color // If set, applies skin color rather than part color. var/blood_color = "#030303" var/list/species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_XENOCHIMERA) //VOREStation Edit + var/list/species_alternates = list(SPECIES_TAJ = "Unbranded - Tajaran", SPECIES_UNATHI = "Unbranded - Unathi") //"Species Name" = "Robolimb Company" , List, when initialized, will become "Species Name" = RobolimbDatum, used for alternate species sprites. var/list/monitor_styles //If empty, the model of limbs offers a head compatible with monitors. var/parts = BP_ALL //Defines what parts said brand can replace on a body. var/health_hud_intensity = 1 // Intensity modifier for the health GUI indicator. @@ -72,10 +82,62 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ icon = 'icons/mob/human_races/cyberlimbs/unbranded/unbranded_alt2.dmi' unavailable_to_build = 1 +/datum/robolimb/unbranded_tajaran + company = "Unbranded - Tajaran" + species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_ZADDAT) + suggested_species = SPECIES_TAJ + desc = "A simple robotic limb with feline design. Seems rather stiff." + icon = 'icons/mob/human_races/cyberlimbs/unbranded/unbranded_tajaran.dmi' + unavailable_to_build = 1 + +/datum/robolimb/unbranded_unathi + company = "Unbranded - Unathi" + species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT) + suggested_species = SPECIES_UNATHI + desc = "A simple robotic limb with reptilian design. Seems rather stiff." + icon = 'icons/mob/human_races/cyberlimbs/unbranded/unbranded_unathi.dmi' + unavailable_to_build = 1 + +/datum/robolimb/unbranded_teshari + company = "Unbranded - Teshari" + species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT) + suggested_species = SPECIES_TESHARI + desc = "A simple robotic limb with a small, raptor-like design. Seems rather stiff." + icon = 'icons/mob/human_races/cyberlimbs/unbranded/unbranded_teshari.dmi' + unavailable_to_build = 0 + /datum/robolimb/nanotrasen company = "NanoTrasen" desc = "A simple but efficient robotic limb, created by NanoTrasen." icon = 'icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_main.dmi' + species_alternates = list(SPECIES_TAJ = "NanoTrasen - Tajaran", SPECIES_UNATHI = "NanoTrasen - Unathi") + +/datum/robolimb/nanotrasen_tajaran + company = "NanoTrasen - Tajaran" + species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_ZADDAT) + species_alternates = list(SPECIES_HUMAN = "NanoTrasen") + suggested_species = SPECIES_TAJ + desc = "A simple but efficient robotic limb, created by NanoTrasen." + icon = 'icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_tajaran.dmi' + unavailable_to_build = 1 + +/datum/robolimb/nanotrasen_unathi + company = "NanoTrasen - Unathi" + species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT) + species_alternates = list(SPECIES_HUMAN = "NanoTrasen") + suggested_species = SPECIES_UNATHI + desc = "A simple but efficient robotic limb, created by NanoTrasen." + icon = 'icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_unathi.dmi' + unavailable_to_build = 1 + +/datum/robolimb/cenilimicybernetics_teshari + company = "Cenilimi Cybernetics" + species_cannot_use = list(SPECIES_UNATHI, SPECIES_PROMETHEAN, SPECIES_DIONA, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_TAJ, SPECIES_SKRELL, SPECIES_ZADDAT) + species_alternates = list(SPECIES_HUMAN = "NanoTrasen") + suggested_species = SPECIES_TESHARI + desc = "Made by a Teshari-owned company, for Teshari." + icon = 'icons/mob/human_races/cyberlimbs/cenilimicybernetics/cenilimicybernetics_teshari.dmi' + unavailable_to_build = 1 /datum/robolimb/bishop company = "Bishop" @@ -104,6 +166,19 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ parts = list(BP_HEAD) monitor_styles = standard_monitor_styles +/datum/robolimb/gestaltframe + company = "Skrellian Exoskeleton" + desc = "This limb looks to be more like a strange.. puppet, than a prosthetic." + icon = 'icons/mob/human_races/cyberlimbs/veymed/dionaea/skrellian.dmi' + blood_color = "#63b521" + speech_bubble_appearance = "machine" + unavailable_to_build = 1 + species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_TAJ, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_ZADDAT) + suggested_species = SPECIES_DIONA + // Dionaea are naturally very tanky, so the robotic limbs are actually far weaker than their normal bodies. + robo_brute_mod = 1.3 + robo_burn_mod = 1.3 + /datum/robolimb/cybersolutions company = "Cyber Solutions" desc = "This limb is grey and rough, with little in the way of aesthetic." @@ -224,11 +299,25 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ unavailable_to_build = 1 lifelike = 1 skin_tone = 1 + species_alternates = list(SPECIES_SKRELL = "Vey-Med - Skrell") blood_color = "#CCCCCC" speech_bubble_appearance = "normal" //robo_brute_mod = 1.1 //VOREStation Edit //robo_burn_mod = 1.1 //VOREStation Edit +/datum/robolimb/veymed_skrell + company = "Vey-Med - Skrell" + desc = "This high quality limb is nearly indistinguishable from an organic one." + icon = 'icons/mob/human_races/cyberlimbs/veymed/veymed_skrell.dmi' + unavailable_to_build = 1 + lifelike = 1 + skin_color = TRUE + species_cannot_use = list(SPECIES_TESHARI, SPECIES_PROMETHEAN, SPECIES_TAJ, SPECIES_HUMAN, SPECIES_VOX, SPECIES_HUMAN_VATBORN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_ZADDAT) + blood_color = "#4451cf" + speech_bubble_appearance = "normal" + robo_brute_mod = 1.05 + robo_burn_mod = 1.05 + /datum/robolimb/wardtakahashi company = "Ward-Takahashi" desc = "This limb features sleek black and white polymers." @@ -343,6 +432,10 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ company = "Vey-Med" catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med) +// Bus disk for Diona mech parts. +/obj/item/weapon/disk/limb/veymed/diona + company = "Skrellian Exoskeleton" + /obj/item/weapon/disk/limb/wardtakahashi company = "Ward-Takahashi" catalogue_data = list(/datum/category_item/catalogue/information/organization/ward_takahashi) @@ -358,3 +451,37 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ /obj/item/weapon/disk/limb/nanotrasen company = "NanoTrasen" catalogue_data = list(/datum/category_item/catalogue/information/organization/nanotrasen) + +/obj/item/weapon/disk/species + name = "Species Bioprints" + desc = "A disk containing the blueprints for species-specific prosthetics." + icon = 'icons/obj/cloning.dmi' + icon_state = "datadisk2" + var/species = SPECIES_HUMAN + +/obj/item/weapon/disk/species/Initialize() + ..() + if(species) + name = "[species] [initial(name)]" + +/obj/item/weapon/disk/species/skrell + species = SPECIES_SKRELL + +/obj/item/weapon/disk/species/unathi + species = SPECIES_UNATHI + +/obj/item/weapon/disk/species/tajaran + species = SPECIES_TAJ + +/obj/item/weapon/disk/species/teshari + species = SPECIES_TESHARI + +// In case of bus, presently. +/obj/item/weapon/disk/species/diona + species = SPECIES_DIONA + +/obj/item/weapon/disk/species/zaddat + species = SPECIES_ZADDAT + +/obj/item/weapon/disk/limb/cenilimicybernetics + company = "Cenilimi Cybernetics" \ No newline at end of file diff --git a/code/modules/organs/subtypes/diona.dm b/code/modules/organs/subtypes/diona.dm index c0e4e60c98..7d43baf757 100644 --- a/code/modules/organs/subtypes/diona.dm +++ b/code/modules/organs/subtypes/diona.dm @@ -205,6 +205,37 @@ /obj/item/organ/internal/diona/node/removed() return +// A 'brain' for the tree, still becomes a mindless nymph when removed like any other. Satisfies the FBP code. +/obj/item/organ/internal/brain/cephalon + name = "cephalon mass" + parent_organ = BP_TORSO + vital = TRUE + +/obj/item/organ/internal/brain/cephalon/Initialize() + ..() + spawn(30 SECONDS) // FBP Dionaea need some way to be disassembled through surgery, if absolutely necessary. + if(!owner.isSynthetic()) + vital = FALSE + +/obj/item/organ/internal/brain/cephalon/robotize() + return + +/obj/item/organ/internal/brain/cephalon/mechassist() + return + +/obj/item/organ/internal/brain/cephalon/digitize() + return + +/obj/item/organ/internal/brain/cephalon/removed(var/mob/living/user, var/skip_nymph) + if(robotic >= ORGAN_ROBOT) + return ..() + var/mob/living/carbon/human/H = owner + ..() + if(!istype(H) || !H.organs || !H.organs.len) + H.death() + if(prob(50) && !skip_nymph && spawn_diona_nymph(get_turf(src))) + qdel(src) + /obj/item/organ/external/head/no_eyes/diona max_damage = 50 min_broken_damage = 25 diff --git a/code/modules/organs/subtypes/machine.dm b/code/modules/organs/subtypes/machine.dm index 0397a4e172..0e3a60fdd5 100644 --- a/code/modules/organs/subtypes/machine.dm +++ b/code/modules/organs/subtypes/machine.dm @@ -14,7 +14,7 @@ ..() // This is very ghetto way of rebooting an IPC. TODO better way. if(owner && owner.stat == DEAD) - owner.stat = 0 + owner.set_stat(CONSCIOUS) owner.visible_message("\The [owner] twitches visibly!") /obj/item/organ/internal/cell/emp_act(severity) @@ -68,7 +68,7 @@ stored_mmi.brainmob.languages = owner.languages if(owner && owner.stat == DEAD) - owner.stat = 0 + owner.set_stat(CONSCIOUS) dead_mob_list -= owner living_mob_list |= owner owner.visible_message("\The [owner] twitches visibly!") diff --git a/code/modules/overmap/README.dm b/code/modules/overmap/README.dm index 14a7a955a5..ac9fc8890e 100644 --- a/code/modules/overmap/README.dm +++ b/code/modules/overmap/README.dm @@ -53,6 +53,12 @@ Changes desitnation area depending on current sector ship is in. Currently updating is called in attack_hand(), until a better place is found. Currently no modifications were made to interface to display availability of landing area in sector. +************************************************************* +Landable Ships +************************************************************* +Ship - Vessel that can move around on the overmap. It's entire z-level(s) "move" conceptually. +Shuttles - Vessel that can jump to shuttle landmarks. Its areas move by transition_turfs. +Landable Ship - Vessel that can do both. Sits at a special shuttle landmark for overmap movement mode. ************************************************************* Guide to how make new sector diff --git a/code/modules/overmap/_defines.dm b/code/modules/overmap/_defines.dm index 6d17d8e398..6cfde46793 100644 --- a/code/modules/overmap/_defines.dm +++ b/code/modules/overmap/_defines.dm @@ -1,7 +1,65 @@ -//Zlevel where overmap objects should be -#define OVERMAP_ZLEVEL 1 //How far from the edge of overmap zlevel could randomly placed objects spawn -#define OVERMAP_EDGE 7 +#define OVERMAP_EDGE 2 + +#define SHIP_SIZE_TINY 1 +#define SHIP_SIZE_SMALL 2 +#define SHIP_SIZE_LARGE 3 + +//multipliers for max_speed to find 'slow' and 'fast' speeds for the ship +#define SHIP_SPEED_SLOW 1/(40 SECONDS) +#define SHIP_SPEED_FAST 3/(20 SECONDS)// 15 speed + +#define OVERMAP_WEAKNESS_NONE 0 +#define OVERMAP_WEAKNESS_FIRE 1 +#define OVERMAP_WEAKNESS_EMP 2 +#define OVERMAP_WEAKNESS_MINING 4 +#define OVERMAP_WEAKNESS_EXPLOSIVE 8 + +//Dimension of overmap (squares 4 lyfe) +var/global/list/map_sectors = list() + +/area/overmap/ + name = "System Map" + icon_state = "start" + requires_power = 0 + base_turf = /turf/unsimulated/map + +/turf/unsimulated/map + icon = 'icons/turf/space.dmi' + icon_state = "map" + initialized = FALSE // TODO - Fix unsimulated turf initialization so this override is not necessary! + +/turf/unsimulated/map/edge + opacity = 1 + density = 1 + +/turf/unsimulated/map/Initialize() + . = ..() + name = "[x]-[y]" + var/list/numbers = list() + + if(x == 1 || x == global.using_map.overmap_size) + numbers += list("[round(y/10)]","[round(y%10)]") + if(y == 1 || y == global.using_map.overmap_size) + numbers += "-" + if(y == 1 || y == global.using_map.overmap_size) + numbers += list("[round(x/10)]","[round(x%10)]") + + for(var/i = 1 to numbers.len) + var/image/I = image('icons/effects/numbers.dmi',numbers[i]) + I.pixel_x = 5*i - 2 + I.pixel_y = world.icon_size/2 - 3 + if(y == 1) + I.pixel_y = 3 + I.pixel_x = 5*i + 4 + if(y == global.using_map.overmap_size) + I.pixel_y = world.icon_size - 9 + I.pixel_x = 5*i + 4 + if(x == 1) + I.pixel_x = 5*i - 2 + if(x == global.using_map.overmap_size) + I.pixel_x = 5*i + 2 + add_overlay(I) //list used to track which zlevels are being 'moved' by the proc below var/list/moving_levels = list() @@ -12,29 +70,14 @@ proc/toggle_move_stars(zlevel, direction) if(!zlevel) return - var/gen_dir = null - if(direction & (NORTH|SOUTH)) - gen_dir += "ns" - else if(direction & (EAST|WEST)) - gen_dir += "ew" - if(!direction) - gen_dir = null - - if (moving_levels["zlevel"] != gen_dir) - moving_levels["zlevel"] = gen_dir - for(var/x = 1 to world.maxx) - for(var/y = 1 to world.maxy) - var/turf/space/T = locate(x,y,zlevel) - if (istype(T)) - if(!gen_dir) - T.icon_state = "[((T.x + T.y) ^ ~(T.x * T.y) + T.z) % 25]" - else - T.icon_state = "speedspace_[gen_dir]_[rand(1,15)]" - for(var/atom/movable/AM in T) - if (!AM.anchored) - AM.throw_at(get_step(T,reverse_direction(direction)), 5, 1) - + if (moving_levels["[zlevel]"] != direction) + moving_levels["[zlevel]"] = direction + var/list/spaceturfs = block(locate(1, 1, zlevel), locate(world.maxx, world.maxy, zlevel)) + for(var/turf/space/T in spaceturfs) + T.toggle_transit(direction) + CHECK_TICK +/* //list used to cache empty zlevels to avoid nedless map bloat var/list/cached_space = list() @@ -99,3 +142,4 @@ proc/overmap_spacetravel(var/turf/space/T, var/atom/movable/A) testing("Catching [M] for future use") source.loc = null cached_space += source +*/ \ No newline at end of file diff --git a/code/modules/overmap/bluespace_rift_vr.dm b/code/modules/overmap/bluespace_rift_vr.dm new file mode 100644 index 0000000000..198ccc2277 --- /dev/null +++ b/code/modules/overmap/bluespace_rift_vr.dm @@ -0,0 +1,44 @@ +/obj/effect/overmap/bluespace_rift + name = "bluespace rift" + desc = "Some sort of bluespace rift. Who knows where it leads?" + icon = 'icons/obj/overmap_vr.dmi' + icon_state = "portal" + color = "#2288FF" + + known = 0 //shows up on nav computers automatically + scannable = TRUE //if set to TRUE will show up on ship sensors for detailed scans + + var/obj/effect/overmap/bluespace_rift/partner + var/paused + +/obj/effect/overmap/bluespace_rift/Initialize(var/mapload, var/new_partner) + . = ..() + if(new_partner) + pair(new_partner) + +/obj/effect/overmap/bluespace_rift/proc/pair(var/obj/effect/overmap/bluespace_rift/new_partner) + if(istype(new_partner)) + partner = new_partner + new_partner.partner = src + +/obj/effect/overmap/bluespace_rift/proc/take_this(var/atom/movable/AM) + paused = TRUE + AM.forceMove(get_turf(src)) + paused = FALSE + +/obj/effect/overmap/bluespace_rift/Crossed(var/atom/movable/AM) + if(istype(AM, /obj/effect/overmap/visitable/ship) && !paused && partner) + partner.take_this(AM) + else + return ..() + +/obj/effect/overmap/bluespace_rift/attack_ghost(var/mob/observer/dead/user) + if(!partner && user?.client?.holder) + var/response = alert(user, "You appear to be staff. This rift has no exit point. If you want to make one, move to where you want it to go, and click 'Make Here', otherwise click 'Cancel'","Rift Exit","Cancel","Make Here") + if(response == "Make Here") + new type(get_turf(user), src) + else if(partner) + user.forceMove(get_turf(partner)) + to_chat(user, "Your ghostly form is pulled through the rift!") + else + return ..() diff --git a/code/modules/overmap/events/event_handler.dm b/code/modules/overmap/events/event_handler.dm new file mode 100644 index 0000000000..67785e95ac --- /dev/null +++ b/code/modules/overmap/events/event_handler.dm @@ -0,0 +1,163 @@ +GLOBAL_DATUM_INIT(overmap_event_handler, /decl/overmap_event_handler, new) + +/decl/overmap_event_handler + var/list/hazard_by_turf + var/list/ship_events + +/decl/overmap_event_handler/New() + ..() + hazard_by_turf = list() + ship_events = list() + +// Populates overmap with random events! Should be called once at startup at some point. +/decl/overmap_event_handler/proc/create_events(var/z_level, var/overmap_size, var/number_of_events) + // Acquire the list of not-yet utilized overmap turfs on this Z-level + var/list/overmap_turfs = block(locate(OVERMAP_EDGE, OVERMAP_EDGE, z_level), locate(overmap_size - OVERMAP_EDGE, overmap_size - OVERMAP_EDGE, z_level)) + var/list/candidate_turfs = list() + for(var/Trf in overmap_turfs) + var/turf/T = Trf + if(!(locate(/obj/effect/overmap/visitable) in T)) + candidate_turfs += T + + for(var/i = 1 to number_of_events) + if(!candidate_turfs.len) + break + var/overmap_event_type = pick(subtypesof(/datum/overmap_event)) + var/datum/overmap_event/datum_spawn = new overmap_event_type + log_debug("Generating cloud of [datum_spawn.count] [datum_spawn] overmap event hazards") + + var/list/event_turfs = acquire_event_turfs(datum_spawn.count, datum_spawn.radius, candidate_turfs, datum_spawn.continuous) + candidate_turfs -= event_turfs + + for(var/event_turf in event_turfs) + var/type = pick(datum_spawn.hazards) + new type(event_turf) + + qdel(datum_spawn)//idk help how do I do this better? + +/decl/overmap_event_handler/proc/acquire_event_turfs(var/number_of_turfs, var/distance_from_origin, var/list/candidate_turfs, var/continuous = TRUE) + number_of_turfs = min(number_of_turfs, candidate_turfs.len) + candidate_turfs = candidate_turfs.Copy() // Not this proc's responsibility to adjust the given lists + + var/origin_turf = pick(candidate_turfs) + var/list/selected_turfs = list(origin_turf) + var/list/selection_turfs = list(origin_turf) + candidate_turfs -= origin_turf + + while(selection_turfs.len && selected_turfs.len < number_of_turfs) + var/selection_turf = pick(selection_turfs) + var/random_neighbour = get_random_neighbour(selection_turf, candidate_turfs, continuous, distance_from_origin) + + if(random_neighbour) + candidate_turfs -= random_neighbour + selected_turfs += random_neighbour + if(get_dist(origin_turf, random_neighbour) < distance_from_origin) + selection_turfs += random_neighbour + else + selection_turfs -= selection_turf + + return selected_turfs + +/decl/overmap_event_handler/proc/get_random_neighbour(var/turf/origin_turf, var/list/candidate_turfs, var/continuous = TRUE, var/range) + var/fitting_turfs + if(continuous) + fitting_turfs = origin_turf.CardinalTurfs(FALSE) + else + fitting_turfs = trange(range, origin_turf) + fitting_turfs = shuffle(fitting_turfs) + for(var/turf/T in fitting_turfs) + if(T in candidate_turfs) + return T + +/decl/overmap_event_handler/proc/start_hazard(var/obj/effect/overmap/visitable/ship/ship, var/obj/effect/overmap/event/hazard)//make these accept both hazards or events + if(!(ship in ship_events)) + ship_events += ship + + for(var/event_type in hazard.events) + if(is_event_active(ship, event_type, hazard.difficulty))//event's already active, don't bother + continue + var/datum/event_meta/EM = new(hazard.difficulty, "Overmap event - [hazard.name]", event_type, add_to_queue = FALSE, is_one_shot = TRUE) + var/datum/event/E = new event_type(EM) + E.startWhen = 0 + E.endWhen = INFINITY + // TODO - Leshana - Note: event.setup() is called before these are set! + E.affecting_z = ship.map_z + E.victim = ship + LAZYADD(ship_events[ship], E) + +/decl/overmap_event_handler/proc/stop_hazard(var/obj/effect/overmap/visitable/ship/ship, var/obj/effect/overmap/event/hazard) + for(var/event_type in hazard.events) + var/datum/event/E = is_event_active(ship, event_type, hazard.difficulty) + if(E) + E.kill() + LAZYREMOVE(ship_events[ship], E) + +/decl/overmap_event_handler/proc/is_event_active(var/ship, var/event_type, var/severity) + if(!ship_events[ship]) return + for(var/datum/event/E in ship_events[ship]) + if(E.type == event_type && E.severity == severity) + return E + +/decl/overmap_event_handler/proc/on_turf_entered(var/turf/new_loc, var/obj/effect/overmap/visitable/ship/ship, var/old_loc) + if(!istype(ship)) + return + if(new_loc == old_loc) + return + + for(var/obj/effect/overmap/event/E in hazard_by_turf[new_loc]) + start_hazard(ship, E) + +/decl/overmap_event_handler/proc/on_turf_exited(var/turf/old_loc, var/obj/effect/overmap/visitable/ship/ship, var/new_loc) + if(!istype(ship)) + return + if(new_loc == old_loc) + return + + for(var/obj/effect/overmap/event/E in hazard_by_turf[old_loc]) + if(is_event_included(hazard_by_turf[new_loc], E)) + continue // If new turf has the same event as well... keep it going! + stop_hazard(ship, E) + +/decl/overmap_event_handler/proc/update_hazards(var/turf/T)//catch all updater + if(!istype(T)) + return + + var/list/active_hazards = list() + for(var/obj/effect/overmap/event/E in T) + if(is_event_included(active_hazards, E, TRUE)) + continue + active_hazards += E + + if(!active_hazards.len) + hazard_by_turf -= T + else + hazard_by_turf |= T + hazard_by_turf[T] = active_hazards + + for(var/obj/effect/overmap/visitable/ship/ship in T) + for(var/datum/event/E in ship_events[ship]) + if(is_event_in_turf(E, T)) + continue + E.kill() + LAZYREMOVE(ship_events[ship], E) + + for(var/obj/effect/overmap/event/E in active_hazards) + start_hazard(ship, E) + +/decl/overmap_event_handler/proc/is_event_in_turf(var/datum/event/E, var/turf/T) + for(var/obj/effect/overmap/event/hazard in hazard_by_turf[T]) + if(E in hazard.events && E.severity == hazard.difficulty) + return TRUE + +/decl/overmap_event_handler/proc/is_event_included(var/list/hazards, var/obj/effect/overmap/event/E, var/equal_or_better)//this proc is only used so it can break out of 2 loops cleanly + for(var/obj/effect/overmap/event/A in hazards) + if(istype(A, E.type) || istype(E, A.type)) + if(same_entries(A.events, E.events)) + if(equal_or_better) + if(A.difficulty >= E.difficulty) + return TRUE + else + hazards -= A // TODO - Improve this SPAGHETTI CODE! Done only when called from update_hazards. ~Leshana + else + if(A.difficulty == E.difficulty) + return TRUE diff --git a/code/modules/overmap/events/generation.dm b/code/modules/overmap/events/generation.dm new file mode 100644 index 0000000000..9b70308866 --- /dev/null +++ b/code/modules/overmap/events/generation.dm @@ -0,0 +1,49 @@ +/* +** /datum/overmap_event - Descriptors of how/what to spawn during overmap event generation +*/ + +//These now are basically only used to spawn hazards. Will be useful when we need to spawn group of moving hazards +/datum/overmap_event + var/name = "map event" + var/radius = 2 // Radius of the spawn circle around chosen epicenter + var/count = 6 // How many hazards to spawn + var/hazards // List (or single) typepath of hazard to spawn + var/continuous = TRUE //if it should form continous blob, or can have gaps + +/datum/overmap_event/meteor + name = "asteroid field" + count = 15 + radius = 4 + continuous = FALSE + hazards = /obj/effect/overmap/event/meteor + +/datum/overmap_event/electric + name = "electrical storm" + count = 11 + radius = 3 + hazards = /obj/effect/overmap/event/electric + +/datum/overmap_event/dust + name = "dust cloud" + count = 16 + radius = 4 + hazards = /obj/effect/overmap/event/dust + +/datum/overmap_event/ion + name = "ion cloud" + count = 8 + radius = 3 + hazards = /obj/effect/overmap/event/ion + +/datum/overmap_event/carp + name = "carp shoal" + count = 8 + radius = 3 + continuous = FALSE + hazards = /obj/effect/overmap/event/carp + +/datum/overmap_event/carp/major + name = "carp school" + count = 5 + radius = 4 + hazards = /obj/effect/overmap/event/carp/major \ No newline at end of file diff --git a/code/modules/overmap/events/overmap_event.dm b/code/modules/overmap/events/overmap_event.dm new file mode 100644 index 0000000000..7529adb032 --- /dev/null +++ b/code/modules/overmap/events/overmap_event.dm @@ -0,0 +1,86 @@ +/* +** /obj/effect/overmap/event - Actual instances of event hazards on the overmap map +*/ + +// We don't subtype /obj/effect/overmap/visitable because that'll create sections one can travel to +// And with them "existing" on the overmap Z-level things quickly get odd. +/obj/effect/overmap/event + name = "event" + icon = 'icons/obj/overmap.dmi' + icon_state = "event" + opacity = 1 + var/list/events // List of event datum paths + var/list/event_icon_states // Randomly picked from + var/difficulty = EVENT_LEVEL_MODERATE + var/weaknesses //if the BSA can destroy them and with what + var/list/victims //basically cached events on which Z level + +/obj/effect/overmap/event/Initialize() + . = ..() + icon_state = pick(event_icon_states) + GLOB.overmap_event_handler.update_hazards(loc) + +/obj/effect/overmap/event/Move() + var/turf/old_loc = loc + . = ..() + if(.) + GLOB.overmap_event_handler.update_hazards(old_loc) + GLOB.overmap_event_handler.update_hazards(loc) + +/obj/effect/overmap/event/forceMove(atom/destination) + var/old_loc = loc + . = ..() + if(.) + GLOB.overmap_event_handler.update_hazards(old_loc) + GLOB.overmap_event_handler.update_hazards(loc) + +/obj/effect/overmap/event/Destroy()//takes a look at this one as well, make sure everything is A-OK + var/turf/T = loc + . = ..() + GLOB.overmap_event_handler.update_hazards(T) + +// +// Definitions for specific types! +// + +/obj/effect/overmap/event/meteor + name = "asteroid field" + events = list(/datum/event/meteor_wave/overmap) + event_icon_states = list("meteor1", "meteor2", "meteor3", "meteor4") + difficulty = EVENT_LEVEL_MAJOR + weaknesses = OVERMAP_WEAKNESS_MINING | OVERMAP_WEAKNESS_EXPLOSIVE + +/obj/effect/overmap/event/electric + name = "electrical storm" + events = list(/datum/event/electrical_storm/overmap) + opacity = 0 + event_icon_states = list("electrical1", "electrical2", "electrical3", "electrical4") + difficulty = EVENT_LEVEL_MAJOR + weaknesses = OVERMAP_WEAKNESS_EMP + +/obj/effect/overmap/event/dust + name = "dust cloud" + events = list(/datum/event/dust/overmap) + event_icon_states = list("dust1", "dust2", "dust3", "dust4") + weaknesses = OVERMAP_WEAKNESS_MINING | OVERMAP_WEAKNESS_EXPLOSIVE | OVERMAP_WEAKNESS_FIRE + +/obj/effect/overmap/event/ion + name = "ion cloud" + events = list(/datum/event/ionstorm/overmap) + opacity = 0 + event_icon_states = list("ion1", "ion2", "ion3", "ion4") + difficulty = EVENT_LEVEL_MAJOR + weaknesses = OVERMAP_WEAKNESS_EMP + +/obj/effect/overmap/event/carp + name = "carp shoal" + events = list(/datum/event/carp_migration/overmap) + opacity = 0 + difficulty = EVENT_LEVEL_MODERATE + event_icon_states = list("carp1", "carp2") + weaknesses = OVERMAP_WEAKNESS_EXPLOSIVE | OVERMAP_WEAKNESS_FIRE + +/obj/effect/overmap/event/carp/major + name = "carp school" + difficulty = EVENT_LEVEL_MAJOR + event_icon_states = list("carp3", "carp4") diff --git a/code/modules/overmap/overmap_object.dm b/code/modules/overmap/overmap_object.dm new file mode 100644 index 0000000000..fd2798e7d6 --- /dev/null +++ b/code/modules/overmap/overmap_object.dm @@ -0,0 +1,36 @@ +/obj/effect/overmap + name = "map object" + icon = 'icons/obj/overmap.dmi' + icon_state = "object" + + var/known = 1 //shows up on nav computers automatically + var/scannable //if set to TRUE will show up on ship sensors for detailed scans + +//Overlay of how this object should look on other skyboxes +/obj/effect/overmap/proc/get_skybox_representation() + return + +/obj/effect/overmap/proc/get_scan_data(mob/user) + return desc + +/obj/effect/overmap/Initialize() + . = ..() + if(!global.using_map.use_overmap) + return INITIALIZE_HINT_QDEL + + if(known) + //layer = ABOVE_LIGHTING_LAYER + plane = PLANE_LIGHTING_ABOVE + for(var/obj/machinery/computer/ship/helm/H in global.machines) + H.get_known_sectors() + +/obj/effect/overmap/Crossed(var/obj/effect/overmap/visitable/other) + if(istype(other)) + for(var/obj/effect/overmap/visitable/O in loc) + SSskybox.rebuild_skyboxes(O.map_z) + +/obj/effect/overmap/Uncrossed(var/obj/effect/overmap/visitable/other) + if(istype(other)) + SSskybox.rebuild_skyboxes(other.map_z) + for(var/obj/effect/overmap/visitable/O in loc) + SSskybox.rebuild_skyboxes(O.map_z) diff --git a/code/modules/overmap/overmap_shuttle.dm b/code/modules/overmap/overmap_shuttle.dm new file mode 100644 index 0000000000..c3195c99de --- /dev/null +++ b/code/modules/overmap/overmap_shuttle.dm @@ -0,0 +1,180 @@ +#define waypoint_sector(waypoint) map_sectors["[waypoint.z]"] + +/datum/shuttle/autodock/overmap + warmup_time = 10 + + var/range = 0 //how many overmap tiles can shuttle go, for picking destinations and returning. + var/fuel_consumption = 0 //Amount of moles of gas consumed per trip; If zero, then shuttle is magic and does not need fuel + var/list/obj/structure/fuel_port/fuel_ports //the fuel ports of the shuttle (but usually just one) + var/obj/effect/overmap/visitable/ship/landable/myship //my overmap ship object + + category = /datum/shuttle/autodock/overmap + var/skill_needed = SKILL_BASIC + var/operator_skill = SKILL_BASIC + +/datum/shuttle/autodock/overmap/New(var/_name, var/obj/effect/shuttle_landmark/start_waypoint) + ..(_name, start_waypoint) + refresh_fuel_ports_list() + +/datum/shuttle/autodock/overmap/Destroy() + . = ..() + myship = null + +/datum/shuttle/autodock/overmap/proc/refresh_fuel_ports_list() //loop through all + fuel_ports = list() + for(var/area/A in shuttle_area) + for(var/obj/structure/fuel_port/fuel_port_in_area in A) + fuel_port_in_area.parent_shuttle = src + fuel_ports += fuel_port_in_area + +/datum/shuttle/autodock/overmap/fuel_check() + if(!src.try_consume_fuel()) //insufficient fuel + for(var/area/A in shuttle_area) + for(var/mob/living/M in A) + M.show_message("You hear the shuttle engines sputter... perhaps it doesn't have enough fuel?", 1, + "The shuttle shakes but fails to take off.", 2) + return 0 //failure! + return 1 //sucess, continue with launch + +/datum/shuttle/autodock/overmap/proc/can_go() + if(!next_location) + return FALSE + if(moving_status == SHUTTLE_INTRANSIT) + return FALSE //already going somewhere, current_location may be an intransit location instead of in a sector + var/our_sector = waypoint_sector(current_location) + if(!our_sector && myship?.landmark && next_location == myship.landmark) + return TRUE //We're not on the overmap yet (admin spawned probably), and we're trying to hook up with our openspace sector + return get_dist(our_sector, waypoint_sector(next_location)) <= range + +/datum/shuttle/autodock/overmap/can_launch() + return ..() && can_go() + +/datum/shuttle/autodock/overmap/can_force() + return ..() && can_go() + +/datum/shuttle/autodock/overmap/get_travel_time() + var/distance_mod = get_dist(waypoint_sector(current_location),waypoint_sector(next_location)) + var/skill_mod = 0.2*(skill_needed - operator_skill) + return move_time * (1 + distance_mod + skill_mod) + +/datum/shuttle/autodock/overmap/process_launch() + if(prob(10*max(0, skill_needed - operator_skill))) + var/places = get_possible_destinations() + var/place = pick(places) + set_destination(places[place]) + ..() + +/datum/shuttle/autodock/overmap/proc/set_destination(var/obj/effect/shuttle_landmark/A) + if(A != current_location) + next_location = A + +/datum/shuttle/autodock/overmap/proc/get_possible_destinations() + var/list/res = list() + var/our_sector = waypoint_sector(current_location) + if(!our_sector && myship?.landmark) + res["Perform Test Jump"] = myship.landmark + return res //We're not on the overmap, maybe an admin spawned us on a non-sector map. We're broken until we connect to our space z-level. + for (var/obj/effect/overmap/visitable/S in range(get_turf(our_sector), range)) + var/list/waypoints = S.get_waypoints(name) + for(var/obj/effect/shuttle_landmark/LZ in waypoints) + if(LZ.is_valid(src)) + res["[waypoints[LZ]] - [LZ.name]"] = LZ + return res + +/datum/shuttle/autodock/overmap/get_location_name() + if(moving_status == SHUTTLE_INTRANSIT) + return "In transit" + return "[waypoint_sector(current_location)] - [current_location]" + +/datum/shuttle/autodock/overmap/get_destination_name() + if(!next_location) + return "None" + return "[waypoint_sector(next_location)] - [next_location]" + +/datum/shuttle/autodock/overmap/proc/try_consume_fuel() //returns 1 if sucessful, returns 0 if error (like insufficient fuel) + if(!fuel_consumption) + return 1 //shuttles with zero fuel consumption are magic and can always launch + if(!fuel_ports.len) + return 0 //Nowhere to get fuel from + var/list/obj/item/weapon/tank/fuel_tanks = list() + for(var/obj/structure/FP in fuel_ports) //loop through fuel ports and assemble list of all fuel tanks + var/obj/item/weapon/tank/FT = locate() in FP + if(FT) + fuel_tanks += FT + if(!fuel_tanks.len) + return 0 //can't launch if you have no fuel TANKS in the ports + var/total_flammable_gas_moles = 0 + for(var/obj/item/weapon/tank/FT in fuel_tanks) + total_flammable_gas_moles += FT.air_contents.get_by_flag(XGM_GAS_FUEL) + if(total_flammable_gas_moles < fuel_consumption) //not enough fuel + return 0 + // We are going to succeed if we got to here, so start consuming that fuel + var/fuel_to_consume = fuel_consumption + for(var/obj/item/weapon/tank/FT in fuel_tanks) //loop through tanks, consume their fuel one by one + var/fuel_available = FT.air_contents.get_by_flag(XGM_GAS_FUEL) + if(!fuel_available) // Didn't even have fuel. + continue + if(fuel_available >= fuel_to_consume) + FT.remove_air_by_flag(XGM_GAS_FUEL, fuel_to_consume) + return 1 //ALL REQUIRED FUEL HAS BEEN CONSUMED, GO FOR LAUNCH! + else //this tank doesn't have enough to launch shuttle by itself, so remove all its fuel, then continue loop + fuel_to_consume -= fuel_available + FT.remove_air_by_flag(XGM_GAS_FUEL, fuel_available) + +/obj/structure/fuel_port + name = "fuel port" + desc = "The fuel input port of the shuttle. Holds one fuel tank. Use a crowbar to open and close it." + icon = 'icons/turf/shuttle_parts.dmi' + icon_state = "fuel_port" + density = 0 + anchored = 1 + var/icon_closed = "fuel_port" + var/icon_empty = "fuel_port_empty" + var/icon_full = "fuel_port_full" + var/opened = 0 + var/parent_shuttle + +/obj/structure/fuel_port/Initialize() + . = ..() + new /obj/item/weapon/tank/phoron(src) + +/obj/structure/fuel_port/attack_hand(mob/user as mob) + if(!opened) + to_chat(user, "The door is secured tightly. You'll need a crowbar to open it.") + return + else if(contents.len > 0) + user.put_in_hands(contents[1]) + update_icon() + +/obj/structure/fuel_port/update_icon() + if(opened) + if(contents.len > 0) + icon_state = icon_full + else + icon_state = icon_empty + else + icon_state = icon_closed + ..() + +/obj/structure/fuel_port/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(W.is_crowbar()) + if(opened) + to_chat(user, "You tightly shut \the [src] door.") + playsound(src.loc, 'sound/effects/locker_close.ogg', 25, 0, -3) + opened = 0 + else + to_chat(user, "You open up \the [src] door.") + playsound(src.loc, 'sound/effects/locker_open.ogg', 15, 1, -3) + opened = 1 + else if(istype(W,/obj/item/weapon/tank)) + if(!opened) + to_chat(user, "\The [src] door is still closed!") + return + if(contents.len == 0) + user.unEquip(W, src) + W.forceMove(src) + update_icon() + +// Walls hide stuff inside them, but we want to be visible. +/obj/structure/fuel_port/hide() + return \ No newline at end of file diff --git a/code/modules/overmap/sectors.dm b/code/modules/overmap/sectors.dm index 5309b05096..f437874609 100644 --- a/code/modules/overmap/sectors.dm +++ b/code/modules/overmap/sectors.dm @@ -1,124 +1,162 @@ - //=================================================================================== -//Hook for building overmap +//Overmap object representing zlevel(s) //=================================================================================== -var/global/list/map_sectors = list() - -/hook/startup/proc/build_map() - if(!config.use_overmap) - return 1 - testing("Building overmap...") - var/obj/effect/mapinfo/data - for(var/level in 1 to world.maxz) - data = locate("sector[level]") - if (data) - testing("Located sector \"[data.name]\" at [data.mapx],[data.mapy] corresponding to zlevel [level]") - map_sectors["[level]"] = new data.obj_type(data) - return 1 - -//=================================================================================== -//Metaobject for storing information about sector this zlevel is representing. -//Should be placed only once on every zlevel. -//=================================================================================== -/obj/effect/mapinfo/ - name = "map info metaobject" - icon = 'icons/mob/screen1.dmi' - icon_state = "x2" - invisibility = 101 - var/obj_type //type of overmap object it spawns - var/landing_area //type of area used as inbound shuttle landing, null if no shuttle landing area - var/zlevel - var/mapx //coordinates on the - var/mapy //overmap zlevel - var/known = 1 - -/obj/effect/mapinfo/New() - tag = "sector[z]" - zlevel = z - loc = null - -/obj/effect/mapinfo/sector - name = "generic sector" - obj_type = /obj/effect/map/sector - -/obj/effect/mapinfo/ship - name = "generic ship" - obj_type = /obj/effect/map/ship - - -//=================================================================================== -//Overmap object representing zlevel -//=================================================================================== - -/obj/effect/map +/obj/effect/overmap/visitable name = "map object" - icon = 'icons/obj/items.dmi' - icon_state = "sheet-plasteel" - var/map_z = 0 - var/area/shuttle/shuttle_landing - var/always_known = 1 + scannable = TRUE -/obj/effect/map/New(var/obj/effect/mapinfo/data) - map_z = data.zlevel - name = data.name - always_known = data.known - if (data.icon != 'icons/mob/screen1.dmi') - icon = data.icon - icon_state = data.icon_state - if(data.desc) - desc = data.desc - var/new_x = data.mapx ? data.mapx : rand(OVERMAP_EDGE, world.maxx - OVERMAP_EDGE) - var/new_y = data.mapy ? data.mapy : rand(OVERMAP_EDGE, world.maxy - OVERMAP_EDGE) - loc = locate(new_x, new_y, OVERMAP_ZLEVEL) + var/list/map_z = list() + var/list/extra_z_levels //if you need to manually insist that these z-levels are part of this sector, for things like edge-of-map step trigger transitions rather than multi-z complexes - if(data.landing_area) - shuttle_landing = locate(data.landing_area) + var/list/initial_generic_waypoints //store landmark_tag of landmarks that should be added to the actual lists below on init. + var/list/initial_restricted_waypoints //For use with non-automatic landmarks (automatic ones add themselves). -/obj/effect/map/CanPass(atom/movable/A) - testing("[A] attempts to enter sector\"[name]\"") - return 1 + var/list/generic_waypoints = list() //waypoints that any shuttle can use + var/list/restricted_waypoints = list() //waypoints for specific shuttles + var/docking_codes -/obj/effect/map/Crossed(atom/movable/A) - testing("[A] has entered sector\"[name]\"") - if (istype(A,/obj/effect/map/ship)) - var/obj/effect/map/ship/S = A - S.current_sector = src + var/start_x //Coordinates for self placing + var/start_y //will use random values if unset -/obj/effect/map/Uncrossed(atom/movable/A) - testing("[A] has left sector\"[name]\"") - if (istype(A,/obj/effect/map/ship)) - var/obj/effect/map/ship/S = A - S.current_sector = null + var/base = 0 //starting sector, counts as station_levels + var/in_space = 1 //can be accessed via lucky EVA -/obj/effect/map/sector + var/hide_from_reports = FALSE + + var/has_distress_beacon + +/obj/effect/overmap/visitable/Initialize() + . = ..() + if(. == INITIALIZE_HINT_QDEL) + return + + find_z_levels() // This populates map_z and assigns z levels to the ship. + register_z_levels() // This makes external calls to update global z level information. + + if(!global.using_map.overmap_z) + build_overmap() + + start_x = start_x || rand(OVERMAP_EDGE, global.using_map.overmap_size - OVERMAP_EDGE) + start_y = start_y || rand(OVERMAP_EDGE, global.using_map.overmap_size - OVERMAP_EDGE) + + forceMove(locate(start_x, start_y, global.using_map.overmap_z)) + + docking_codes = "[ascii2text(rand(65,90))][ascii2text(rand(65,90))][ascii2text(rand(65,90))][ascii2text(rand(65,90))]" + + testing("Located sector \"[name]\" at [start_x],[start_y], containing Z [english_list(map_z)]") + + LAZYADD(SSshuttles.sectors_to_initialize, src) //Queued for further init. Will populate the waypoint lists; waypoints not spawned yet will be added in as they spawn. + SSshuttles.process_init_queues() + +//This is called later in the init order by SSshuttles to populate sector objects. Importantly for subtypes, shuttles will be created by then. +/obj/effect/overmap/visitable/proc/populate_sector_objects() + +/obj/effect/overmap/visitable/proc/get_areas() + . = list() + for(var/area/A) + if (A.z in map_z) + . += A + +/obj/effect/overmap/visitable/proc/find_z_levels() + map_z = GetConnectedZlevels(z) + if(LAZYLEN(extra_z_levels)) + map_z |= extra_z_levels + +/obj/effect/overmap/visitable/proc/register_z_levels() + for(var/zlevel in map_z) + map_sectors["[zlevel]"] = src + + global.using_map.player_levels |= map_z + if(!in_space) + global.using_map.sealed_levels |= map_z + if(base) + global.using_map.station_levels |= map_z + global.using_map.contact_levels |= map_z + global.using_map.map_levels |= map_z + +/obj/effect/overmap/visitable/proc/get_space_zlevels() + if(in_space) + return map_z + else + return list() + +//Helper for init. +/obj/effect/overmap/visitable/proc/check_ownership(obj/object) + if((object.z in map_z) && !(get_area(object) in SSshuttles.shuttle_areas)) + return 1 + +//If shuttle_name is false, will add to generic waypoints; otherwise will add to restricted. Does not do checks. +/obj/effect/overmap/visitable/proc/add_landmark(obj/effect/shuttle_landmark/landmark, shuttle_name) + landmark.sector_set(src, shuttle_name) + if(shuttle_name) + LAZYADD(restricted_waypoints[shuttle_name], landmark) + else + generic_waypoints += landmark + +/obj/effect/overmap/visitable/proc/remove_landmark(obj/effect/shuttle_landmark/landmark, shuttle_name) + if(shuttle_name) + var/list/shuttles = restricted_waypoints[shuttle_name] + LAZYREMOVE(shuttles, landmark) + else + generic_waypoints -= landmark + +/obj/effect/overmap/visitable/proc/get_waypoints(var/shuttle_name) + . = list() + for(var/obj/effect/overmap/visitable/contained in src) + . += contained.get_waypoints(shuttle_name) + for(var/thing in generic_waypoints) + .[thing] = name + if(shuttle_name in restricted_waypoints) + for(var/thing in restricted_waypoints[shuttle_name]) + .[thing] = name + +/obj/effect/overmap/visitable/proc/generate_skybox() + return + +/obj/effect/overmap/visitable/MouseEntered(location, control, params) + openToolTip(user = usr, tip_src = src, params = params, title = name) + + ..() + +/obj/effect/overmap/visitable/MouseDown() + closeToolTip(usr) //No reason not to, really + + ..() + +/obj/effect/overmap/visitable/MouseExited() + closeToolTip(usr) //No reason not to, really + + ..() + +/obj/effect/overmap/visitable/sector name = "generic sector" desc = "Sector with some stuff in it." + icon_state = "sector" anchored = 1 -//Space stragglers go here +// Because of the way these are spawned, they will potentially have their invisibility adjusted by the turfs they are mapped on +// prior to being moved to the overmap. This blocks that. Use set_invisibility to adjust invisibility as needed instead. +/obj/effect/overmap/visitable/sector/hide() -/obj/effect/map/sector/temporary - name = "Deep Space" - icon_state = "" - always_known = 0 +/proc/build_overmap() + if(!global.using_map.use_overmap) + return 1 -/obj/effect/map/sector/temporary/New(var/nx, var/ny, var/nz) - loc = locate(nx, ny, OVERMAP_ZLEVEL) - map_z = nz - map_sectors["[map_z]"] = src - testing("Temporary sector at [x],[y] was created, corresponding zlevel is [map_z].") + testing("Building overmap...") + world.increment_max_z() + global.using_map.overmap_z = world.maxz -/obj/effect/map/sector/temporary/Destroy() - map_sectors["[map_z]"] = null - testing("Temporary sector at [x],[y] was deleted.") - if (can_die()) - testing("Associated zlevel disappeared.") - world.maxz-- + testing("Putting overmap on [global.using_map.overmap_z]") + var/area/overmap/A = new + for (var/square in block(locate(1,1,global.using_map.overmap_z), locate(global.using_map.overmap_size,global.using_map.overmap_size,global.using_map.overmap_z))) + var/turf/T = square + if(T.x == global.using_map.overmap_size || T.y == global.using_map.overmap_size) + T = T.ChangeTurf(/turf/unsimulated/map/edge) + else + T = T.ChangeTurf(/turf/unsimulated/map) + ChangeArea(T, A) -/obj/effect/map/sector/temporary/proc/can_die(var/mob/observer) - testing("Checking if sector at [map_z] can die.") - for(var/mob/M in player_list) - if(M != observer && M.z == map_z) - testing("There are people on it.") - return 0 + global.using_map.sealed_levels |= global.using_map.overmap_z + + testing("Overmap build complete.") return 1 diff --git a/code/modules/overmap/ships/computers/computer_shims.dm b/code/modules/overmap/ships/computers/computer_shims.dm new file mode 100644 index 0000000000..c685acc49d --- /dev/null +++ b/code/modules/overmap/ships/computers/computer_shims.dm @@ -0,0 +1,104 @@ +/* +** +** HELLO! DON'T COPY THINGS FROM HERE - READ THIS! +** +** The ship machines/computers ported from baystation expect certain procs and infrastruture that we don't have. +** I /could/ just port those computers to our code, but I actually *like* that infrastructure. But I +** don't have time (yet) to implement it fully in our codebase, so I'm shimming it here experimentally as a test +** bed for later implementing it on /obj/machinery and /obj/machinery/computer for everything. ~Leshana (March 2020) +*/ + +// +// Power +// + +// This will have this machine have its area eat this much power next tick, and not afterwards. Do not use for continued power draw. +/obj/machinery/proc/use_power_oneoff(var/amount, var/chan = -1) + return use_power(amount, chan) + +// Change one of the power consumption vars +/obj/machinery/proc/change_power_consumption(new_power_consumption, use_power_mode = USE_POWER_IDLE) + switch(use_power_mode) + if(USE_POWER_IDLE) + idle_power_usage = new_power_consumption + if(USE_POWER_ACTIVE) + active_power_usage = new_power_consumption + // No need to do anything else in our power scheme. + +// Defining directly here to avoid conflicts with existing set_broken procs in our codebase that behave differently. +/obj/machinery/atmospherics/unary/engine/proc/set_broken(var/new_state, var/cause) + if(!(stat & BROKEN) == !new_state) + return // Nothing changed + stat ^= BROKEN + update_icon() + + +// +// Compoenents +// + +/obj/machinery/proc/total_component_rating_of_type(var/part_type) + . = 0 + for(var/thing in component_parts) + if(istype(thing, part_type)) + var/obj/item/weapon/stock_parts/part = thing + . += part.rating + // Now isn't THIS a cool idea? + // for(var/path in uncreated_component_parts) + // if(ispath(path, part_type)) + // var/obj/item/weapon/stock_parts/comp = path + // . += initial(comp.rating) * uncreated_component_parts[path] + +// +// Skills +// +/obj/machinery/computer/ship + var/core_skill = /datum/skill/devices //The skill used for skill checks for this machine (mostly so subtypes can use different skills). + +// +// Topic +// + +/obj/machinery/computer/ship/proc/DefaultTopicState() + return global.default_state + +/obj/machinery/computer/ship/Topic(var/href, var/href_list = list(), var/datum/topic_state/state) + if((. = ..())) + return + state = state || DefaultTopicState() || global.default_state + if(CanUseTopic(usr, state, href_list) == STATUS_INTERACTIVE) + CouldUseTopic(usr) + return OnTopic(usr, href_list, state) + CouldNotUseTopic(usr) + return TRUE + +/obj/machinery/computer/ship/proc/OnTopic(var/mob/user, var/href_list, var/datum/topic_state/state) + return TOPIC_NOACTION + +// +// Interaction +// + +// If you want to have interface interactions handled for you conveniently, use this. +// Return TRUE for handled. +// If you perform direct interactions in here, you are responsible for ensuring that full interactivity checks have been made (i.e CanInteract). +// The checks leading in to here only guarantee that the user should be able to view a UI. +/obj/machinery/computer/ship/proc/interface_interact(var/mob/user) + ui_interact(user) + return TRUE + +/obj/machinery/computer/ship/attack_ai(mob/user) + if(CanUseTopic(user, DefaultTopicState()) > STATUS_CLOSE) + return interface_interact(user) + +// After a recent rework this should mostly be safe. +/obj/machinery/computer/ship/attack_ghost(mob/user) + interface_interact(user) + +// If you don't call parent in this proc, you must make all appropriate checks yourself. +// If you do, you must respect the return value. +/obj/machinery/computer/ship/attack_hand(mob/user) + if((. = ..())) + return + if(CanUseTopic(user, DefaultTopicState()) > STATUS_CLOSE) + return interface_interact(user) diff --git a/code/modules/overmap/ships/computers/engine_control.dm b/code/modules/overmap/ships/computers/engine_control.dm index 01920ee2e0..9c77e1b995 100644 --- a/code/modules/overmap/ships/computers/engine_control.dm +++ b/code/modules/overmap/ships/computers/engine_control.dm @@ -1,46 +1,24 @@ //Engine control and monitoring console -/obj/machinery/computer/engines +/obj/machinery/computer/ship/engines name = "engine control console" icon_keyboard = "tech_key" - icon_screen = "id" - var/state = "status" - var/list/engines = list() - var/obj/effect/map/ship/linked + icon_screen = "engines" + var/display_state = "status" -/obj/machinery/computer/engines/Initialize() - . = ..() - linked = map_sectors["[z]"] - if (linked) - if (!linked.eng_control) - linked.eng_control = src - testing("Engines console at level [z] found a corresponding overmap object '[linked.name]'.") - else - testing("Engines console at level [z] was unable to find a corresponding overmap object.") - - for(var/datum/ship_engine/E in engines) - if (E.zlevel == z && !(E in engines)) - engines += E - -/obj/machinery/computer/engines/attack_hand(var/mob/user as mob) - if(..()) - user.unset_machine() - return - - if(!isAI(user)) - user.set_machine(src) - - ui_interact(user) - -/obj/machinery/computer/engines/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) +/obj/machinery/computer/ship/engines/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) if(!linked) + display_reconnect_dialog(user, "ship control systems") return var/data[0] - data["state"] = state + data["state"] = display_state + data["global_state"] = linked.engines_state + data["global_limit"] = round(linked.thrust_limit*100) + var/total_thrust = 0 var/list/enginfo[0] - for(var/datum/ship_engine/E in engines) + for(var/datum/ship_engine/E in linked.engines) var/list/rdata[0] rdata["eng_type"] = E.name rdata["eng_on"] = E.is_on() @@ -48,54 +26,70 @@ rdata["eng_thrust_limiter"] = round(E.get_thrust_limit()*100) rdata["eng_status"] = E.get_status() rdata["eng_reference"] = "\ref[E]" + total_thrust += E.get_thrust() enginfo.Add(list(rdata)) data["engines_info"] = enginfo + data["total_thrust"] = total_thrust ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) - ui = new(user, src, ui_key, "engines_control.tmpl", "[linked.name] Engines Control", 380, 530) + ui = new(user, src, ui_key, "engines_control.tmpl", "[linked.name] Engines Control", 390, 530) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) -/obj/machinery/computer/engines/Topic(href, href_list) +/obj/machinery/computer/ship/engines/OnTopic(var/mob/user, var/list/href_list, state) if(..()) - return 1 + return ..() if(href_list["state"]) - state = href_list["state"] + display_state = href_list["state"] + return TOPIC_REFRESH + + if(href_list["global_toggle"]) + linked.engines_state = !linked.engines_state + for(var/datum/ship_engine/E in linked.engines) + if(linked.engines_state == !E.is_on()) + E.toggle() + return TOPIC_REFRESH + + if(href_list["set_global_limit"]) + var/newlim = input("Input new thrust limit (0..100%)", "Thrust limit", linked.thrust_limit*100) as num + if(!CanInteract(user, state)) + return TOPIC_NOACTION + linked.thrust_limit = CLAMP(newlim/100, 0, 1) + for(var/datum/ship_engine/E in linked.engines) + E.set_thrust_limit(linked.thrust_limit) + return TOPIC_REFRESH + + if(href_list["global_limit"]) + linked.thrust_limit = CLAMP(linked.thrust_limit + text2num(href_list["global_limit"]), 0, 1) + for(var/datum/ship_engine/E in linked.engines) + E.set_thrust_limit(linked.thrust_limit) + return TOPIC_REFRESH if(href_list["engine"]) if(href_list["set_limit"]) var/datum/ship_engine/E = locate(href_list["engine"]) var/newlim = input("Input new thrust limit (0..100)", "Thrust limit", E.get_thrust_limit()) as num + if(!CanInteract(user, state)) + return var/limit = CLAMP(newlim/100, 0, 1) - if(E) + if(istype(E)) E.set_thrust_limit(limit) - + return TOPIC_REFRESH if(href_list["limit"]) var/datum/ship_engine/E = locate(href_list["engine"]) var/limit = CLAMP(E.get_thrust_limit() + text2num(href_list["limit"]), 0, 1) - if(E) + if(istype(E)) E.set_thrust_limit(limit) + return TOPIC_REFRESH if(href_list["toggle"]) var/datum/ship_engine/E = locate(href_list["engine"]) - if(E) + if(istype(E)) E.toggle() - - add_fingerprint(usr) - updateUsrDialog() - -/obj/machinery/computer/engines/proc/burn() - if(engines.len == 0) - return 0 - var/res = 0 - for(var/datum/ship_engine/E in engines) - res |= E.burn() - return res - -/obj/machinery/computer/engines/proc/get_total_thrust() - for(var/datum/ship_engine/E in engines) - . += E.get_thrust() + return TOPIC_REFRESH + return TOPIC_REFRESH + return TOPIC_NOACTION \ No newline at end of file diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm index 0249fae482..cd57485cb7 100644 --- a/code/modules/overmap/ships/computers/helm.dm +++ b/code/modules/overmap/ships/computers/helm.dm @@ -1,151 +1,188 @@ -/obj/machinery/computer/helm +// LEGACY_RECORD_STRUCTURE(all_waypoints, waypoint) +GLOBAL_LIST_EMPTY(all_waypoints) +/datum/computer_file/data/waypoint + var/list/fields + filetype = "WPT" + +/datum/computer_file/data/waypoint/New() + ..() + fields = list() + GLOB.all_waypoints.Add(src) + +/datum/computer_file/data/waypoint/Destroy() + . = ..() + GLOB.all_waypoints.Remove(src); +// End LEGACY_RECORD_STRUCTURE(all_waypoints, waypoint) + +/obj/machinery/computer/ship/helm name = "helm control console" - icon_keyboard = "med_key" - icon_screen = "id" - var/state = "status" - var/obj/effect/map/ship/linked //connected overmap object + icon_keyboard = "teleport_key" + icon_screen = "helm" + light_color = "#7faaff" + core_skill = /datum/skill/pilot var/autopilot = 0 - var/manual_control = 0 var/list/known_sectors = list() var/dx //desitnation var/dy //coordinates + var/speedlimit = 1/(20 SECONDS) //top speed for autopilot, 5 + var/accellimit = 0.001 //manual limiter for acceleration + req_one_access = list(access_pilot) //VOREStation Edit -/obj/machinery/computer/helm/Initialize() +/obj/machinery/computer/ship/helm/Initialize() . = ..() - linked = map_sectors["[z]"] - if (linked) - if(!linked.nav_control) - linked.nav_control = src - testing("Helm console at level [z] found a corresponding overmap object '[linked.name]'.") - else - testing("Helm console at level [z] was unable to find a corresponding overmap object.") + get_known_sectors() - for(var/level in map_sectors) - var/obj/effect/map/sector/S = map_sectors["[level]"] - if (istype(S) && S.always_known) - var/datum/data/record/R = new() +/obj/machinery/computer/ship/helm/proc/get_known_sectors() + var/area/overmap/map = locate() in world + for(var/obj/effect/overmap/visitable/sector/S in map) + if (S.known) + var/datum/computer_file/data/waypoint/R = new() R.fields["name"] = S.name R.fields["x"] = S.x R.fields["y"] = S.y - known_sectors += R + known_sectors[S.name] = R -/obj/machinery/computer/helm/process() +/obj/machinery/computer/ship/helm/process() ..() if (autopilot && dx && dy) - var/turf/T = locate(dx,dy,1) + var/turf/T = locate(dx,dy,global.using_map.overmap_z) if(linked.loc == T) if(linked.is_still()) autopilot = 0 else linked.decelerate() - - var/brake_path = linked.get_brake_path() - - if(get_dist(linked.loc, T) > brake_path) - linked.accelerate(get_dir(linked.loc, T)) else - linked.decelerate() + var/brake_path = linked.get_brake_path() + var/direction = get_dir(linked.loc, T) + var/acceleration = min(linked.get_acceleration(), accellimit) + var/speed = linked.get_speed() + var/heading = linked.get_heading() + // Destination is current grid or speedlimit is exceeded + if ((get_dist(linked.loc, T) <= brake_path) || speed > speedlimit) + linked.decelerate() + // Heading does not match direction + else if (heading & ~direction) + linked.accelerate(turn(heading & ~direction, 180), accellimit) + // All other cases, move toward direction + else if (speed + acceleration <= speedlimit) + linked.accelerate(direction, accellimit) + linked.operator_skill = null//if this is on you can't dodge meteors return -/obj/machinery/computer/helm/relaymove(var/mob/user, direction) - if(manual_control && linked) - linked.relaymove(user,direction) +/obj/machinery/computer/ship/helm/relaymove(var/mob/user, direction) + if(viewing_overmap(user) && linked) + if(prob(user.skill_fail_chance(/datum/skill/pilot, 50, linked.skill_needed, factor = 1))) + direction = turn(direction,pick(90,-90)) + linked.relaymove(user, direction, accellimit) return 1 -/obj/machinery/computer/helm/check_eye(var/mob/user as mob) - if (!manual_control) - return -1 - if (!get_dist(user, src) > 1 || user.blinded || !linked ) - return -1 - return 0 - -/obj/machinery/computer/helm/attack_hand(var/mob/user as mob) - if(..()) - user.unset_machine() - manual_control = 0 - return - - if(!isAI(user)) - user.set_machine(src) - if(linked) - user.reset_view(linked) - - ui_interact(user) - -/obj/machinery/computer/helm/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(!linked) - return - +/obj/machinery/computer/ship/helm/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] - data["state"] = state - data["sector"] = linked.current_sector ? linked.current_sector.name : "Deep Space" - data["sector_info"] = linked.current_sector ? linked.current_sector.desc : "Not Available" - data["s_x"] = linked.x - data["s_y"] = linked.y - data["dest"] = dy && dx - data["d_x"] = dx - data["d_y"] = dy - data["speed"] = linked.get_speed() - data["accel"] = round(linked.get_acceleration()) - data["heading"] = linked.get_heading() ? dir2angle(linked.get_heading()) : 0 - data["autopilot"] = autopilot - data["manual_control"] = manual_control + if(!linked) + display_reconnect_dialog(user, "helm") + else + var/turf/T = get_turf(linked) + var/obj/effect/overmap/visitable/sector/current_sector = locate() in T - var/list/locations[0] - for (var/datum/data/record/R in known_sectors) - var/list/rdata[0] - rdata["name"] = R.fields["name"] - rdata["x"] = R.fields["x"] - rdata["y"] = R.fields["y"] - rdata["reference"] = "\ref[R]" - locations.Add(list(rdata)) + data["sector"] = current_sector ? current_sector.name : "Deep Space" + data["sector_info"] = current_sector ? current_sector.desc : "Not Available" + data["landed"] = linked.get_landed_info() + data["s_x"] = linked.x + data["s_y"] = linked.y + data["dest"] = dy && dx + data["d_x"] = dx + data["d_y"] = dy + data["speedlimit"] = speedlimit ? speedlimit*1000 : "Halted" + data["accel"] = min(round(linked.get_acceleration()*1000, 0.01),accellimit*1000) + data["heading"] = linked.get_heading_degrees() + data["autopilot"] = autopilot + data["manual_control"] = viewing_overmap(user) + data["canburn"] = linked.can_burn() + data["accellimit"] = accellimit*1000 - data["locations"] = locations + var/speed = round(linked.get_speed()*1000, 0.01) + if(linked.get_speed() < SHIP_SPEED_SLOW) + speed = "[speed]" + if(linked.get_speed() > SHIP_SPEED_FAST) + speed = "[speed]" + data["speed"] = speed - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) - ui = new(user, src, ui_key, "helm.tmpl", "[linked.name] Helm Control", 380, 530) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) + if(linked.get_speed()) + data["ETAnext"] = "[round(linked.ETA()/10)] seconds" + else + data["ETAnext"] = "N/A" -/obj/machinery/computer/helm/Topic(href, href_list) + var/list/locations[0] + for (var/key in known_sectors) + var/datum/computer_file/data/waypoint/R = known_sectors[key] + var/list/rdata[0] + rdata["name"] = R.fields["name"] + rdata["x"] = R.fields["x"] + rdata["y"] = R.fields["y"] + rdata["reference"] = "\ref[R]" + locations.Add(list(rdata)) + + data["locations"] = locations + + ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "helm.tmpl", "[linked.name] Helm Control", 565, 545) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/obj/machinery/computer/ship/helm/OnTopic(var/mob/user, var/list/href_list, state) if(..()) - return 1 + return TOPIC_HANDLED - if (!linked) - return + if(!linked) + return TOPIC_HANDLED if (href_list["add"]) - var/datum/data/record/R = new() + var/datum/computer_file/data/waypoint/R = new() var/sec_name = input("Input naviation entry name", "New navigation entry", "Sector #[known_sectors.len]") as text + if(!CanInteract(user,state)) + return TOPIC_NOACTION if(!sec_name) sec_name = "Sector #[known_sectors.len]" R.fields["name"] = sec_name + if(sec_name in known_sectors) + to_chat(user, "Sector with that name already exists, please input a different name.") + return TOPIC_REFRESH switch(href_list["add"]) if("current") R.fields["x"] = linked.x R.fields["y"] = linked.y if("new") var/newx = input("Input new entry x coordinate", "Coordinate input", linked.x) as num - R.fields["x"] = CLAMP(newx, 1, world.maxx) + if(!CanInteract(user,state)) + return TOPIC_REFRESH var/newy = input("Input new entry y coordinate", "Coordinate input", linked.y) as num + if(!CanInteract(user,state)) + return TOPIC_NOACTION + R.fields["x"] = CLAMP(newx, 1, world.maxx) R.fields["y"] = CLAMP(newy, 1, world.maxy) - known_sectors += R + known_sectors[sec_name] = R if (href_list["remove"]) - var/datum/data/record/R = locate(href_list["remove"]) - known_sectors.Remove(R) + var/datum/computer_file/data/waypoint/R = locate(href_list["remove"]) + if(R) + known_sectors.Remove(R.fields["name"]) + qdel(R) if (href_list["setx"]) var/newx = input("Input new destiniation x coordinate", "Coordinate input", dx) as num|null + if(!CanInteract(user,state)) + return if (newx) dx = CLAMP(newx, 1, world.maxx) if (href_list["sety"]) var/newy = input("Input new destiniation y coordinate", "Coordinate input", dy) as num|null + if(!CanInteract(user,state)) + return if (newy) dy = CLAMP(newy, 1, world.maxy) @@ -157,9 +194,20 @@ dx = 0 dy = 0 + if (href_list["speedlimit"]) + var/newlimit = input("Input new speed limit for autopilot (0 to brake)", "Autopilot speed limit", speedlimit*1000) as num|null + if(newlimit) + speedlimit = CLAMP(newlimit/1000, 0, 100) + if (href_list["accellimit"]) + var/newlimit = input("Input new acceleration limit", "Acceleration limit", accellimit*1000) as num|null + if(newlimit) + accellimit = max(newlimit/1000, 0) + if (href_list["move"]) var/ndir = text2num(href_list["move"]) - linked.relaymove(usr, ndir) + if(prob(user.skill_fail_chance(/datum/skill/pilot, 50, linked.skill_needed, factor = 1))) + ndir = turn(ndir,pick(90,-90)) + linked.relaymove(user, ndir, accellimit) if (href_list["brake"]) linked.decelerate() @@ -168,10 +216,71 @@ autopilot = !autopilot if (href_list["manual"]) - manual_control = !manual_control + viewing_overmap(user) ? unlook(user) : look(user) - if (href_list["state"]) - state = href_list["state"] - add_fingerprint(usr) + add_fingerprint(user) updateUsrDialog() + +/obj/machinery/computer/ship/navigation + name = "navigation console" + icon_keyboard = "generic_key" + icon_screen = "helm" + +/obj/machinery/computer/ship/navigation/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + if(!linked) + display_reconnect_dialog(user, "Navigation") + return + + var/data[0] + + + var/turf/T = get_turf(linked) + var/obj/effect/overmap/visitable/sector/current_sector = locate() in T + + data["sector"] = current_sector ? current_sector.name : "Deep Space" + data["sector_info"] = current_sector ? current_sector.desc : "Not Available" + data["s_x"] = linked.x + data["s_y"] = linked.y + data["speed"] = round(linked.get_speed()*1000, 0.01) + data["accel"] = round(linked.get_acceleration()*1000, 0.01) + data["heading"] = linked.get_heading_degrees() + data["viewing"] = viewing_overmap(user) + + if(linked.get_speed()) + data["ETAnext"] = "[round(linked.ETA()/10)] seconds" + else + data["ETAnext"] = "N/A" + + ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "nav.tmpl", "[linked.name] Navigation Screen", 380, 530) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/obj/machinery/computer/ship/navigation/OnTopic(var/mob/user, var/list/href_list) + if(..()) + return TOPIC_HANDLED + + if (!linked) + return TOPIC_NOACTION + + if (href_list["viewing"]) + viewing_overmap(user) ? unlook(user) : look(user) + return TOPIC_REFRESH + +/obj/machinery/computer/ship/navigation/telescreen //little hacky but it's only used on one ship so it should be okay + icon_state = "tele_nav" + icon_keyboard = null + icon_screen = null + density = 0 + +/obj/machinery/computer/ship/navigation/telescreen/update_icon() + if(stat & NOPOWER || stat & BROKEN) + icon_state = "tele_off" + set_light(0) + else + icon_state = "tele_nav" + set_light(light_range_on, light_power_on) + ..() diff --git a/code/modules/overmap/ships/computers/sensors.dm b/code/modules/overmap/ships/computers/sensors.dm new file mode 100644 index 0000000000..982872a1e2 --- /dev/null +++ b/code/modules/overmap/ships/computers/sensors.dm @@ -0,0 +1,226 @@ +/obj/machinery/computer/ship/sensors + name = "sensors console" + icon_keyboard = "teleport_key" + icon_screen = "teleport" + light_color = "#77fff8" + extra_view = 4 + var/obj/machinery/shipsensors/sensors + +/obj/machinery/computer/ship/sensors/attempt_hook_up(obj/effect/overmap/visitable/ship/sector) + if(!(. = ..())) + return + find_sensors() + +/obj/machinery/computer/ship/sensors/proc/find_sensors() + if(!linked) + return + for(var/obj/machinery/shipsensors/S in global.machines) + if(linked.check_ownership(S)) + sensors = S + break + +/obj/machinery/computer/ship/sensors/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + if(!linked) + display_reconnect_dialog(user, "sensors") + return + + var/data[0] + + data["viewing"] = viewing_overmap(user) + if(sensors) + data["on"] = sensors.use_power + data["range"] = sensors.range + data["health"] = sensors.health + data["max_health"] = sensors.max_health + data["heat"] = sensors.heat + data["critical_heat"] = sensors.critical_heat + if(sensors.health == 0) + data["status"] = "DESTROYED" + else if(!sensors.powered()) + data["status"] = "NO POWER" + else if(!sensors.in_vacuum()) + data["status"] = "VACUUM SEAL BROKEN" + else + data["status"] = "OK" + var/list/contacts = list() + for(var/obj/effect/overmap/O in view(7,linked)) + if(linked == O) + continue + if(!O.scannable) + continue + var/bearing = round(90 - ATAN2(O.x - linked.x, O.y - linked.y),5) + if(bearing < 0) + bearing += 360 + contacts.Add(list(list("name"=O.name, "ref"="\ref[O]", "bearing"=bearing))) + if(contacts.len) + data["contacts"] = contacts + else + data["status"] = "MISSING" + data["range"] = "N/A" + data["on"] = 0 + + ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "shipsensors.tmpl", "[linked.name] Sensors Control", 420, 530, src) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/obj/machinery/computer/ship/sensors/OnTopic(var/mob/user, var/list/href_list, state) + if(..()) + return TOPIC_HANDLED + + if (!linked) + return TOPIC_NOACTION + + if (href_list["viewing"]) + if(user && !isAI(user)) + viewing_overmap(user) ? unlook(user) : look(user) + return TOPIC_REFRESH + + if (href_list["link"]) + find_sensors() + return TOPIC_REFRESH + + if(sensors) + if (href_list["range"]) + var/nrange = input("Set new sensors range", "Sensor range", sensors.range) as num|null + if(!CanInteract(user,state)) + return TOPIC_NOACTION + if (nrange) + sensors.set_range(CLAMP(nrange, 1, world.view)) + return TOPIC_REFRESH + if (href_list["toggle"]) + sensors.toggle() + return TOPIC_REFRESH + + if (href_list["scan"]) + var/obj/effect/overmap/O = locate(href_list["scan"]) + if(istype(O) && !QDELETED(O) && (O in view(7,linked))) + playsound(loc, "sound/machines/dotprinter.ogg", 30, 1) + new/obj/item/weapon/paper/(get_turf(src), O.get_scan_data(user), "paper (Sensor Scan - [O])") + return TOPIC_HANDLED + +/obj/machinery/computer/ship/sensors/process() + ..() + if(!linked) + return + if(sensors && sensors.use_power && sensors.powered()) + var/sensor_range = round(sensors.range*1.5) + 1 + linked.set_light(sensor_range + 0.5, 4) + else + linked.set_light(0) + +/obj/machinery/shipsensors + name = "sensors suite" + desc = "Long range gravity scanner with various other sensors, used to detect irregularities in surrounding space. Can only run in vacuum to protect delicate quantum BS elements." //VOREStation Edit + icon = 'icons/obj/stationobjs_vr.dmi' //VOREStation Edit + icon_state = "sensors" + anchored = 1 + var/max_health = 200 + var/health = 200 + var/critical_heat = 50 // sparks and takes damage when active & above this heat + var/heat_reduction = 1.5 // mitigates this much heat per tick + var/heat = 0 + var/range = 1 + idle_power_usage = 5000 + +/obj/machinery/shipsensors/attackby(obj/item/weapon/W, mob/user) + var/damage = max_health - health + if(damage && istype(W, /obj/item/weapon/weldingtool)) + + var/obj/item/weapon/weldingtool/WT = W + + if(!WT.isOn()) + return + + if(WT.remove_fuel(0,user)) + to_chat(user, "You start repairing the damage to [src].") + playsound(src, 'sound/items/Welder.ogg', 100, 1) + if(do_after(user, max(5, damage / 5), src) && WT && WT.isOn()) + to_chat(user, "You finish repairing the damage to [src].") + take_damage(-damage) + else + to_chat(user, "You need more welding fuel to complete this task.") + return + return + ..() + +/obj/machinery/shipsensors/proc/in_vacuum() + var/turf/T=get_turf(src) + if(istype(T)) + var/datum/gas_mixture/environment = T.return_air() + if(environment && environment.return_pressure() > MINIMUM_PRESSURE_DIFFERENCE_TO_SUSPEND) + return 0 + return 1 + +/obj/machinery/shipsensors/update_icon() + if(use_power) + icon_state = "sensors" + else + icon_state = "sensors_off" + ..() + +/obj/machinery/shipsensors/examine(mob/user) + . = ..() + if(health <= 0) + to_chat(user, "\The [src] is wrecked.") + else if(health < max_health * 0.25) + to_chat(user, "\The [src] looks like it's about to break!") + else if(health < max_health * 0.5) + to_chat(user, "\The [src] looks seriously damaged!") + else if(health < max_health * 0.75) + to_chat(user, "\The [src] shows signs of damage!") + +/obj/machinery/shipsensors/bullet_act(var/obj/item/projectile/Proj) + take_damage(Proj.get_structure_damage()) + ..() + +/obj/machinery/shipsensors/proc/toggle() + if(!use_power && (health == 0 || !in_vacuum())) + return // No turning on if broken or misplaced. + if(!use_power) //need some juice to kickstart + use_power_oneoff(idle_power_usage*5) + update_use_power(!use_power) + update_icon() + +/obj/machinery/shipsensors/process() + if(use_power) //can't run in non-vacuum + if(!in_vacuum()) + toggle() + if(heat > critical_heat) + src.visible_message("\The [src] violently spews out sparks!") + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(3, 1, src) + s.start() + + take_damage(rand(10,50)) + toggle() + heat += idle_power_usage/15000 + + if (heat > 0) + heat = max(0, heat - heat_reduction) + +/obj/machinery/shipsensors/power_change() + . = ..() + if(use_power && !powered()) + toggle() + +/obj/machinery/shipsensors/proc/set_range(nrange) + range = nrange + change_power_consumption(1500 * (range**2), USE_POWER_IDLE) //Exponential increase, also affects speed of overheating + +/obj/machinery/shipsensors/emp_act(severity) + if(!use_power) + return + take_damage(20/severity) + toggle() + +/obj/machinery/shipsensors/take_damage(value) + health = min(max(health - value, 0),max_health) + if(use_power && health == 0) + toggle() + +/obj/machinery/shipsensors/weak + heat_reduction = 0.2 + desc = "Miniaturized gravity scanner with various other sensors, used to detect irregularities in surrounding space. Can only run in vacuum to protect delicate quantum bluespace elements." \ No newline at end of file diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm new file mode 100644 index 0000000000..4ab9d241df --- /dev/null +++ b/code/modules/overmap/ships/computers/ship.dm @@ -0,0 +1,97 @@ +/* +While these computers can be placed anywhere, they will only function if placed on either a non-space, non-shuttle turf +with an /obj/effect/overmap/visitable/ship present elsewhere on that z level, or else placed in a shuttle area with an /obj/effect/overmap/visitable/ship +somewhere on that shuttle. Subtypes of these can be then used to perform ship overmap movement functions. +*/ +/obj/machinery/computer/ship + var/obj/effect/overmap/visitable/ship/linked + var/list/viewers // Weakrefs to mobs in direct-view mode. + var/extra_view = 0 // how much the view is increased by when the mob is in overmap mode. + +// A late init operation called in SSshuttles, used to attach the thing to the right ship. +/obj/machinery/computer/ship/proc/attempt_hook_up(obj/effect/overmap/visitable/ship/sector) + if(!istype(sector)) + return + if(sector.check_ownership(src)) + linked = sector + return 1 + +/obj/machinery/computer/ship/proc/sync_linked() + var/obj/effect/overmap/visitable/ship/sector = map_sectors["[z]"] + if(!sector) + return + return attempt_hook_up_recursive(sector) + +/obj/machinery/computer/ship/proc/attempt_hook_up_recursive(obj/effect/overmap/visitable/ship/sector) + if(attempt_hook_up(sector)) + return sector + for(var/obj/effect/overmap/visitable/ship/candidate in sector) + if((. = .(candidate))) + return + +/obj/machinery/computer/ship/proc/display_reconnect_dialog(var/mob/user, var/flavor) + var/datum/browser/popup = new (user, "[src]", "[src]") + popup.set_content("
Error
Unable to connect to [flavor].
Reconnect
") + popup.open() + +// In computer_shims for now - we had to define it. +// /obj/machinery/computer/ship/interface_interact(var/mob/user) +// ui_interact(user) +// return TRUE + +/obj/machinery/computer/ship/OnTopic(var/mob/user, var/list/href_list) + if(..()) + return TOPIC_HANDLED + if(href_list["sync"]) + sync_linked() + return TOPIC_REFRESH + if(href_list["close"]) + unlook(user) + user.unset_machine() + return TOPIC_HANDLED + return TOPIC_NOACTION + +// Management of mob view displacement. look to shift view to the ship on the overmap; unlook to shift back. + +/obj/machinery/computer/ship/proc/look(var/mob/user) + if(linked) + user.reset_view(linked) + user.set_viewsize(world.view + extra_view) + GLOB.moved_event.register(user, src, /obj/machinery/computer/ship/proc/unlook) + // TODO GLOB.stat_set_event.register(user, src, /obj/machinery/computer/ship/proc/unlook) + LAZYDISTINCTADD(viewers, weakref(user)) + +/obj/machinery/computer/ship/proc/unlook(var/mob/user) + user.reset_view() + user.set_viewsize() // reset to default + GLOB.moved_event.unregister(user, src, /obj/machinery/computer/ship/proc/unlook) + // TODO GLOB.stat_set_event.unregister(user, src, /obj/machinery/computer/ship/proc/unlook) + LAZYREMOVE(viewers, weakref(user)) + +/obj/machinery/computer/ship/proc/viewing_overmap(mob/user) + return (weakref(user) in viewers) + +/obj/machinery/computer/ship/CouldNotUseTopic(mob/user) + . = ..() + unlook(user) + +/obj/machinery/computer/ship/CouldUseTopic(mob/user) + . = ..() + if(viewing_overmap(user)) + look(user) + +/obj/machinery/computer/ship/check_eye(var/mob/user) + if (!get_dist(user, src) > 1 || user.blinded || !linked ) + unlook(user) + return -1 + else + return 0 + +/obj/machinery/computer/ship/sensors/Destroy() + sensors = null + if(LAZYLEN(viewers)) + for(var/weakref/W in viewers) + var/M = W.resolve() + if(M) + unlook(M) + . = ..() \ No newline at end of file diff --git a/code/modules/overmap/ships/computers/shuttle.dm b/code/modules/overmap/ships/computers/shuttle.dm index 09bf47512d..726c339178 100644 --- a/code/modules/overmap/ships/computers/shuttle.dm +++ b/code/modules/overmap/ships/computers/shuttle.dm @@ -1,139 +1,45 @@ //Shuttle controller computer for shuttles going between sectors -/datum/shuttle/ferry/var/range = 0 //how many overmap tiles can shuttle go, for picking destinatiosn and returning. /obj/machinery/computer/shuttle_control/explore - name = "exploration shuttle console" - shuttle_tag = "Exploration" - req_access = list() - var/landing_type //area for shuttle ship-side - var/obj/effect/map/destination //current destination - var/obj/effect/map/home //current destination + name = "general shuttle control console" + ui_template = "shuttle_control_console_exploration.tmpl" -/obj/machinery/computer/shuttle_control/explore/Initialize() +/obj/machinery/computer/shuttle_control/explore/get_ui_data(var/datum/shuttle/autodock/overmap/shuttle) . = ..() - home = map_sectors["[z]"] - shuttle_tag = "[shuttle_tag]-[z]" - if(!shuttle_controller.shuttles[shuttle_tag]) - var/datum/shuttle/ferry/shuttle = new() - shuttle.warmup_time = 10 - shuttle.area_station = locate(landing_type) - shuttle.area_offsite = shuttle.area_station - shuttle_controller.shuttles[shuttle_tag] = shuttle - shuttle_controller.process_shuttles += shuttle - testing("Exploration shuttle '[shuttle_tag]' at z-level [z] successfully added.") + if(istype(shuttle)) + var/total_gas = 0 + for(var/obj/structure/fuel_port/FP in shuttle.fuel_ports) //loop through fuel ports + var/obj/item/weapon/tank/fuel_tank = locate() in FP + if(fuel_tank) + total_gas += fuel_tank.air_contents.total_moles -//Sets destination to new sector. Can be null. -/obj/machinery/computer/shuttle_control/explore/proc/update_destination(var/obj/effect/map/D) - destination = D - if(destination && shuttle_controller.shuttles[shuttle_tag]) - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - shuttle.area_offsite = destination.shuttle_landing - testing("Shuttle controller [shuttle_tag] now sends shuttle to [destination]") - shuttle_controller.shuttles[shuttle_tag] = shuttle + var/fuel_span = "good" + if(total_gas < shuttle.fuel_consumption * 2) + fuel_span = "bad" -//Gets all sectors with landing zones in shuttle's range -/obj/machinery/computer/shuttle_control/explore/proc/get_possible_destinations() - var/list/res = list() - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - for (var/obj/effect/map/S in orange(shuttle.range, home)) - if(S.shuttle_landing) - res += S - return res + . += list( + "destination_name" = shuttle.get_destination_name(), + "can_pick" = shuttle.moving_status == SHUTTLE_IDLE, + "fuel_usage" = shuttle.fuel_consumption * 100, + "remaining_fuel" = round(total_gas, 0.01) * 100, + "fuel_span" = fuel_span + ) -//Checks if current destination is still reachable -/obj/machinery/computer/shuttle_control/explore/proc/check_destination() - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - return shuttle && destination && get_dist(home, destination) <= shuttle.range +/obj/machinery/computer/shuttle_control/explore/handle_topic_href(var/datum/shuttle/autodock/overmap/shuttle, var/list/href_list) + if(ismob(usr)) + var/mob/user = usr + shuttle.operator_skill = user.get_skill_value(/datum/skill/pilot) -/obj/machinery/computer/shuttle_control/explore/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - var/data[0] - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - if (!istype(shuttle)) - return - - //If we are already there, or can't reach place anymore, reset destination - if(!shuttle.location && !check_destination()) - destination = null - - //check if shuttle can fly at all - var/can_go = !isnull(destination) - var/current_destination = destination ? destination.name : "None" - //shuttle doesn't need destination set to return home, as long as it's in range. - if(shuttle.location) - current_destination = "Return" - var/area/offsite = shuttle.area_offsite - var/obj/effect/map/cur_loc = map_sectors["[offsite.z]"] - can_go = (get_dist(home,cur_loc) <= shuttle.range) - - //disable picking locations if there are none, or shuttle is already off-site - var/list/possible_d = get_possible_destinations() - var/can_pick = !shuttle.location && possible_d.len - - var/shuttle_state - switch(shuttle.moving_status) - if(SHUTTLE_IDLE) shuttle_state = "idle" - if(SHUTTLE_WARMUP) shuttle_state = "warmup" - if(SHUTTLE_INTRANSIT) shuttle_state = "in_transit" - - var/shuttle_status - switch (shuttle.process_state) - if(IDLE_STATE) - if (shuttle.in_use) - shuttle_status = "Busy." - else if (!shuttle.location) - shuttle_status = "Standing-by at station." - else - shuttle_status = "Standing-by at offsite location." - if(WAIT_LAUNCH, FORCE_LAUNCH) - shuttle_status = "Shuttle has received command and will depart shortly." - if(WAIT_ARRIVE) - shuttle_status = "Proceeding to destination." - if(WAIT_FINISH) - shuttle_status = "Arriving at destination now." - - data = list( - "destination_name" = current_destination, - "can_pick" = can_pick, - "shuttle_status" = shuttle_status, - "shuttle_state" = shuttle_state, - "has_docking" = shuttle.docking_controller? 1 : 0, - "docking_status" = shuttle.docking_controller? shuttle.docking_controller.get_docking_status() : null, - "docking_override" = shuttle.docking_controller? shuttle.docking_controller.override_enabled : null, - "can_launch" = can_go && shuttle.can_launch(), - "can_cancel" = can_go && shuttle.can_cancel(), - "can_force" = can_go && shuttle.can_force(), - ) - - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) - - if (!ui) - ui = new(user, src, ui_key, "shuttle_control_console_exploration.tmpl", "[shuttle_tag] Shuttle Control", 470, 310) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) - -/obj/machinery/computer/shuttle_control/explore/Topic(href, href_list) - if(..()) - return 1 - - usr.set_machine(src) - src.add_fingerprint(usr) - - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - if (!istype(shuttle)) + if((. = ..()) != null) return if(href_list["pick"]) - var/obj/effect/map/self = map_sectors["[z]"] - if(self) - var/list/possible_d = get_possible_destinations() - var/obj/effect/map/D - if(possible_d.len) - D = input("Choose shuttle destination", "Shuttle Destination") as null|anything in possible_d - update_destination(D) - - if(href_list["move"]) - shuttle.launch(src) - if(href_list["force"]) - shuttle.force_launch(src) - else if(href_list["cancel"]) - shuttle.cancel_launch(src) \ No newline at end of file + var/list/possible_d = shuttle.get_possible_destinations() + var/D + if(possible_d.len) + D = input("Choose shuttle destination", "Shuttle Destination") as null|anything in possible_d + else + to_chat(usr,"No valid landing sites in range.") + possible_d = shuttle.get_possible_destinations() + if(CanInteract(usr, global.default_state) && (D in possible_d)) + shuttle.set_destination(possible_d[D]) + return TOPIC_REFRESH diff --git a/code/modules/overmap/ships/engines/engine.dm b/code/modules/overmap/ships/engines/engine.dm index 6e927e6431..a5d3bc7016 100644 --- a/code/modules/overmap/ships/engines/engine.dm +++ b/code/modules/overmap/ships/engines/engine.dm @@ -3,58 +3,43 @@ var/list/ship_engines = list() /datum/ship_engine var/name = "ship engine" - var/obj/machinery/engine //actual engine object - var/zlevel = 0 + var/obj/machinery/holder //actual engine object -/datum/ship_engine/New(var/obj/machinery/holder) - engine = holder - zlevel = holder.z - for(var/obj/machinery/computer/engines/E in machines) - if (E.z == zlevel && !(src in E.engines)) - E.engines += src - break +/datum/ship_engine/New(var/obj/machinery/_holder) + ..() + holder = _holder + ship_engines += src -//Tries to fire the engine. If successfull, returns 1 +/datum/ship_engine/proc/can_burn() + return 0 + +//Tries to fire the engine. Returns thrust /datum/ship_engine/proc/burn() - if(!engine) - die() - return 1 + return 0 //Returns status string for this engine /datum/ship_engine/proc/get_status() - if(!engine) - die() return "All systems nominal" /datum/ship_engine/proc/get_thrust() - if(!engine) - die() - return 100 + return 1 //Sets thrust limiter, a number between 0 and 1 /datum/ship_engine/proc/set_thrust_limit(var/new_limit) - if(!engine) - die() return 1 /datum/ship_engine/proc/get_thrust_limit() - if(!engine) - die() return 1 /datum/ship_engine/proc/is_on() - if(!engine) - die() return 1 /datum/ship_engine/proc/toggle() - if(!engine) - die() return 1 -/datum/ship_engine/proc/die() - for(var/obj/machinery/computer/engines/E in machines) - if (E.z == zlevel) - E.engines -= src - break - qdel(src) \ No newline at end of file +/datum/ship_engine/Destroy() + ship_engines -= src + for(var/obj/effect/overmap/visitable/ship/S in SSshuttles.ships) + S.engines -= src + holder = null + . = ..() \ No newline at end of file diff --git a/code/modules/overmap/ships/engines/gas_thruster.dm b/code/modules/overmap/ships/engines/gas_thruster.dm new file mode 100644 index 0000000000..04101984c4 --- /dev/null +++ b/code/modules/overmap/ships/engines/gas_thruster.dm @@ -0,0 +1,218 @@ +//Gas nozzle engine +/datum/ship_engine/gas_thruster + name = "gas thruster" + var/obj/machinery/atmospherics/unary/engine/nozzle + +/datum/ship_engine/gas_thruster/New(var/obj/machinery/_holder) + ..() + nozzle = _holder + +/datum/ship_engine/gas_thruster/Destroy() + nozzle = null + . = ..() + +/datum/ship_engine/gas_thruster/get_status() + return nozzle.get_status() + +/datum/ship_engine/gas_thruster/get_thrust() + return nozzle.get_thrust() + +/datum/ship_engine/gas_thruster/burn() + return nozzle.burn() + +/datum/ship_engine/gas_thruster/set_thrust_limit(var/new_limit) + nozzle.thrust_limit = new_limit + +/datum/ship_engine/gas_thruster/get_thrust_limit() + return nozzle.thrust_limit + +/datum/ship_engine/gas_thruster/is_on() + if(nozzle.use_power && nozzle.operable()) + if(nozzle.next_on > world.time) + return -1 + else + return 1 + return 0 + +/datum/ship_engine/gas_thruster/toggle() + if(nozzle.use_power) + nozzle.update_use_power(USE_POWER_OFF) + else + if(nozzle.blockage) + if(nozzle.check_blockage()) + return + nozzle.update_use_power(USE_POWER_IDLE) + if(nozzle.stat & NOPOWER)//try again + nozzle.power_change() + if(nozzle.is_on())//if everything is in working order, start booting! + nozzle.next_on = world.time + nozzle.boot_time + +/datum/ship_engine/gas_thruster/can_burn() + return nozzle.is_on() && nozzle.check_fuel() + +//Actual thermal nozzle engine object + +/obj/machinery/atmospherics/unary/engine + name = "rocket nozzle" + desc = "Simple rocket nozzle, expelling gas at hypersonic velocities to propell the ship." + icon = 'icons/turf/shuttle_parts.dmi' + icon_state = "nozzle" + opacity = 1 + density = 1 + can_atmos_pass = ATMOS_PASS_NO + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_FUEL + + // construct_state = /decl/machine_construction/default/panel_closed + // maximum_component_parts = list(/obj/item/weapon/stock_parts = 6)//don't want too many, let upgraded component shine + // uncreated_component_parts = list(/obj/item/weapon/stock_parts/power/apc/buildable = 1) + + use_power = USE_POWER_OFF + power_channel = EQUIP + idle_power_usage = 1000 + + var/datum/ship_engine/gas_thruster/controller + var/thrust_limit = 1 //Value between 1 and 0 to limit the resulting thrust + var/volume_per_burn = 15 //20 litres(with bin) + var/charge_per_burn = 3600 + var/boot_time = 35 + var/next_on + var/blockage + +/obj/machinery/atmospherics/unary/engine/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + return 0 + +/obj/machinery/atmospherics/unary/engine/Initialize() + . = ..() + controller = new(src) + update_nearby_tiles(need_rebuild=1) + + for(var/ship in SSshuttles.ships) + var/obj/effect/overmap/visitable/ship/S = ship + if(S.check_ownership(src)) + S.engines |= controller + if(dir != S.fore_dir) + set_broken(TRUE) + break + +/obj/machinery/atmospherics/unary/engine/Destroy() + QDEL_NULL(controller) + update_nearby_tiles() + . = ..() + +/obj/machinery/atmospherics/unary/engine/proc/get_status() + . = list() + .+= "Location: [get_area(src)]." + if(stat & NOPOWER) + .+= "Insufficient power to operate." + if(!check_fuel()) + .+= "Insufficient fuel for a burn." + if(stat & BROKEN) + .+= "Inoperable engine configuration." + if(blockage) + .+= "Obstruction of airflow detected." + + .+= "Propellant total mass: [round(air_contents.get_mass(),0.01)] kg." + .+= "Propellant used per burn: [round(air_contents.get_mass() * volume_per_burn * thrust_limit / air_contents.volume,0.01)] kg." + .+= "Propellant pressure: [round(air_contents.return_pressure()/1000,0.1)] MPa." + . = jointext(.,"
") + +/obj/machinery/atmospherics/unary/engine/power_change() + . = ..() + if(stat & NOPOWER) + update_use_power(USE_POWER_OFF) + +/obj/machinery/atmospherics/unary/engine/proc/is_on() + return use_power && operable() && (next_on < world.time) + +/obj/machinery/atmospherics/unary/engine/proc/check_fuel() + return air_contents.total_moles > 5 // minimum fuel usage is five moles, for EXTREMELY hot mix or super low pressure + +/obj/machinery/atmospherics/unary/engine/proc/get_thrust() + if(!is_on() || !check_fuel()) + return 0 + var/used_part = volume_per_burn * thrust_limit / air_contents.volume + . = calculate_thrust(air_contents, used_part) + return + +/obj/machinery/atmospherics/unary/engine/proc/check_blockage() + blockage = FALSE + var/exhaust_dir = reverse_direction(dir) + var/turf/A = get_step(src, exhaust_dir) + var/turf/B = A + while(isturf(A) && !(istype(A, /turf/space) || isopenspace(A))) + if((B.c_airblock(A)) & AIR_BLOCKED) + blockage = TRUE + break + B = A + A = get_step(A, exhaust_dir) + return blockage + +/obj/machinery/atmospherics/unary/engine/proc/burn() + if(!is_on()) + return 0 + if(!check_fuel() || (0 < use_power_oneoff(charge_per_burn)) || check_blockage()) + audible_message(src,"[src] coughs once and goes silent!") + update_use_power(USE_POWER_OFF) + return 0 + + var/datum/gas_mixture/removed = air_contents.remove_ratio(volume_per_burn * thrust_limit / air_contents.volume) + if(!removed) + return 0 + . = calculate_thrust(removed) + playsound(loc, 'sound/machines/thruster.ogg', 100 * thrust_limit, 0, world.view * 4, 0.1) + if(network) + network.update = 1 + + var/exhaust_dir = reverse_direction(dir) + var/turf/T = get_step(src,exhaust_dir) + if(T) + T.assume_air(removed) + new/obj/effect/engine_exhaust(T, exhaust_dir, air_contents.check_combustability() && air_contents.temperature >= PHORON_MINIMUM_BURN_TEMPERATURE) + +/obj/machinery/atmospherics/unary/engine/proc/calculate_thrust(datum/gas_mixture/propellant, used_part = 1) + return round(sqrt(propellant.get_mass() * used_part * sqrt(air_contents.return_pressure()/200)),0.1) + +/obj/machinery/atmospherics/unary/engine/RefreshParts() + ..() + //allows them to upgrade the max limit of fuel intake (which only gives diminishing returns) for increase in max thrust but massive reduction in fuel economy + var/bin_upgrade = 5 * CLAMP(total_component_rating_of_type(/obj/item/weapon/stock_parts/matter_bin), 0, 6)//5 litre per rank + volume_per_burn = bin_upgrade ? initial(volume_per_burn) + bin_upgrade : 2 //Penalty missing part: 10% fuel use, no thrust + boot_time = bin_upgrade ? initial(boot_time) - bin_upgrade : initial(boot_time) * 2 + //energy cost - thb all of this is to limit the use of back up batteries + var/energy_upgrade = CLAMP(total_component_rating_of_type(/obj/item/weapon/stock_parts/capacitor), 0.1, 6) + charge_per_burn = initial(charge_per_burn) / energy_upgrade + change_power_consumption(initial(idle_power_usage) / energy_upgrade, USE_POWER_IDLE) + +//Exhaust effect +/obj/effect/engine_exhaust + name = "engine exhaust" + icon = 'icons/effects/effects.dmi' + icon_state = "smoke" + light_color = "#ed9200" + anchored = 1 + +/obj/effect/engine_exhaust/New(var/turf/nloc, var/ndir, var/flame) + ..(nloc) + if(flame) + icon_state = "exhaust" + nloc.hotspot_expose(1000,125) + set_light(0.5, 3) + set_dir(ndir) + QDEL_IN(src, 20) + +/obj/item/weapon/circuitboard/unary_atmos/engine //why don't we move this elsewhere? + name = T_BOARD("gas thruster") + icon_state = "mcontroller" + build_path = /obj/machinery/atmospherics/unary/engine + origin_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 2) + req_components = list( + /obj/item/stack/cable_coil = 30, + /obj/item/pipe = 2, + /obj/item/weapon/stock_parts/matter_bin = 1, + /obj/item/weapon/stock_parts/capacitor = 2) + +// Not Implemented - Variant that pulls power from cables. Too complicated without bay's power components. +// /obj/machinery/atmospherics/unary/engine/terminal +// base_type = /obj/machinery/atmospherics/unary/engine +// stock_part_presets = list(/decl/stock_part_preset/terminal_setup) +// uncreated_component_parts = list(/obj/item/weapon/stock_parts/power/terminal/buildable = 1) diff --git a/code/modules/overmap/ships/engines/ion_thruster.dm b/code/modules/overmap/ships/engines/ion_thruster.dm new file mode 100644 index 0000000000..3252159391 --- /dev/null +++ b/code/modules/overmap/ships/engines/ion_thruster.dm @@ -0,0 +1,86 @@ +/datum/ship_engine/ion + name = "ion thruster" + var/obj/machinery/ion_engine/thruster + +/datum/ship_engine/ion/New(var/obj/machinery/_holder) + ..() + thruster = _holder + +/datum/ship_engine/ion/Destroy() + thruster = null + . = ..() + +/datum/ship_engine/ion/get_status() + return thruster.get_status() + +/datum/ship_engine/ion/get_thrust() + return thruster.get_thrust() + +/datum/ship_engine/ion/burn() + return thruster.burn() + +/datum/ship_engine/ion/set_thrust_limit(var/new_limit) + thruster.thrust_limit = new_limit + +/datum/ship_engine/ion/get_thrust_limit() + return thruster.thrust_limit + +/datum/ship_engine/ion/is_on() + return thruster.on && thruster.powered() + +/datum/ship_engine/ion/toggle() + thruster.on = !thruster.on + +/datum/ship_engine/ion/can_burn() + return thruster.on && thruster.powered() + +/obj/machinery/ion_engine + name = "ion propulsion device" + desc = "An advanced ion propulsion device, using energy and minutes amount of gas to generate thrust." + icon = 'icons/turf/shuttle_parts.dmi' + icon_state = "nozzle" + power_channel = ENVIRON + idle_power_usage = 100 + anchored = TRUE + // construct_state = /decl/machine_construction/default/panel_closed + var/datum/ship_engine/ion/controller + var/thrust_limit = 1 + var/on = 1 + var/burn_cost = 7500 + var/generated_thrust = 2.5 + +/obj/machinery/ion_engine/Initialize() + . = ..() + controller = new(src) + +/obj/machinery/ion_engine/Destroy() + QDEL_NULL(controller) + . = ..() + +/obj/machinery/ion_engine/proc/get_status() + . = list() + .+= "Location: [get_area(src)]." + if(!powered()) + .+= "Insufficient power to operate." + + . = jointext(.,"
") + +/obj/machinery/ion_engine/proc/burn() + if(!on && !powered()) + return 0 + use_power_oneoff(burn_cost) + . = thrust_limit * generated_thrust + +/obj/machinery/ion_engine/proc/get_thrust() + return thrust_limit * generated_thrust * on + +/obj/item/weapon/circuitboard/engine/ion + name = T_BOARD("ion propulsion device") + board_type = "machine" + icon_state = "mcontroller" + build_path = /obj/machinery/ion_engine + origin_tech = list(TECH_POWER = 1, TECH_ENGINEERING = 2) + req_components = list( + /obj/item/stack/cable_coil = 2, + /obj/item/weapon/stock_parts/matter_bin = 1, + /obj/item/weapon/stock_parts/capacitor = 2) \ No newline at end of file diff --git a/code/modules/overmap/ships/landable.dm b/code/modules/overmap/ships/landable.dm new file mode 100644 index 0000000000..967fdeb571 --- /dev/null +++ b/code/modules/overmap/ships/landable.dm @@ -0,0 +1,173 @@ +// These come with shuttle functionality. Need to be assigned a (unique) shuttle datum name. +// Mapping location doesn't matter, so long as on a map loaded at the same time as the shuttle areas. +// Multiz shuttles currently not supported. Non-autodock shuttles currently not supported. + +/obj/effect/overmap/visitable/ship/landable + var/shuttle // Name of associated shuttle. Must be autodock. + var/obj/effect/shuttle_landmark/ship/landmark // Record our open space landmark for easy reference. + var/multiz = 0 // Index of multi-z levels, starts at 0 + var/status = SHIP_STATUS_LANDED + icon_state = "shuttle" + moving_state = "shuttle_moving" + +/obj/effect/overmap/visitable/ship/landable/Destroy() + GLOB.shuttle_moved_event.unregister(SSshuttles.shuttles[shuttle], src) + return ..() + +/obj/effect/overmap/visitable/ship/landable/can_burn() + if(status != SHIP_STATUS_OVERMAP) + return 0 + return ..() + +/obj/effect/overmap/visitable/ship/landable/burn() + if(status != SHIP_STATUS_OVERMAP) + return 0 + return ..() + +/obj/effect/overmap/visitable/ship/landable/check_ownership(obj/object) + var/datum/shuttle/shuttle_datum = SSshuttles.shuttles[shuttle] + if(!shuttle_datum) + return + var/list/areas = shuttle_datum.find_childfree_areas() + if(get_area(object) in areas) + return 1 + +// We autobuild our z levels. +/obj/effect/overmap/visitable/ship/landable/find_z_levels() + for(var/i = 0 to multiz) + world.increment_max_z() + map_z += world.maxz + + var/turf/center_loc = locate(round(world.maxx/2), round(world.maxy/2), world.maxz) + landmark = new (center_loc, shuttle) + add_landmark(landmark, shuttle) + + var/visitor_dir = fore_dir + for(var/landmark_name in list("FORE", "PORT", "AFT", "STARBOARD")) + var/turf/visitor_turf = get_ranged_target_turf(center_loc, visitor_dir, round(min(world.maxx/4, world.maxy/4))) + var/obj/effect/shuttle_landmark/visiting_shuttle/visitor_landmark = new (visitor_turf, landmark, landmark_name) + add_landmark(visitor_landmark) + visitor_dir = turn(visitor_dir, 90) + + if(multiz) + new /obj/effect/landmark/map_data(center_loc, (multiz + 1)) + +/obj/effect/overmap/visitable/ship/landable/get_areas() + var/datum/shuttle/shuttle_datum = SSshuttles.shuttles[shuttle] + if(!shuttle_datum) + return list() + return shuttle_datum.find_childfree_areas() + +/obj/effect/overmap/visitable/ship/landable/populate_sector_objects() + ..() + var/datum/shuttle/shuttle_datum = SSshuttles.shuttles[shuttle] + if(istype(shuttle_datum,/datum/shuttle/autodock/overmap)) + var/datum/shuttle/autodock/overmap/oms = shuttle_datum + oms.myship = src + GLOB.shuttle_moved_event.register(shuttle_datum, src, .proc/on_shuttle_jump) + on_landing(landmark, shuttle_datum.current_location) // We "land" at round start to properly place ourselves on the overmap. + +/obj/effect/shuttle_landmark/ship + name = "Open Space" + landmark_tag = "ship" + flags = SLANDMARK_FLAG_AUTOSET | SLANDMARK_FLAG_ZERO_G + var/shuttle_name + var/list/visitors // landmark -> visiting shuttle stationed there + +/obj/effect/shuttle_landmark/ship/Initialize(mapload, shuttle_name) + landmark_tag += "_[shuttle_name]" + src.shuttle_name = shuttle_name + . = ..() + +/obj/effect/shuttle_landmark/ship/Destroy() + var/obj/effect/overmap/visitable/ship/landable/ship = map_sectors["[z]"] + if(istype(ship) && ship.landmark == src) + ship.landmark = null + . = ..() + +/obj/effect/shuttle_landmark/ship/cannot_depart(datum/shuttle/shuttle) + if(LAZYLEN(visitors)) + return "Grappled by other shuttle; cannot manouver." + +/obj/effect/shuttle_landmark/visiting_shuttle + flags = SLANDMARK_FLAG_AUTOSET | SLANDMARK_FLAG_ZERO_G + var/obj/effect/shuttle_landmark/ship/core_landmark + +/obj/effect/shuttle_landmark/visiting_shuttle/Initialize(mapload, obj/effect/shuttle_landmark/ship/master, _name) + core_landmark = master + name = _name + landmark_tag = master.shuttle_name + _name + GLOB.destroyed_event.register(master, src, /datum/proc/qdel_self) + . = ..() + +/obj/effect/shuttle_landmark/visiting_shuttle/Destroy() + GLOB.destroyed_event.unregister(core_landmark, src) + LAZYREMOVE(core_landmark.visitors, src) + core_landmark = null + . = ..() + +/obj/effect/shuttle_landmark/visiting_shuttle/is_valid(datum/shuttle/shuttle) + . = ..() + if(!.) + return + var/datum/shuttle/boss_shuttle = SSshuttles.shuttles[core_landmark.shuttle_name] + if(boss_shuttle.current_location != core_landmark) + return FALSE // Only available when our governing shuttle is in space. + if(shuttle == boss_shuttle) // Boss shuttle only lands on main landmark + return FALSE + +/obj/effect/shuttle_landmark/visiting_shuttle/shuttle_arrived(datum/shuttle/shuttle) + LAZYSET(core_landmark.visitors, src, shuttle) + GLOB.shuttle_moved_event.register(shuttle, src, .proc/shuttle_left) + +/obj/effect/shuttle_landmark/visiting_shuttle/proc/shuttle_left(datum/shuttle/shuttle, obj/effect/shuttle_landmark/old_landmark, obj/effect/shuttle_landmark/new_landmark) + if(old_landmark == src) + GLOB.shuttle_moved_event.unregister(shuttle, src) + LAZYREMOVE(core_landmark.visitors, src) + +/obj/effect/overmap/visitable/ship/landable/proc/on_shuttle_jump(datum/shuttle/given_shuttle, obj/effect/shuttle_landmark/from, obj/effect/shuttle_landmark/into) + if(given_shuttle != SSshuttles.shuttles[shuttle]) + return + var/datum/shuttle/autodock/auto = given_shuttle + if(into == auto.landmark_transition) + status = SHIP_STATUS_TRANSIT + on_takeoff(from, into) + return + if(into == landmark) + status = SHIP_STATUS_OVERMAP + on_takeoff(from, into) + return + status = SHIP_STATUS_LANDED + on_landing(from, into) + +/obj/effect/overmap/visitable/ship/landable/proc/on_landing(obj/effect/shuttle_landmark/from, obj/effect/shuttle_landmark/into) + var/obj/effect/overmap/visitable/target = map_sectors["[into.z]"] + var/datum/shuttle/shuttle_datum = SSshuttles.shuttles[shuttle] + if(into.landmark_tag == shuttle_datum.motherdock) // If our motherdock is a landable ship, it won't be found properly here so we need to find it manually. + for(var/obj/effect/overmap/visitable/ship/landable/landable in SSshuttles.ships) + if(landable.shuttle == shuttle_datum.mothershuttle) + target = landable + break + if(!target || target == src) + return + forceMove(target) + halt() + +/obj/effect/overmap/visitable/ship/landable/proc/on_takeoff(obj/effect/shuttle_landmark/from, obj/effect/shuttle_landmark/into) + if(!isturf(loc)) + forceMove(get_turf(loc)) + unhalt() + +/obj/effect/overmap/visitable/ship/landable/get_landed_info() + switch(status) + if(SHIP_STATUS_LANDED) + var/obj/effect/overmap/visitable/location = loc + if(istype(loc, /obj/effect/overmap/visitable/sector)) + return "Landed on \the [location.name]. Use secondary thrust to get clear before activating primary engines." + if(istype(loc, /obj/effect/overmap/visitable/ship)) + return "Docked with \the [location.name]. Use secondary thrust to get clear before activating primary engines." + return "Docked with an unknown object." + if(SHIP_STATUS_TRANSIT) + return "Maneuvering under secondary thrust." + if(SHIP_STATUS_OVERMAP) + return "In open space." \ No newline at end of file diff --git a/code/modules/overmap/ships/ship.dm b/code/modules/overmap/ships/ship.dm index 0abd450a69..4dcecc5d6e 100644 --- a/code/modules/overmap/ships/ship.dm +++ b/code/modules/overmap/ships/ship.dm @@ -1,116 +1,207 @@ -/obj/effect/map/ship +#define SHIP_MOVE_RESOLUTION 0.00001 +#define MOVING(speed) abs(speed) >= min_speed +#define SANITIZE_SPEED(speed) SIGN(speed) * CLAMP(abs(speed), 0, max_speed) +#define CHANGE_SPEED_BY(speed_var, v_diff) \ + v_diff = SANITIZE_SPEED(v_diff);\ + if(!MOVING(speed_var + v_diff)) \ + {speed_var = 0};\ + else \ + {speed_var = SANITIZE_SPEED((speed_var + v_diff)/(1 + speed_var*v_diff/(max_speed ** 2)))} +// Uses Lorentzian dynamics to avoid going too fast. + +/obj/effect/overmap/visitable/ship name = "generic ship" desc = "Space faring vessel." - icon_state = "sheet-sandstone" - var/vessel_mass = 9000 //tonnes, random number - var/default_delay = 60 - var/list/speed = list(0,0) - var/last_burn = 0 - var/list/last_movement = list(0,0) - var/fore_dir = NORTH - var/rotate = 1 //For proc rotate + icon_state = "ship" + var/moving_state = "ship_moving" - var/obj/effect/map/current_sector - var/obj/machinery/computer/helm/nav_control - var/obj/machinery/computer/engines/eng_control + var/vessel_mass = 10000 //tonnes, arbitrary number, affects acceleration provided by engines + var/vessel_size = SHIP_SIZE_LARGE //arbitrary number, affects how likely are we to evade meteors + var/max_speed = 1/(1 SECOND) //"speed of light" for the ship, in turfs/tick. + var/min_speed = 1/(2 MINUTES) // Below this, we round speed to 0 to avoid math errors. -/obj/effect/map/ship/Initialize() + var/list/speed = list(0,0) //speed in x,y direction + var/last_burn = 0 //worldtime when ship last acceleated + var/burn_delay = 1 SECOND //how often ship can do burns + var/list/last_movement = list(0,0) //worldtime when ship last moved in x,y direction + var/fore_dir = NORTH //what dir ship flies towards for purpose of moving stars effect procs + + var/list/engines = list() + var/engines_state = 0 //global on/off toggle for all engines + var/thrust_limit = 1 //global thrust limit for all engines, 0..1 + var/halted = 0 //admin halt or other stop. + var/skill_needed = SKILL_ADEPT //piloting skill needed to steer it without going in random dir + var/operator_skill + +/obj/effect/overmap/visitable/ship/Initialize() . = ..() - for(var/obj/machinery/computer/engines/E in machines) - if (E.z == map_z) - eng_control = E - break - for(var/obj/machinery/computer/helm/H in machines) - if (H.z == map_z) - nav_control = H - break + min_speed = round(min_speed, SHIP_MOVE_RESOLUTION) + max_speed = round(max_speed, SHIP_MOVE_RESOLUTION) + SSshuttles.ships += src START_PROCESSING(SSobj, src) -/obj/effect/map/ship/relaymove(mob/user, direction) - accelerate(direction) +/obj/effect/overmap/visitable/ship/Destroy() + STOP_PROCESSING(SSobj, src) + SSshuttles.ships -= src + . = ..() -/obj/effect/map/ship/proc/is_still() - return !(speed[1] || speed[2]) +/obj/effect/overmap/visitable/ship/relaymove(mob/user, direction, accel_limit) + accelerate(direction, accel_limit) + operator_skill = user.get_skill_value(/datum/skill/pilot) -/obj/effect/map/ship/proc/get_acceleration() - return eng_control.get_total_thrust()/vessel_mass +/obj/effect/overmap/visitable/ship/proc/is_still() + return !MOVING(speed[1]) && !MOVING(speed[2]) -/obj/effect/map/ship/proc/get_speed() - return round(sqrt(speed[1]*speed[1] + speed[2]*speed[2])) +/obj/effect/overmap/visitable/ship/get_scan_data(mob/user) + . = ..() + if(!is_still()) + . += "
Heading: [get_heading_degrees()], speed [get_speed() * 1000]" -/obj/effect/map/ship/proc/get_heading() +//Projected acceleration based on information from engines +/obj/effect/overmap/visitable/ship/proc/get_acceleration() + return round(get_total_thrust()/get_vessel_mass(), SHIP_MOVE_RESOLUTION) + +//Does actual burn and returns the resulting acceleration +/obj/effect/overmap/visitable/ship/proc/get_burn_acceleration() + return round(burn() / get_vessel_mass(), SHIP_MOVE_RESOLUTION) + +/obj/effect/overmap/visitable/ship/proc/get_vessel_mass() + . = vessel_mass + for(var/obj/effect/overmap/visitable/ship/ship in src) + . += ship.get_vessel_mass() + +/obj/effect/overmap/visitable/ship/proc/get_speed() + return round(sqrt(speed[1] ** 2 + speed[2] ** 2), SHIP_MOVE_RESOLUTION) + +// Get heading in BYOND dir bits +/obj/effect/overmap/visitable/ship/proc/get_heading() var/res = 0 - if(speed[1]) + if(MOVING(speed[1])) if(speed[1] > 0) res |= EAST else res |= WEST - if(speed[2]) + if(MOVING(speed[2])) if(speed[2] > 0) res |= NORTH else res |= SOUTH return res -/obj/effect/map/ship/proc/adjust_speed(n_x, n_y) - speed[1] = CLAMP(speed[1] + n_x, -default_delay, default_delay) - speed[2] = CLAMP(speed[2] + n_y, -default_delay, default_delay) - if(is_still()) - toggle_move_stars(map_z) - else - toggle_move_stars(map_z, fore_dir) +// Get heading in degrees (like a compass heading) +/obj/effect/overmap/visitable/ship/proc/get_heading_degrees() + return (ATAN2(speed[2], speed[1]) + 360) % 360 // Yes ATAN2(y, x) is correct to get clockwise degrees -/obj/effect/map/ship/proc/can_burn() - if (!eng_control) - return 0 - if (world.time < last_burn + 10) - return 0 - if (!eng_control.burn()) - return 0 - return 1 +/obj/effect/overmap/visitable/ship/proc/adjust_speed(n_x, n_y) + CHANGE_SPEED_BY(speed[1], n_x) + CHANGE_SPEED_BY(speed[2], n_y) + for(var/zz in map_z) + if(is_still()) + toggle_move_stars(zz) + else + toggle_move_stars(zz, fore_dir) + update_icon() -/obj/effect/map/ship/proc/get_brake_path() +/obj/effect/overmap/visitable/ship/proc/get_brake_path() if(!get_acceleration()) return INFINITY - return get_speed()/get_acceleration() + if(is_still()) + return 0 + if(!burn_delay) + return 0 + if(!get_speed()) + return 0 + var/num_burns = get_speed()/get_acceleration() + 2 //some padding in case acceleration drops form fuel usage + var/burns_per_grid = 1/ (burn_delay * get_speed()) + return round(num_burns/burns_per_grid) -#define SIGN(X) (X == 0 ? 0 : (X > 0 ? 1 : -1)) -/obj/effect/map/ship/proc/decelerate() - if(!is_still() && can_burn()) +/obj/effect/overmap/visitable/ship/proc/decelerate() + if(((speed[1]) || (speed[2])) && can_burn()) if (speed[1]) - adjust_speed(-SIGN(speed[1]) * min(get_acceleration(),abs(speed[1])), 0) + adjust_speed(-SIGN(speed[1]) * min(get_burn_acceleration(),abs(speed[1])), 0) if (speed[2]) - adjust_speed(0, -SIGN(speed[2]) * min(get_acceleration(),abs(speed[2]))) + adjust_speed(0, -SIGN(speed[2]) * min(get_burn_acceleration(),abs(speed[2]))) last_burn = world.time -/obj/effect/map/ship/proc/accelerate(direction) +/obj/effect/overmap/visitable/ship/proc/accelerate(direction, accel_limit) if(can_burn()) last_burn = world.time - + var/acceleration = min(get_burn_acceleration(), accel_limit) if(direction & EAST) - adjust_speed(get_acceleration(), 0) + adjust_speed(acceleration, 0) if(direction & WEST) - adjust_speed(-get_acceleration(), 0) + adjust_speed(-acceleration, 0) if(direction & NORTH) - adjust_speed(0, get_acceleration()) + adjust_speed(0, acceleration) if(direction & SOUTH) - adjust_speed(0, -get_acceleration()) + adjust_speed(0, -acceleration) - -/obj/effect/map/ship/proc/rotate(var/direction) - var/matrix/M = matrix() - M.Turn(dir2angle(direction)) - src.transform = M //Rotate ship - -/obj/effect/map/ship/process() - if(!is_still()) +/obj/effect/overmap/visitable/ship/process() + if(!halted && !is_still()) var/list/deltas = list(0,0) for(var/i=1, i<=2, i++) - if(speed[i] && world.time > last_movement[i] + default_delay - abs(speed[i])) - deltas[i] = speed[i] > 0 ? 1 : -1 + if(MOVING(speed[i]) && world.time > last_movement[i] + 1/abs(speed[i])) + deltas[i] = SIGN(speed[i]) last_movement[i] = world.time var/turf/newloc = locate(x + deltas[1], y + deltas[2], z) if(newloc) Move(newloc) - if(rotate) - rotate(get_heading()) + update_icon() + +/obj/effect/overmap/visitable/ship/update_icon() + if(!is_still()) + icon_state = moving_state + dir = get_heading() + else + icon_state = initial(icon_state) + ..() + +/obj/effect/overmap/visitable/ship/proc/burn() + for(var/datum/ship_engine/E in engines) + . += E.burn() + +/obj/effect/overmap/visitable/ship/proc/get_total_thrust() + for(var/datum/ship_engine/E in engines) + . += E.get_thrust() + +/obj/effect/overmap/visitable/ship/proc/can_burn() + if(halted) + return 0 + if (world.time < last_burn + burn_delay) + return 0 + for(var/datum/ship_engine/E in engines) + . |= E.can_burn() + +//deciseconds to next step +/obj/effect/overmap/visitable/ship/proc/ETA() + . = INFINITY + for(var/i=1, i<=2, i++) + if(MOVING(speed[i])) + . = min(last_movement[i] - world.time + 1/abs(speed[i]), .) + . = max(.,0) + +/obj/effect/overmap/visitable/ship/proc/halt() + adjust_speed(-speed[1], -speed[2]) + halted = 1 + +/obj/effect/overmap/visitable/ship/proc/unhalt() + if(!SSshuttles.overmap_halted) + halted = 0 + +/obj/effect/overmap/visitable/ship/proc/get_helm_skill()//delete this mover operator skill to overmap obj + return operator_skill + +/obj/effect/overmap/visitable/ship/populate_sector_objects() + ..() + for(var/obj/machinery/computer/ship/S in global.machines) + S.attempt_hook_up(src) + for(var/datum/ship_engine/E in ship_engines) + if(check_ownership(E.holder)) + engines |= E + +/obj/effect/overmap/visitable/ship/proc/get_landed_info() + return "This ship cannot land." + +#undef MOVING +#undef SANITIZE_SPEED +#undef CHANGE_SPEED_BY \ No newline at end of file diff --git a/code/modules/overmap/spacetravel.dm b/code/modules/overmap/spacetravel.dm new file mode 100644 index 0000000000..adb7e80269 --- /dev/null +++ b/code/modules/overmap/spacetravel.dm @@ -0,0 +1,114 @@ +//list used to cache empty zlevels to avoid nedless map bloat +var/list/cached_space = list() + +//Space stragglers go here + +/obj/effect/overmap/visitable/sector/temporary + name = "Deep Space" + invisibility = 101 + known = 0 + +/obj/effect/overmap/visitable/sector/temporary/New(var/nx, var/ny, var/nz) + loc = locate(nx, ny, global.using_map.overmap_z) + x = nx + y = ny + map_z += nz + map_sectors["[nz]"] = src + testing("Temporary sector at [x],[y] was created, corresponding zlevel is [nz].") + +/obj/effect/overmap/visitable/sector/temporary/Destroy() + map_sectors["[map_z]"] = null + testing("Temporary sector at [x],[y] was deleted.") + +/obj/effect/overmap/visitable/sector/temporary/proc/can_die(var/mob/observer) + testing("Checking if sector at [map_z[1]] can die.") + for(var/mob/M in global.player_list) + if(M != observer && (M.z in map_z)) + testing("There are people on it.") + return 0 + return 1 + +proc/get_deepspace(x,y) + var/obj/effect/overmap/visitable/sector/temporary/res = locate(x,y,global.using_map.overmap_z) + if(istype(res)) + return res + else if(cached_space.len) + res = cached_space[cached_space.len] + cached_space -= res + res.x = x + res.y = y + return res + else + return new /obj/effect/overmap/visitable/sector/temporary(x, y, global.using_map.get_empty_zlevel()) + +/atom/movable/proc/lost_in_space() + for(var/atom/movable/AM in contents) + if(!AM.lost_in_space()) + return FALSE + return TRUE + +/mob/lost_in_space() + return isnull(client) + +/mob/living/carbon/human/lost_in_space() + return isnull(client) && !key && stat == DEAD + +proc/overmap_spacetravel(var/turf/space/T, var/atom/movable/A) + if (!T || !A) + return + + var/obj/effect/overmap/visitable/M = map_sectors["[T.z]"] + if (!M) + return + + if(A.lost_in_space()) + if(!QDELETED(A)) + qdel(A) + return + + var/nx = 1 + var/ny = 1 + var/nz = 1 + + if(T.x <= TRANSITIONEDGE) + nx = world.maxx - TRANSITIONEDGE - 2 + ny = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2) + + else if (A.x >= (world.maxx - TRANSITIONEDGE - 1)) + nx = TRANSITIONEDGE + 2 + ny = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2) + + else if (T.y <= TRANSITIONEDGE) + ny = world.maxy - TRANSITIONEDGE -2 + nx = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2) + + else if (A.y >= (world.maxy - TRANSITIONEDGE - 1)) + ny = TRANSITIONEDGE + 2 + nx = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2) + + testing("[A] spacemoving from [M] ([M.x], [M.y]).") + + var/turf/map = locate(M.x,M.y,global.using_map.overmap_z) + var/obj/effect/overmap/visitable/TM + for(var/obj/effect/overmap/visitable/O in map) + if(O != M && O.in_space && prob(50)) + TM = O + break + if(!TM) + TM = get_deepspace(M.x,M.y) + nz = pick(TM.get_space_zlevels()) + + var/turf/dest = locate(nx,ny,nz) + if(istype(dest)) + A.forceMove(dest) + if(ismob(A)) + var/mob/D = A + if(D.pulling) + D.pulling.forceMove(dest) + + if(istype(M, /obj/effect/overmap/visitable/sector/temporary)) + var/obj/effect/overmap/visitable/sector/temporary/source = M + if (source.can_die()) + testing("Caching [M] for future use") + source.loc = null + cached_space += source diff --git a/code/modules/overmap/turfs.dm b/code/modules/overmap/turfs.dm new file mode 100644 index 0000000000..3508203a6e --- /dev/null +++ b/code/modules/overmap/turfs.dm @@ -0,0 +1,102 @@ +//Dimension of overmap (squares 4 lyfe) +var/global/list/map_sectors = list() + +/area/overmap/ + name = "System Map" + icon_state = "start" + requires_power = 0 + base_turf = /turf/unsimulated/map + +/turf/unsimulated/map + icon = 'icons/turf/space.dmi' + icon_state = "map" + initialized = FALSE // TODO - Fix unsimulated turf initialization so this override is not necessary! + +/turf/unsimulated/map/edge + opacity = 1 + density = 1 + var/map_is_to_my + var/turf/unsimulated/map/edge/wrap_buddy + +/turf/unsimulated/map/edge/Initialize() + . = ..() + //This could be done by using the using_map.overmap_size much faster, HOWEVER, doing it programatically to 'find' + // the edges this way allows for 'sub overmaps' elsewhere and whatnot. + for(var/side in alldirs) //The order of this list is relevant: It should definitely break on finding a cardinal FIRST. + var/turf/T = get_step(src, side) + if(T?.type == /turf/unsimulated/map) //Not a wall, not something else, EXACTLY a flat map turf. + map_is_to_my = side + break + + if(map_is_to_my) + var/turf/T = get_step(src, map_is_to_my) //Should be a normal map turf + while(istype(T, /turf/unsimulated/map)) + T = get_step(T, map_is_to_my) //Could be a wall if the map is only 1 turf big + if(istype(T, /turf/unsimulated/map/edge)) + wrap_buddy = T + break + +/turf/unsimulated/map/edge/Destroy() + wrap_buddy = null + return ..() + +/turf/unsimulated/map/edge/Bumped(var/atom/movable/AM) + if(wrap_buddy?.map_is_to_my) + AM.forceMove(get_step(wrap_buddy, wrap_buddy.map_is_to_my)) + else + . = ..() + +/turf/unsimulated/map/Initialize() + . = ..() + name = "[x]-[y]" + var/list/numbers = list() + + if(x == 1 || x == global.using_map.overmap_size) + numbers += list("[round(y/10)]","[round(y%10)]") + if(y == 1 || y == global.using_map.overmap_size) + numbers += "-" + if(y == 1 || y == global.using_map.overmap_size) + numbers += list("[round(x/10)]","[round(x%10)]") + + for(var/i = 1 to numbers.len) + var/image/I = image('icons/effects/numbers.dmi',numbers[i]) + I.pixel_x = 5*i - 2 + I.pixel_y = world.icon_size/2 - 3 + if(y == 1) + I.pixel_y = 3 + I.pixel_x = 5*i + 4 + if(y == global.using_map.overmap_size) + I.pixel_y = world.icon_size - 9 + I.pixel_x = 5*i + 4 + if(x == 1) + I.pixel_x = 5*i - 2 + if(x == global.using_map.overmap_size) + I.pixel_x = 5*i + 2 + add_overlay(I) + +/turf/unsimulated/map/Entered(var/atom/movable/O, var/atom/oldloc) + ..() + if(istype(O, /obj/effect/overmap/visitable/ship)) + GLOB.overmap_event_handler.on_turf_entered(src, O, oldloc) + +/turf/unsimulated/map/Exited(var/atom/movable/O, var/atom/newloc) + ..() + if(istype(O, /obj/effect/overmap/visitable/ship)) + GLOB.overmap_event_handler.on_turf_exited(src, O, newloc) + +//list used to track which zlevels are being 'moved' by the proc below +var/list/moving_levels = list() +//Proc to 'move' stars in spess +//yes it looks ugly, but it should only fire when state actually change. +//null direction stops movement +proc/toggle_move_stars(zlevel, direction) + if(!zlevel) + return + + if (moving_levels["[zlevel]"] != direction) + moving_levels["[zlevel]"] = direction + + var/list/spaceturfs = block(locate(1, 1, zlevel), locate(world.maxx, world.maxy, zlevel)) + for(var/turf/space/T in spaceturfs) + T.toggle_transit(direction) + CHECK_TICK diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index 9f6b1732d0..706ccda8e0 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -12,7 +12,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins insert_anim = "faxsend" req_one_access = list(access_lawyer, access_heads, access_armory, access_qm) - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 30 active_power_usage = 200 circuit = /obj/item/weapon/circuitboard/fax @@ -236,7 +236,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins msg += "Receiving '[sent.name]' via secure connection ... view message" for(var/client/C in admins) - if(check_rights((R_ADMIN|R_MOD),0,C)) + if(check_rights((R_ADMIN|R_MOD|R_EVENT),0,C)) to_chat(C,msg) C << 'sound/effects/printer.ogg' diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index d1effe7492..374fb647c5 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -37,7 +37,9 @@ user.drop_item() P.loc = src icon_state = "[initial(icon_state)]-open" - sleep(5) + flick("[initial(icon_state)]-open",src) + playsound(loc, 'sound/bureaucracy/filingcabinet.ogg', 50, 1) + sleep(40) icon_state = initial(icon_state) updateUsrDialog() else if(P.is_wrench()) @@ -98,9 +100,10 @@ if(istype(P) && (P.loc == src) && src.Adjacent(usr)) usr.put_in_hands(P) updateUsrDialog() - icon_state = "[initial(icon_state)]-open" + flick("[initial(icon_state)]-open",src) + playsound(loc, 'sound/bureaucracy/filingcabinet.ogg', 50, 1) spawn(0) - sleep(5) + sleep(20) icon_state = initial(icon_state) /* diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index c0f4b60b9c..b0341871b9 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -5,6 +5,7 @@ icon_state = "folder" w_class = ITEMSIZE_SMALL pressure_resistance = 2 + drop_sound = 'sound/items/drop/paper.ogg' /obj/item/weapon/folder/blue desc = "A blue folder." diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 937f588097..9c87cf15fc 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -19,6 +19,7 @@ slot_flags = SLOT_HEAD body_parts_covered = HEAD attack_verb = list("bapped") + drop_sound = 'sound/items/drop/paper.ogg' var/info //What's actually written on the paper. var/info_links //A different version of the paper which includes html links at fields and EOF @@ -99,15 +100,21 @@ return -/obj/item/weapon/paper/New() +/obj/item/weapon/paper/New(var/newloc, var/text, var/title) ..() pixel_y = rand(-8, 8) pixel_x = rand(-9, 9) stamps = "" + if(!isnull(title)) + name = title + if(name != "paper") desc = "This is a paper titled '" + name + "'." + if(!isnull(text)) + info = text + if(info != initial(info)) info = html_encode(info) info = replacetext(info, "\n", "
") @@ -176,6 +183,7 @@ //crumple dat paper info = stars(info,85) user.visible_message("\The [user] crumples \the [src] into a ball!") + playsound(src, 'sound/bureaucracy/papercrumple.ogg', 50, 1) icon_state = "scrap" return user.examinate(src) @@ -385,6 +393,7 @@ user.visible_message("[user] holds \the [P] up to \the [src], it looks like [TU.hes] trying to burn it!", \ "You hold \the [P] up to \the [src], burning it slowly.") + playsound(src.loc, 'sound/bureaucracy/paperburn.ogg', 50, 1) spawn(20) if(get_dist(src, user) < 2 && user.get_active_hand() == P && P.lit) @@ -478,6 +487,8 @@ usr << browse("[name][info_links][stamps]", "window=[name]") // Update the window + playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 10) + update_icon() /obj/item/weapon/paper/get_worn_icon_state(var/slot_name) @@ -590,6 +601,7 @@ stamped += P.type overlays += stampoverlay + playsound(src, 'sound/bureaucracy/stamp.ogg', 50, 1) to_chat(user, "You stamp the paper with your rubber stamp.") else if(istype(P, /obj/item/weapon/flame)) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 8e0e4bff97..43b1a8c36d 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -12,6 +12,7 @@ layer = MOB_LAYER pressure_resistance = 1 attack_verb = list("bapped") + drop_sound = 'sound/items/drop/paper.ogg' var/page = 1 // current page var/list/pages = list() // Ordered list of pages as they are to be displayed. Can be different order than src.contents. diff --git a/code/modules/paperwork/papershredder.dm b/code/modules/paperwork/papershredder.dm index d626e6f04b..4c927b376e 100644 --- a/code/modules/paperwork/papershredder.dm +++ b/code/modules/paperwork/papershredder.dm @@ -9,7 +9,7 @@ var/shred_anim = "shredder-shredding" density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 200 power_channel = EQUIP diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index c657fcc44c..1ca6e438b6 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -23,6 +23,7 @@ matter = list(DEFAULT_WALL_MATERIAL = 10) var/colour = "black" //what colour the ink is! pressure_resistance = 2 + drop_sound = 'sound/items/drop/accessory.ogg' /obj/item/weapon/pen/attack_self(var/mob/user) to_chat(user, "Click.") @@ -47,6 +48,11 @@ var/selectedColor = 1 var/colors = list("black","blue","red") +/obj/item/weapon/pen/AltClick(mob/user) + to_chat(user, "Click.") + playsound(loc, 'sound/items/penclick.ogg', 50, 1) + return + /obj/item/weapon/pen/multi/attack_self(mob/user) if(++selectedColor > 3) selectedColor = 1 @@ -91,6 +97,98 @@ var/trans = reagents.trans_to_mob(M, 30, CHEM_BLOOD) add_attack_logs(user,M,"Injected with [src.name] containing [contained], trasferred [trans] units") +/* + * Blade pens. + */ + +/obj/item/weapon/pen/blade + desc = "It's a normal black ink pen." + description_antag = "This pen can be transformed into a dangerous melee and thrown assassination weapon with an Alt-Click.\ + When active, it cannot be caught safely." + name = "pen" + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "pen" + item_state = "pen" + slot_flags = SLOT_BELT | SLOT_EARS + throwforce = 3 + w_class = ITEMSIZE_TINY + throw_speed = 7 + throw_range = 15 + armor_penetration = 20 + + var/active = 0 + var/active_embed_chance = 0 + var/active_force = 15 + var/active_throwforce = 30 + var/active_w_class = ITEMSIZE_NORMAL + var/active_icon_state + var/default_icon_state + +/obj/item/weapon/pen/blade/Initialize() + ..() + active_icon_state = "[icon_state]-x" + default_icon_state = icon_state + +/obj/item/weapon/pen/blade/AltClick(mob/user) + ..() + if(active) + deactivate(user) + else + activate(user) + + to_chat(user, "You [active ? "de" : ""]activate \the [src]'s blade.") + +/obj/item/weapon/pen/blade/proc/activate(mob/living/user) + if(active) + return + active = 1 + icon_state = active_icon_state + embed_chance = active_embed_chance + force = active_force + throwforce = active_throwforce + sharp = 1 + edge = 1 + w_class = active_w_class + playsound(user, 'sound/weapons/saberon.ogg', 15, 1) + damtype = SEARING + catchable = FALSE + + attack_verb |= list(\ + "slashed",\ + "cut",\ + "shredded",\ + "stabbed"\ + ) + +/obj/item/weapon/pen/blade/proc/deactivate(mob/living/user) + if(!active) + return + playsound(user, 'sound/weapons/saberoff.ogg', 15, 1) + active = 0 + icon_state = default_icon_state + embed_chance = initial(embed_chance) + force = initial(force) + throwforce = initial(throwforce) + sharp = initial(sharp) + edge = initial(edge) + w_class = initial(w_class) + damtype = BRUTE + catchable = TRUE + +/obj/item/weapon/pen/blade/blue + desc = "It's a normal blue ink pen." + icon_state = "pen_blue" + colour = "blue" + +/obj/item/weapon/pen/blade/red + desc = "It's a normal red ink pen." + icon_state = "pen_red" + colour = "red" + +/obj/item/weapon/pen/blade/fountain + desc = "A well made fountain pen." + icon_state = "pen_fountain" + /* * Sleepy Pens */ diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index d5e04d97a4..eab9984d0f 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -6,7 +6,7 @@ var/insert_anim = "bigscanner1" anchored = 1 density = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 30 active_power_usage = 200 power_channel = EQUIP diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 260730391c..46f05bfd80 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -5,7 +5,7 @@ icon_state = "control" anchored = 1 density = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 100 active_power_usage = 1000 @@ -211,10 +211,10 @@ /obj/machinery/power/am_control_unit/proc/toggle_power() active = !active if(active) - use_power = 2 + update_use_power(USE_POWER_ACTIVE) visible_message("The [src.name] starts up.") else - use_power = 1 + update_use_power(USE_POWER_IDLE) visible_message("The [src.name] shuts down.") update_icon() return diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index a3549b7a2f..2b7b881b09 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -16,7 +16,7 @@ proc/cardinalrange(var/center) anchored = 1 density = 1 dir = 1 - use_power = 0//Living things generally dont use power + use_power = USE_POWER_OFF //Living things generally dont use power idle_power_usage = 0 active_power_usage = 0 diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index d4aa82be39..e4e3f73349 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -62,12 +62,13 @@ /obj/machinery/power/apc name = "area power controller" desc = "A control terminal for the area electrical systems." - icon = 'icons/obj/power_vr.dmi' //VOREStation Edit - New Icon + icon = 'icons/obj/power.dmi' icon_state = "apc0" plane = TURF_PLANE layer = ABOVE_TURF_LAYER anchored = 1 - use_power = 0 + use_power = USE_POWER_OFF + clicksound = "switch" req_access = list(access_engine_equip) var/area/area var/areastring = null @@ -105,6 +106,7 @@ var/longtermpower = 10 var/emergency_lights = FALSE var/datum/wires/apc/wires = null + var/emergency_lights = FALSE var/update_state = -1 var/update_overlay = -1 var/is_critical = 0 @@ -166,8 +168,8 @@ if (building) set_dir(ndir) - pixel_x = (src.dir & 3)? 0 : (src.dir == 4 ? 24 : -24) - pixel_y = (src.dir & 3)? (src.dir ==1 ? 24 : -24) : 0 + pixel_x = (src.dir & 3)? 0 : (src.dir == 4 ? 26 : -26) //VOREStation Edit -> 24 to 26 + pixel_y = (src.dir & 3)? (src.dir ==1 ? 26 : -26) : 0 //VOREStation Edit -> 24 to 26 if (building==0) init() else @@ -835,7 +837,7 @@ if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm - ui = new(user, src, ui_key, "apc.tmpl", "[area.name] - APC", 520, data["siliconUser"] ? 490 : 465) + ui = new(user, src, ui_key, "apc.tmpl", "[area.name] - APC", 520, data["siliconUser"] ? 490 : 465) // when the ui is first opened this is the data it will use ui.set_initial_data(data) // open the new ui window diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index d3bffc0c92..4b86bc9a9a 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -515,6 +515,7 @@ obj/structure/cable/proc/cableColor(var/colorC) item_state = "coil" attack_verb = list("whipped", "lashed", "disciplined", "flogged") stacktype = /obj/item/stack/cable_coil + drop_sound = 'sound/items/drop/accessory.ogg' /obj/item/stack/cable_coil/cyborg name = "cable coil synthesizer" diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm index 99b0346e62..9cc907e052 100644 --- a/code/modules/power/fusion/core/_core.dm +++ b/code/modules/power/fusion/core/_core.dm @@ -13,7 +13,7 @@ var/list/fusion_cores = list() icon = 'icons/obj/machines/power/fusion.dmi' icon_state = "core0" density = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 50 active_power_usage = 500 //multiplied by field strength anchored = 0 @@ -70,7 +70,7 @@ var/list/fusion_cores = list() owned_field = new(loc, src) owned_field.ChangeFieldStrength(field_strength) icon_state = "core1" - use_power = 2 + update_use_power(USE_POWER_ACTIVE) . = 1 /obj/machinery/power/fusion_core/proc/Shutdown(var/force_rupture) @@ -82,7 +82,7 @@ var/list/fusion_cores = list() owned_field.RadiateAll() qdel(owned_field) owned_field = null - use_power = 1 + update_use_power(USE_POWER_IDLE) /obj/machinery/power/fusion_core/proc/AddParticles(var/name, var/quantity = 1) if(owned_field) diff --git a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm index 80a512b91b..0ffab7db07 100644 --- a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm +++ b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm @@ -7,7 +7,7 @@ var/list/fuel_injectors = list() density = 1 anchored = 0 req_access = list(access_engine) - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 500 @@ -103,13 +103,13 @@ var/list/fuel_injectors = list() if(!injecting && cur_assembly) icon_state = "injector1" injecting = 1 - use_power = 1 + update_use_power(USE_POWER_IDLE) /obj/machinery/fusion_fuel_injector/proc/StopInjecting() if(injecting) injecting = 0 icon_state = "injector0" - use_power = 0 + update_use_power(USE_POWER_OFF) /obj/machinery/fusion_fuel_injector/proc/Inject() if(!injecting) diff --git a/code/modules/power/fusion/gyrotron/gyrotron.dm b/code/modules/power/fusion/gyrotron/gyrotron.dm index 539e9cbda6..bdbdf9a3df 100644 --- a/code/modules/power/fusion/gyrotron/gyrotron.dm +++ b/code/modules/power/fusion/gyrotron/gyrotron.dm @@ -6,7 +6,7 @@ var/list/gyrotrons = list() desc = "It is a heavy duty industrial gyrotron suited for powering fusion reactors." icon_state = "emitter-off" req_access = list(access_engine) - use_power = 1 + use_power = USE_POWER_IDLE active_power_usage = 50000 circuit = /obj/item/weapon/circuitboard/gyrotron diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 2eadfc520a..91ff81947e 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -5,7 +5,7 @@ density = 1 anchored = 0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 100 //Watts, I hope. Just enough to do the computer and display things. var/max_power = 500000 @@ -27,9 +27,11 @@ /obj/machinery/power/generator/Initialize() soundloop = new(list(src), FALSE) desc = initial(desc) + " Rated for [round(max_power/1000)] kW." - spawn(1) - reconnect() - return ..() + ..() //Not returned, because... + return INITIALIZE_HINT_LATELOAD + +/obj/machinery/power/generator/LateInitialize() + reconnect() /obj/machinery/power/generator/Destroy() QDEL_NULL(soundloop) @@ -156,7 +158,7 @@ user.visible_message("[user.name] [anchored ? "secures" : "unsecures"] the bolts holding [src.name] to the floor.", \ "You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor.", \ "You hear a ratchet.") - use_power = anchored + update_use_power(anchored ? USE_POWER_IDLE : USE_POWER_ACTIVE) if(anchored) // Powernet connection stuff. connect_to_network() else diff --git a/code/modules/power/generator_type2.dm b/code/modules/power/generator_type2.dm index cc1e855a91..a52675b706 100644 --- a/code/modules/power/generator_type2.dm +++ b/code/modules/power/generator_type2.dm @@ -4,7 +4,7 @@ icon_state = "teg" anchored = 1 density = 1 - use_power = 0 + use_power = USE_POWER_OFF var/obj/machinery/atmospherics/unary/generator_input/input1 var/obj/machinery/atmospherics/unary/generator_input/input2 @@ -13,15 +13,13 @@ var/lastgenlev = -1 -/obj/machinery/power/generator_type2/New() - ..() - spawn(5) - input1 = locate(/obj/machinery/atmospherics/unary/generator_input) in get_step(src,turn(dir, 90)) - input2 = locate(/obj/machinery/atmospherics/unary/generator_input) in get_step(src,turn(dir, -90)) - if(!input1 || !input2) - stat |= BROKEN - updateicon() - +/obj/machinery/power/generator_type2/Initialize() + . = ..() + input1 = locate(/obj/machinery/atmospherics/unary/generator_input) in get_step(src,turn(dir, 90)) + input2 = locate(/obj/machinery/atmospherics/unary/generator_input) in get_step(src,turn(dir, -90)) + if(!input1 || !input2) + stat |= BROKEN + updateicon() /obj/machinery/power/generator_type2/proc/updateicon() diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 3d198c18b3..d71da42e9e 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -16,7 +16,7 @@ icon_state = "TheSingGen" anchored = 1 density = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 200 active_power_usage = 1000 var/on = 1 @@ -24,27 +24,17 @@ var/effectiverange = 25 // Borrows code from cloning computer -/obj/machinery/computer/gravity_control_computer/New() - ..() - spawn(5) - updatemodules() - return - return - -/obj/machinery/gravity_generator/New() - ..() - spawn(5) - locatelocalareas() - return - return - - +/obj/machinery/computer/gravity_control_computer/Initialize() + . = ..() + updatemodules() +/obj/machinery/gravity_generator/Initialize() + . = ..() + locatelocalareas() + /obj/machinery/computer/gravity_control_computer/proc/updatemodules() src.gravity_generator = findgenerator() - - /obj/machinery/gravity_generator/proc/locatelocalareas() for(var/area/A in range(src,effectiverange)) if(A.name == "Space") @@ -127,13 +117,13 @@ if((A in G.localareas) && (G.on)) break if(!G) - A.gravitychange(0,A) + A.gravitychange(0) else for(var/area/A in gravity_generator:localareas) gravity_generator:on = 1 - A.gravitychange(1,A) + A.gravitychange(1) src.updateUsrDialog() return diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 5e1271827a..7f9297b637 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -75,12 +75,14 @@ var/global/list/light_type_cache = list() to_chat(user, "This casing doesn't support power cells for backup power.") /obj/machinery/light_construct/attack_hand(mob/user) + . = ..() + if(.) + return . // obj/machinery/attack_hand returns 1 if user can't use the machine if(cell) user.visible_message("[user] removes [cell] from [src]!","You remove [cell].") user.put_in_hands(cell) cell.update_icon() cell = null - add_fingerprint(user) /obj/machinery/light_construct/attackby(obj/item/weapon/W as obj, mob/user as mob) src.add_fingerprint(user) @@ -101,6 +103,7 @@ var/global/list/light_type_cache = list() cell = W add_fingerprint(user) return + if (W.is_wrench()) if (src.stage == 1) playsound(src, W.usesound, 75, 1) @@ -209,7 +212,7 @@ var/global/list/light_type_cache = list() anchored = 1 plane = MOB_PLANE layer = ABOVE_MOB_LAYER - use_power = 2 + use_power = USE_POWER_ACTIVE idle_power_usage = 2 active_power_usage = 10 power_channel = LIGHT //Lights are calc'd via area so they dont need to be in the machine list @@ -243,6 +246,16 @@ var/global/list/light_type_cache = list() var/auto_flicker = FALSE // If true, will constantly flicker, so long as someone is around to see it (otherwise its a waste of CPU). + var/obj/item/weapon/cell/emergency_light/cell + var/start_with_cell = TRUE // if true, this fixture generates a very weak cell at roundstart + + var/emergency_mode = FALSE // if true, the light is in emergency mode + var/no_emergency = FALSE // if true, this light cannot ever have an emergency mode + var/bulb_emergency_brightness_mul = 0.25 // multiplier for this light's base brightness in emergency power mode + var/bulb_emergency_colour = "#FF3232" // determines the colour of the light while it's in emergency mode + var/bulb_emergency_pow_mul = 0.75 // the multiplier for determining the light's power in emergency mode + var/bulb_emergency_pow_min = 0.5 // the minimum value for the light's power in emergency mode + /obj/machinery/light/flicker auto_flicker = TRUE @@ -279,11 +292,14 @@ var/global/list/light_type_cache = list() /obj/machinery/light/flamp/New(atom/newloc, obj/machinery/light_construct/construct = null) ..(newloc, construct) - if(start_with_cell && !no_emergency) - cell = new/obj/item/weapon/cell/emergency_light(src) if(construct) + start_with_cell = FALSE lamp_shade = 0 update_icon() + else + if(start_with_cell && !no_emergency) + cell = new/obj/item/weapon/cell/emergency_light(src) + /obj/machinery/light/flamp/flicker auto_flicker = TRUE @@ -322,6 +338,8 @@ var/global/list/light_type_cache = list() construct.transfer_fingerprints_to(src) set_dir(construct.dir) else + if(start_with_cell && !no_emergency) + cell = new/obj/item/weapon/cell/emergency_light(src) var/obj/item/weapon/light/L = get_light_type_instance(light_type) update_from_bulb(L) if(prob(L.broken_chance)) @@ -429,14 +447,14 @@ var/global/list/light_type_cache = list() on = 0 set_light(0) else - use_power = 2 + update_use_power(USE_POWER_ACTIVE) set_light(brightness_range, brightness_power, brightness_color) else if(has_emergency_power(LIGHT_EMERGENCY_POWER_USE) && !turned_off()) use_power = 1 emergency_mode = TRUE START_PROCESSING(SSobj, src) else - use_power = 2 + update_use_power(USE_POWER_IDLE) set_light(0) update_icon() @@ -674,13 +692,16 @@ var/global/list/light_type_cache = list() flickering = 0 // ai attack - turn on/off emergency lighting for a specific fixture - /obj/machinery/light/attack_ai(mob/user) no_emergency = !no_emergency to_chat(user, "Emergency lights for this fixture have been [no_emergency ? "disabled" : "enabled"].") update(FALSE) return +// ai alt click - Make light flicker. Very important for atmosphere. +/obj/machinery/light/AIAltClick(mob/user) + flicker(1) + /obj/machinery/light/flamp/attack_ai(mob/user) attack_hand() return diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 2443f3ea27..4515b6125c 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -6,7 +6,7 @@ icon_state = "portgen0" density = 1 anchored = 0 - use_power = 0 + use_power = USE_POWER_OFF var/active = 0 var/power_gen = 5000 diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 2fb6ce8e51..194cdb4eb4 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -11,7 +11,7 @@ icon = 'icons/obj/power.dmi' anchored = 1.0 var/datum/powernet/powernet = null - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 0 active_power_usage = 0 diff --git a/code/modules/power/powernet.dm b/code/modules/power/powernet.dm index d8f57baf3b..2710d69788 100644 --- a/code/modules/power/powernet.dm +++ b/code/modules/power/powernet.dm @@ -148,8 +148,8 @@ // return a knot cable (O-X) if one is present in the turf // null if there's none /turf/proc/get_cable_node() - if(!istype(src, /turf/simulated/floor)) - return null + //if(!istype(src, /turf/simulated/floor)) //VOREStation Removal - Why? + //return null //VOREStation Removal - Why? for(var/obj/structure/cable/C in src) if(C.d1 == 0) return C diff --git a/code/modules/power/sensors/sensor_monitoring.dm b/code/modules/power/sensors/sensor_monitoring.dm index 7868e16786..e243b7f75b 100644 --- a/code/modules/power/sensors/sensor_monitoring.dm +++ b/code/modules/power/sensors/sensor_monitoring.dm @@ -7,7 +7,7 @@ name = "Power Monitoring Console" desc = "Computer designed to remotely monitor power levels around the station" icon_keyboard = "power_key" - icon_screen = "power:0" + icon_screen = "power_monitor" light_color = "#ffcc33" //computer stuff @@ -15,7 +15,7 @@ anchored = 1.0 circuit = /obj/item/weapon/circuitboard/powermonitor var/alerting = 0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 300 active_power_usage = 300 var/datum/nano_module/power_monitor/power_monitor @@ -31,9 +31,9 @@ /obj/machinery/computer/power_monitor/update_icon() if(!(stat & (NOPOWER|BROKEN))) if(alerting) - icon_screen = "power:1" + icon_screen = "[initial(icon_screen)]" else - icon_screen = "power:0" + icon_screen = "[initial(icon_screen)]_warn" ..() */ // On creation automatically connects to active sensors. This is delayed to ensure sensors already exist. diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index d8712a0e4c..6478ff999a 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -8,7 +8,7 @@ anchored = 1 density = 0 unacidable = 1 - use_power = 0 + use_power = USE_POWER_OFF light_range = 4 flags = PROXMOVE var/obj/machinery/field_generator/FG1 = null diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index f847813923..2e6cda0049 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -10,7 +10,7 @@ req_access = list(access_engine_equip) var/id = null - use_power = 0 //uses powernet power, not APC power + use_power = USE_POWER_OFF //uses powernet power, not APC power active_power_usage = 30000 //30 kW laser. I guess that means 30 kJ per shot. var/active = 0 diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 16a4c189c1..6a510f0060 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -20,7 +20,7 @@ field_generator power level display icon_state = "Field_Gen" anchored = 0 density = 1 - use_power = 0 + use_power = USE_POWER_OFF var/const/num_power_levels = 6 // Total number of power level icon has var/Varedit_start = 0 var/Varpower = 0 diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm index c49c605598..bb470811ba 100644 --- a/code/modules/power/singularity/generator.dm +++ b/code/modules/power/singularity/generator.dm @@ -6,7 +6,7 @@ icon_state = "TheSingGen" anchored = 0 density = 1 - use_power = 0 + use_power = USE_POWER_OFF var/energy = 0 var/creation_type = /obj/singularity diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index 7460830f21..f5481afd4c 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -258,7 +258,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin icon_state = "none" anchored = 0 density = 1 - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 0 active_power_usage = 0 var/construction_state = 0 @@ -383,10 +383,10 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin if(src.construction_state < 3)//Was taken apart, update state update_state() if(use_power) - use_power = 0 + update_use_power(USE_POWER_OFF) src.construction_state = temp_state if(src.construction_state >= 3) - use_power = 1 + update_use_power(USE_POWER_IDLE) update_icon() return 1 return 0 diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index bcdd0d5036..8cb370924b 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -8,7 +8,7 @@ reference = "control_box" anchored = 0 density = 1 - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 500 active_power_usage = 70000 //70 kW per unit of strength construction_state = 0 @@ -42,7 +42,7 @@ /obj/machinery/particle_accelerator/control_box/update_state() if(construction_state < 3) - update_use_power(0) + update_use_power(USE_POWER_OFF) assembled = 0 active = 0 for(var/obj/structure/particle_accelerator/part in connected_parts) @@ -52,7 +52,7 @@ connected_parts = list() return if(!part_scan()) - update_use_power(1) + update_use_power(USE_POWER_IDLE) active = 0 connected_parts = list() @@ -138,9 +138,9 @@ ..() if(stat & NOPOWER) active = 0 - update_use_power(0) + update_use_power(USE_POWER_OFF) else if(!stat && construction_state == 3) - update_use_power(1) + update_use_power(USE_POWER_IDLE) /obj/machinery/particle_accelerator/control_box/process() @@ -212,13 +212,13 @@ message_admins("PA Control Computer turned [active ?"ON":"OFF"] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1) log_game("PACCEL([x],[y],[z]) [key_name(usr)] turned [active?"ON":"OFF"].") if(active) - update_use_power(2) + update_use_power(USE_POWER_ACTIVE) for(var/obj/structure/particle_accelerator/part in connected_parts) part.strength = src.strength part.powered = 1 part.update_icon() else - update_use_power(1) + update_use_power(USE_POWER_IDLE) for(var/obj/structure/particle_accelerator/part in connected_parts) part.strength = null part.powered = 0 diff --git a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm index 921b000078..5a4176ee89 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_smasher.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_smasher.dm @@ -9,7 +9,7 @@ icon_state = "smasher" anchored = 0 density = 1 - use_power = 0 + use_power = USE_POWER_OFF var/successful_craft = FALSE // Are we waiting to be emptied? var/image/material_layer // Holds the image used for the filled overlay. diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 8628315601..a3ee1a2033 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -11,8 +11,9 @@ icon_state = "smes" density = 1 anchored = 1 - use_power = 0 + use_power = USE_POWER_OFF circuit = /obj/item/weapon/circuitboard/smes + clicksound = "switch" var/capacity = 5e6 // maximum charge var/charge = 1e6 // actual charge @@ -55,36 +56,32 @@ charge -= smes_amt return smes_amt / SMESRATE +/obj/machinery/power/smes/Initialize() + . = ..() + if(!powernet) + connect_to_network() -/obj/machinery/power/smes/New() - ..() - spawn(5) - if(!powernet) - connect_to_network() + dir_loop: + for(var/d in cardinal) + var/turf/T = get_step(src, d) + for(var/obj/machinery/power/terminal/term in T) + if(term && term.dir == turn(d, 180)) + terminal = term + break dir_loop + if(!terminal) + stat |= BROKEN + return + terminal.master = src + if(!terminal.powernet) + terminal.connect_to_network() + update_icon() - dir_loop: - for(var/d in cardinal) - var/turf/T = get_step(src, d) - for(var/obj/machinery/power/terminal/term in T) - if(term && term.dir == turn(d, 180)) - terminal = term - break dir_loop - if(!terminal) - stat |= BROKEN - return - terminal.master = src - if(!terminal.powernet) - terminal.connect_to_network() - update_icon() - - - - - if(!should_be_mapped) - warning("Non-buildable or Non-magical SMES at [src.x]X [src.y]Y [src.z]Z") - - return + if(!should_be_mapped) + warning("Non-buildable or Non-magical SMES at [src.x]X [src.y]Y [src.z]Z") +/obj/machinery/power/smes/Destroy() + terminal = null + return ..() /obj/machinery/power/smes/disconnect_terminal() if(terminal) @@ -94,22 +91,22 @@ return 0 /obj/machinery/power/smes/update_icon() - overlays.Cut() + cut_overlays() if(stat & BROKEN) return - overlays += image('icons/obj/power.dmi', "smes-op[outputting]") + add_overlay("smes-op[outputting]") if(inputting == 2) - overlays += image('icons/obj/power.dmi', "smes-oc2") + add_overlay("smes-oc2") else if (inputting == 1) - overlays += image('icons/obj/power.dmi', "smes-oc1") + add_overlay("smes-oc1") else if(input_attempt) - overlays += image('icons/obj/power.dmi', "smes-oc0") + add_overlay("smes-oc0") var/clevel = chargedisplay() if(clevel>0) - overlays += image('icons/obj/power.dmi', "smes-og[clevel]") + add_overlay("smes-og[clevel]") return diff --git a/code/modules/power/smes_vr.dm b/code/modules/power/smes_vr.dm new file mode 100644 index 0000000000..a333660a43 --- /dev/null +++ b/code/modules/power/smes_vr.dm @@ -0,0 +1,34 @@ +/obj/machinery/power/smes/buildable/hybrid + name = "hybrid power storage unit" + desc = "A high-capacity superconducting magnetic energy storage (SMES) unit, modified with alien technology to generate small amounts of power from seemingly nowhere." + icon = 'icons/obj/power_vr.dmi' + var/recharge_rate = 10000 + var/overlay_icon = 'icons/obj/power_vr.dmi' + +/obj/machinery/power/smes/buildable/hybrid/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) + if(W.is_screwdriver() || W.is_wirecutter()) + to_chat(user,"\The [src] full of weird alien technology that's best not messed with.") + return 0 + +/obj/machinery/power/smes/buildable/hybrid/update_icon() + cut_overlays() + if(stat & BROKEN) return + + add_overlay("smes-op[outputting]") + + if(inputting == 2) + add_overlay("smes-oc2") + else if (inputting == 1) + add_overlay("smes-oc1") + else + if(input_attempt) + add_overlay("smes-oc0") + + var/clevel = chargedisplay() + if(clevel>0) + add_overlay("smes-og[clevel]") + return + +/obj/machinery/power/smes/buildable/hybrid/process() + charge += min(recharge_rate, capacity - charge) + ..() diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index a6c9c2d2ab..f38cf26b61 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -13,7 +13,7 @@ GLOBAL_LIST_EMPTY(solars_list) icon_state = "sp_base" anchored = 1 density = 1 - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 0 active_power_usage = 0 var/id = 0 @@ -287,7 +287,7 @@ GLOBAL_LIST_EMPTY(solars_list) icon_state = "solar" anchored = 1 density = 1 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 250 var/id = 0 var/cdir = 0 diff --git a/code/modules/power/supermatter/setup_supermatter.dm b/code/modules/power/supermatter/setup_supermatter.dm index 7477623805..c0b63d9ce1 100644 --- a/code/modules/power/supermatter/setup_supermatter.dm +++ b/code/modules/power/supermatter/setup_supermatter.dm @@ -126,7 +126,7 @@ GLOBAL_LIST_BOILERPLATE(all_engine_setup_markers, /obj/effect/engine_setup) log_and_message_admins("## WARNING: Unable to locate pump at [x] [y] [z]!") return SETUP_WARNING P.target_pressure = P.max_pressure_setting - P.use_power = 1 + P.update_use_power(USE_POWER_IDLE) P.update_icon() return SETUP_OK @@ -259,7 +259,7 @@ GLOBAL_LIST_BOILERPLATE(all_engine_setup_markers, /obj/effect/engine_setup) return SETUP_WARNING F.rebuild_filtering_list() - F.use_power = 1 + F.update_use_power(USE_POWER_IDLE) F.update_icon() return SETUP_OK diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index a6eab0dbe0..673b2ece86 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -10,7 +10,7 @@ icon_state = "tracker" anchored = 1 density = 1 - use_power = 0 + use_power = USE_POWER_OFF var/id = 0 var/sun_angle = 0 // sun angle as set by sun datum diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 07b307090e..4ac7144069 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -8,6 +8,7 @@ throwforce = 1 w_class = ITEMSIZE_TINY preserve_item = 1 + drop_sound = 'sound/items/drop/ring.ogg' var/leaves_residue = 1 var/caliber = "" //Which kind of guns it can be loaded into diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 8f1c01be21..561ebeb641 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -49,6 +49,7 @@ origin_tech = list(TECH_COMBAT = 1) attack_verb = list("struck", "hit", "bashed") zoomdevicename = "scope" + drop_sound = 'sound/items/drop/gun.ogg' var/automatic = 0 var/burst = 1 @@ -388,6 +389,9 @@ handle_click_empty(user) break + if(i == 1) // So one burst only makes one message and not 3+ messages. + handle_firing_text(user, target, pointblank, reflex) + process_accuracy(projectile, user, target, i, held_twohanded) if(pointblank) @@ -416,14 +420,6 @@ if(one_handed_penalty >= 20) to_chat(user, "You struggle to keep \the [src] pointed at the correct position with just one hand!") - var/target_for_log - if(ismob(target)) - target_for_log = target - else - target_for_log = "[target.name]" - - add_attack_logs(user,target_for_log,"Fired gun [src.name] ([reflex ? "REFLEX" : "MANUAL"])") - //update timing user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) user.setMoveCooldown(move_delay) @@ -534,11 +530,9 @@ src.visible_message("*click click*") playsound(src.loc, 'sound/weapons/empty.ogg', 100, 1) -//called after successfully firing -/obj/item/weapon/gun/proc/handle_post_fire(mob/user, atom/target, var/pointblank=0, var/reflex=0) - if(fire_anim) - flick(fire_anim, src) - +// Called when the user is about to fire. +// Moved from handle_post_fire() because if using a laser, the message for when someone got shot would show up before the firing message. +/obj/item/weapon/gun/proc/handle_firing_text(mob/user, atom/target, pointblank = FALSE, reflex = FALSE) if(silenced) to_chat(user, "You fire \the [src][pointblank ? " point blank at \the [target]":""][reflex ? " by reflex":""]") for(var/mob/living/L in oview(2,user)) @@ -555,6 +549,19 @@ "You hear a [fire_sound_text]!" ) + var/target_for_log + if(ismob(target)) + target_for_log = target + else + target_for_log = "[target.name]" + + add_attack_logs(user, target_for_log, "Fired gun '[src.name]' ([reflex ? "REFLEX" : "MANUAL"])") + +//called after successfully firing +/obj/item/weapon/gun/proc/handle_post_fire(mob/user, atom/target, var/pointblank=0, var/reflex=0) + if(fire_anim) + flick(fire_anim, src) + if(muzzle_flash) set_light(muzzle_flash) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 1c7643061c..43263bf54a 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -76,12 +76,17 @@ var/start_nutrition = H.nutrition var/end_nutrition = 0 - H.nutrition -= rechargeamt / 10 + H.nutrition -= rechargeamt / 15 end_nutrition = H.nutrition - if(start_nutrition - max(0, end_nutrition) < rechargeamt / 10) - H.remove_blood((rechargeamt / 10) - (start_nutrition - max(0, end_nutrition))) + if(start_nutrition - max(0, end_nutrition) < rechargeamt / 15) + + if(H.isSynthetic()) + H.adjustToxLoss((rechargeamt / 15) - (start_nutrition - max(0, end_nutrition))) + + else + H.remove_blood((rechargeamt / 15) - (start_nutrition - max(0, end_nutrition))) power_supply.give(rechargeamt) //... to recharge 1/5th the battery update_icon() @@ -162,8 +167,8 @@ var/obj/item/rig_module/module = src.loc if(module.holder && module.holder.wearer) var/mob/living/carbon/human/H = module.holder.wearer - if(istype(H) && H.back) - var/obj/item/weapon/rig/suit = H.back + if(istype(H) && H.get_rig()) + var/obj/item/weapon/rig/suit = H.get_rig() if(istype(suit)) return suit.cell return null diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index e64abf8533..6540dc470d 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -166,6 +166,7 @@ origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 5, TECH_POWER = 4) projectile_type = /obj/item/projectile/beam/sniper slot_flags = SLOT_BACK + action_button_name = "Use Scope" battery_lock = 1 charge_cost = 600 fire_delay = 35 @@ -176,6 +177,9 @@ // requires_two_hands = 1 // one_handed_penalty = 60 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand. +/obj/item/weapon/gun/energy/sniperrifle/ui_action_click() + scope() + /obj/item/weapon/gun/energy/sniperrifle/verb/scope() set category = "Object" set name = "Use Scope" @@ -192,6 +196,7 @@ origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_POWER = 3) projectile_type = /obj/item/projectile/beam/sniper slot_flags = SLOT_BACK + action_button_name = "Aim Down Sights" charge_cost = 1300 fire_delay = 20 force = 8 @@ -200,6 +205,9 @@ scoped_accuracy = 15 var/scope_multiplier = 1.5 +/obj/item/weapon/gun/energy/monorifle/ui_action_click() + sights() + /obj/item/weapon/gun/energy/monorifle/verb/sights() set category = "Object" set name = "Aim Down Sights" diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm index cf9706effd..9343f9116c 100644 --- a/code/modules/projectiles/guns/energy/temperature.dm +++ b/code/modules/projectiles/guns/energy/temperature.dm @@ -12,3 +12,7 @@ list(mode_name="endothermic beam", projectile_type = /obj/item/projectile/temp, charge_cost = 240), list(mode_name="exothermic beam", projectile_type = /obj/item/projectile/temp/hot, charge_cost = 240), ) + +/obj/item/weapon/gun/energy/temperature/mounted + self_recharge = 1 + use_external_power = 1 diff --git a/code/modules/projectiles/guns/magnetic/gasthrower.dm b/code/modules/projectiles/guns/magnetic/gasthrower.dm new file mode 100644 index 0000000000..742b5bd6c5 --- /dev/null +++ b/code/modules/projectiles/guns/magnetic/gasthrower.dm @@ -0,0 +1,78 @@ +/obj/item/weapon/gun/magnetic/gasthrower + name = "phoronthrower" + desc = "A modernized flamethrower utilizing pressurized phoron gas as both a propellant and combustion medium." + description_fluff = "A weapon designed to effectively combat the threat posed by Almachi soldiers without the danger of other forms of flamethrower." + icon_state = "gasthrower" + item_state = "bore" + wielded_item_state = "bore-wielded" + icon = 'icons/obj/railgun.dmi' + one_handed_penalty = 20 + origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 4, TECH_ILLEGAL = 2, TECH_PHORON = 4) + w_class = ITEMSIZE_LARGE + slowdown = 1 + + burst = 3 + burst_delay = 1 + + fire_sound = 'sound/weapons/towelwipe.ogg' + + removable_components = TRUE + gun_unreliable = 0 + + load_type = /obj/item/weapon/tank + projectile_type = /obj/item/projectile/scatter/flamethrower + + power_cost = 250 + +/obj/item/weapon/gun/magnetic/gasthrower/check_ammo() + if(!loaded || !istype(loaded, load_type)) + return 0 + + var/obj/item/weapon/tank/Tank = loaded + + Tank.air_contents.update_values() // Safety + + var/turf/T = get_turf(src) + + var/phoron_amt = Tank.air_contents.gas["phoron"] + var/co2_amt = Tank.air_contents.gas["carbon_dioxide"] + var/oxy_amt = Tank.air_contents.gas["oxygen"] + var/n2o_amt = Tank.air_contents.gas["sleeping_agent"] + + if(isnull(co2_amt)) + co2_amt = 0 + + if(isnull(oxy_amt)) + oxy_amt = 0 + + if(isnull(n2o_amt)) + n2o_amt = 0 + + var/phoron_mix_proper = TRUE + if(!phoron_amt || phoron_amt < max(0.25, 3 + co2_amt - oxy_amt - (n2o_amt / 2))) + phoron_mix_proper = FALSE + + if(Tank.air_contents.return_pressure() >= T.air.return_pressure() && phoron_mix_proper) + return 1 + + return 0 + +/obj/item/weapon/gun/magnetic/gasthrower/use_ammo() + var/obj/item/weapon/tank/Tank = loaded + + var/moles_to_pull = 0.25 + + Tank.air_contents.remove(moles_to_pull) + +/obj/item/weapon/gun/magnetic/gasthrower/show_ammo(var/mob/user) + ..() + + if(loaded) + var/obj/item/weapon/tank/T = loaded + to_chat(user, "\The [T]'s pressure meter shows: [T.air_contents.return_pressure()] kpa.") + + switch(check_ammo()) + if(TRUE) + to_chat(user, "\The [src]'s display registers a proper fuel mixture.") + if(FALSE) + to_chat(user, "\The [src]'s display registers an improper fuel mixture.") diff --git a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm index 0117e16be5..158ed31f67 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm @@ -150,7 +150,7 @@ w_class = ITEMSIZE_NORMAL - slowdown_held = 0 + slowdown_held = 0.1 initial_cell_type = /obj/item/weapon/cell/device/weapon initial_capacitor_type = /obj/item/weapon/stock_parts/capacitor @@ -159,7 +159,7 @@ firemodes = list( list(mode_name="lethal", power_cost = 500, projectile_type = /obj/item/projectile/bullet/magnetic/heated, burst=1, fire_delay=10, move_delay=null, one_handed_penalty=0), - list(mode_name="stun", power_cost = 350, projectile_type = /obj/item/projectile/energy/electrode/stunshot, burst=1, fire_delay=7, move_delay=null, one_handed_penalty=0), + list(mode_name="stun", power_cost = 350, projectile_type = /obj/item/projectile/energy/electrode/strong, burst=1, fire_delay=7, move_delay=null, one_handed_penalty=0), ) /obj/item/weapon/gun/magnetic/railgun/heater/pistol/hos @@ -171,7 +171,7 @@ firemodes = list( list(mode_name="lethal", power_cost = 400, projectile_type = /obj/item/projectile/bullet/magnetic/heated, burst=1, fire_delay=8, move_delay=null, one_handed_penalty=0), - list(mode_name="stun", power_cost = 300, projectile_type = /obj/item/projectile/energy/electrode/stunshot, burst=1, fire_delay=5, move_delay=null, one_handed_penalty=0), + list(mode_name="stun", power_cost = 300, projectile_type = /obj/item/projectile/energy/electrode/strong, burst=1, fire_delay=5, move_delay=null, one_handed_penalty=0), ) /obj/item/weapon/gun/magnetic/railgun/flechette/sif diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index e68bb620ba..6a4137b296 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -8,6 +8,7 @@ w_class = ITEMSIZE_HUGE // So it can't fit in a backpack. force = 10 slot_flags = SLOT_BACK + action_button_name = "Use Scope" origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 2, TECH_ILLEGAL = 8) caliber = "14.5mm" recoil = 5 //extra kickback @@ -18,6 +19,7 @@ projectile_type = /obj/item/projectile/bullet/rifle/a145 accuracy = -75 scoped_accuracy = 75 + ignore_visor_zoom_restriction = TRUE // Ignore the restriction on vision modifiers when using this gun's scope. // one_handed_penalty = 90 var/bolt_open = 0 @@ -60,6 +62,9 @@ return ..() +/obj/item/weapon/gun/projectile/heavysniper/ui_action_click() + scope() + /obj/item/weapon/gun/projectile/heavysniper/verb/scope() set category = "Object" set name = "Use Scope" @@ -77,6 +82,7 @@ w_class = ITEMSIZE_HUGE // So it can't fit in a backpack. force = 10 slot_flags = SLOT_BACK // Needs a sprite. + action_button_name = "Use Scope" origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 2, TECH_ILLEGAL = 8) caliber = "7.62mm" load_method = MAGAZINE @@ -95,6 +101,9 @@ else icon_state = "SVD-empty" +/obj/item/weapon/gun/projectile/SVD/ui_action_click() + scope() + /obj/item/weapon/gun/projectile/SVD/verb/scope() set category = "Object" set name = "Use Scope" diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index b3b70aa7af..3ed6564229 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -10,6 +10,8 @@ unacidable = TRUE pass_flags = PASSTABLE mouse_opacity = 0 + hitsound = 'sound/weapons/pierce.ogg' + var/hitsound_wall = null // Played when something hits a wall, or anything else that isn't a mob. ////TG PROJECTILE SYTSEM //Projectile stuff @@ -95,7 +97,7 @@ var/spread_submunition_damage = FALSE // Do we assign damage to our sub projectiles based on our main projectile damage? var/damage = 10 - var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE, HALLOSS, ELECTROCUTE, BIOACID are the only things that should be in here + var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE, HALLOSS, ELECTROCUTE, BIOACID, SEARING are the only things that should be in here var/SA_bonus_damage = 0 // Some bullets inflict extra damage on simple animals. var/SA_vulnerability = null // What kind of simple animal the above bonus damage should be applied to. Set to null to apply to all SAs. var/nodamage = 0 //Determines if the projectile will skip any damage inflictions @@ -104,7 +106,7 @@ var/projectile_type = /obj/item/projectile var/penetrating = 0 //If greater than zero, the projectile will pass through dense objects as specified by on_penetrate() //Effects - var/incendiary = 0 //1 for ignite on hit, 2 for trail of fire. 3 maybe later for burst of fire around the impact point. - Mech + var/incendiary = 0 //1 for ignite on hit, 2 for trail of fire. 3 for intense fire. - Mech var/flammability = 0 //Amount of fire stacks to add for the above. var/combustion = TRUE //Does this set off flammable objects on fire/hit? var/stun = 0 @@ -128,12 +130,18 @@ var/temporary_unstoppable_movement = FALSE + // When a non-hitscan projectile hits something, a visual effect can be spawned. + // This is distinct from the hitscan's "impact_type" var. + var/impact_effect_type = null + /obj/item/projectile/proc/Range() range-- if(range <= 0 && loc) on_range() /obj/item/projectile/proc/on_range() //if we want there to be effects when they reach the end of their range + impact_sounds(loc) + impact_visuals(loc) // So it does a little 'burst' effect, but not actually do anything (unless overrided). qdel(src) /obj/item/projectile/proc/return_predicted_turf_after_moves(moves, forced_angle) //I say predicted because there's no telling that the projectile won't change direction/location in flight. @@ -219,12 +227,8 @@ Range() /obj/item/projectile/Crossed(atom/movable/AM) //A mob moving on a tile with a projectile is hit by it. - //VOREStation Edit begin: SHADEKIN - var/mob/SK = AM - if(istype(SK)) - if(SK.shadekin_phasing_check()) - return - //VOREStation Edit end: SHADEKIN + if(AM.is_incorporeal()) + return ..() if(isliving(AM) && !(pass_flags & PASSMOB)) var/mob/living/L = AM @@ -448,10 +452,14 @@ qdel(beam_index) /obj/item/projectile/proc/vol_by_damage() - if(damage) - return CLAMP((damage) * 0.67, 30, 100)// Multiply projectile damage by 0.67, then CLAMP the value between 30 and 100 + if(damage || agony) + var/value_to_use = damage > agony ? damage : agony + // Multiply projectile damage by 1.2, then CLAMP the value between 30 and 100. + // This was 0.67 but in practice it made all projectiles that did 45 or less damage play at 30, + // which is hard to hear over the gunshots, and is rather rare for a projectile to do that much. + return CLAMP((value_to_use) * 1.2, 30, 100) else - return 50 //if the projectile doesn't do damage, play its hitsound at 50% volume. + return 50 //if the projectile doesn't do damage or agony, play its hitsound at 50% volume. /obj/item/projectile/proc/finalize_hitscan_and_generate_tracers(impacting = TRUE) if(trajectory && beam_index) @@ -592,6 +600,9 @@ //called when the projectile stops flying because it Bump'd with something /obj/item/projectile/proc/on_impact(atom/A) + impact_sounds(A) + impact_visuals(A) + if(damage && damage_type == BURN) var/turf/T = get_turf(A) if(T) @@ -633,16 +644,27 @@ def_zone = hit_zone //set def_zone, so if the projectile ends up hitting someone else later (to be implemented), it is more likely to hit the same part result = target_mob.bullet_act(src, def_zone) + if(!istype(target_mob)) + return FALSE // Mob deleted itself or something. + if(result == PROJECTILE_FORCE_MISS) if(!silenced) - visible_message("\The [src] misses [target_mob] narrowly!") + target_mob.visible_message("\The [src] misses \the [target_mob] narrowly!") + playsound(target_mob, "bullet_miss", 75, 1) return FALSE //hit messages if(silenced) - to_chat(target_mob, "You've been hit in the [parse_zone(def_zone)] by \the [src]!") + playsound(target_mob, hitsound, 5, 1, -1) + to_chat(target_mob, span("critical", "You've been hit in the [parse_zone(def_zone)] by \the [src]!")) else - visible_message("\The [target_mob] is hit by \the [src] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter + var/volume = vol_by_damage() + playsound(target_mob, hitsound, volume, 1, -1) + // X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter + target_mob.visible_message( + span("danger", "\The [target_mob] was hit in the [parse_zone(def_zone)] by \the [src]!"), + span("critical", "You've been hit in the [parse_zone(def_zone)] by \the [src]!") + ) //admin logs if(!no_attack_log) @@ -747,3 +769,28 @@ preparePixelProjectile(target, get_turf(src), params, forced_spread) return fire(angle_override, direct_target) + +// Makes a brief effect sprite appear when the projectile hits something solid. +/obj/item/projectile/proc/impact_visuals(atom/A, hit_x, hit_y) + if(impact_effect_type && !hitscan) // Hitscan things have their own impact sprite. + if(isnull(hit_x) && isnull(hit_y)) + if(trajectory) + // Effect goes where the projectile 'stopped'. + hit_x = A.pixel_x + trajectory.return_px() + hit_y = A.pixel_y + trajectory.return_py() + else if(A == original) + // Otherwise it goes where the person who fired clicked. + hit_x = A.pixel_x + p_x - 16 + hit_y = A.pixel_y + p_y - 16 + else + // Otherwise it'll be random. + hit_x = A.pixel_x + rand(-8, 8) + hit_y = A.pixel_y + rand(-8, 8) + new impact_effect_type(get_turf(A), src, hit_x, hit_y) + +/obj/item/projectile/proc/impact_sounds(atom/A) + if(hitsound_wall && !ismob(A)) // Mob sounds are handled in attack_mob(). + var/volume = CLAMP(vol_by_damage() + 20, 0, 100) + if(silenced) + volume = 5 + playsound(get_turf(A), hitsound_wall, volume, 1, -1) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index b00fa8221a..41430bea38 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -14,6 +14,8 @@ light_range = 2 light_power = 0.5 light_color = "#FF0D00" + hitsound = 'sound/weapons/sear.ogg' + hitsound_wall = 'sound/weapons/effects/searwall.ogg' muzzle_type = /obj/effect/projectile/muzzle/laser tracer_type = /obj/effect/projectile/tracer/laser @@ -211,6 +213,7 @@ agony = 40 damage_type = HALLOSS light_color = "#FFFFFF" + hitsound = 'sound/weapons/zapbang.ogg' combustion = FALSE @@ -257,3 +260,4 @@ damage = 30 agony = 15 eyeblur = 2 + hitsound = 'sound/weapons/zapbang.ogg' diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 8220e90eee..e05739d194 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -8,6 +8,8 @@ check_armour = "bullet" embed_chance = 20 //Modified in the actual embed process, but this should keep embed chance about the same sharp = 1 + hitsound_wall = "ricochet" + impact_effect_type = /obj/effect/temp_visual/impact_effect var/mob_passthrough_check = 0 muzzle_type = /obj/effect/projectile/muzzle/bullet @@ -245,7 +247,7 @@ icon_state = "bullet_alt" damage = 15 damage_type = BURN - incendiary = 1 + incendiary = 0.5 flammability = 2 /obj/item/projectile/bullet/incendiary/flamethrower @@ -261,9 +263,20 @@ vacuum_traversal = 0 /obj/item/projectile/bullet/incendiary/flamethrower/large - damage = 15 + damage = 5 + incendiary = 3 + flammability = 2 range = 6 +/obj/item/projectile/bullet/incendiary/flamethrower/tiny + damage = 2 + incendiary = 0 + flammability = 2 + modifier_type_to_apply = /datum/modifier/fire/stack_managed/weak + modifier_duration = 20 SECONDS + range = 6 + agony = 0 + /* Practice rounds and blanks */ /obj/item/projectile/bullet/practice diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index fcbc10f109..132ac6ccf4 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -4,6 +4,11 @@ damage = 0 damage_type = BURN check_armour = "energy" + + impact_effect_type = /obj/effect/temp_visual/impact_effect + hitsound_wall = 'sound/weapons/effects/searwall.ogg' + hitsound = 'sound/weapons/zapbang.ogg' + var/flash_strength = 10 //releases a burst of light on impact or after travelling a distance @@ -11,6 +16,7 @@ name = "chemical shell" icon_state = "bullet" fire_sound = 'sound/weapons/gunshot_pathetic.ogg' + hitsound_wall = null damage = 5 range = 15 //if the shell hasn't hit anything after travelling this far it just explodes. var/flash_range = 0 @@ -91,6 +97,7 @@ light_range = 2 light_power = 0.5 light_color = "#33CC00" + impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser combustion = FALSE @@ -157,6 +164,7 @@ light_range = 2 light_power = 0.5 light_color = "#33CC00" + impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser combustion = FALSE @@ -209,10 +217,11 @@ pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE damage_type = BURN check_armour = "energy" - light_color = "#0000FF" + light_color = "#00AAFF" embed_chance = 0 muzzle_type = /obj/effect/projectile/muzzle/pulse + impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser /obj/item/projectile/energy/phase name = "phase wave" diff --git a/code/modules/projectiles/projectile/force.dm b/code/modules/projectiles/projectile/force.dm index 550aab6113..d03de505b5 100644 --- a/code/modules/projectiles/projectile/force.dm +++ b/code/modules/projectiles/projectile/force.dm @@ -7,6 +7,9 @@ combustion = FALSE + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser + hitsound_wall = 'sound/weapons/effects/searwall.ogg' + /obj/item/projectile/forcebolt/strong name = "force bolt" diff --git a/code/modules/projectiles/projectile/magnetic.dm b/code/modules/projectiles/projectile/magnetic.dm index 9e76c3551f..4c36476ddb 100644 --- a/code/modules/projectiles/projectile/magnetic.dm +++ b/code/modules/projectiles/projectile/magnetic.dm @@ -36,13 +36,16 @@ damage = 30 damage_type = SEARING embed_chance = 0 + armor_penetration = 40 + penetrating = 1 /obj/item/projectile/bullet/magnetic/heated/weak icon_state = "gauss_silenced" damage = 15 agony = 5 embed_chance = 0 - armor_penetration = 50 + armor_penetration = 30 + penetrating = 0 /obj/item/projectile/bullet/magnetic/fuelrod name = "fuel rod" diff --git a/code/modules/projectiles/projectile/scatter.dm b/code/modules/projectiles/projectile/scatter.dm index 0aa6ad5719..4b0511d0b4 100644 --- a/code/modules/projectiles/projectile/scatter.dm +++ b/code/modules/projectiles/projectile/scatter.dm @@ -60,3 +60,13 @@ submunitions = list( /obj/item/projectile/bullet/shotgun/ion = 3 ) + +/obj/item/projectile/scatter/flamethrower + damage = 5 + submunition_spread_max = 100 + submunition_spread_min = 30 + force_max_submunition_spread = TRUE + + submunitions = list( + /obj/item/projectile/bullet/incendiary/flamethrower/tiny = 7 + ) diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 78e3f4f46b..8f81ed16cd 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -11,6 +11,9 @@ light_color = "#55AAFF" combustion = FALSE + impact_effect_type = /obj/effect/temp_visual/impact_effect/ion + hitsound_wall = 'sound/weapons/effects/searwall.ogg' + hitsound = 'sound/weapons/ionrifle.ogg' var/sev1_range = 0 var/sev2_range = 1 @@ -18,8 +21,8 @@ var/sev4_range = 1 /obj/item/projectile/ion/on_impact(var/atom/target) - empulse(target, sev1_range, sev2_range, sev3_range, sev4_range) - return 1 + empulse(target, sev1_range, sev2_range, sev3_range, sev4_range) + ..() /obj/item/projectile/ion/small sev1_range = -1 @@ -58,6 +61,7 @@ light_range = 2 light_power = 0.5 light_color = "#55AAFF" + impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser combustion = FALSE @@ -133,6 +137,7 @@ light_range = 2 light_power = 0.5 light_color = "#33CC00" + impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser combustion = FALSE @@ -189,6 +194,7 @@ light_range = 2 light_power = 0.5 light_color = "#FFFFFF" + impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser /obj/item/projectile/energy/florayield/on_hit(var/atom/target, var/blocked = 0) var/mob/M = target @@ -211,6 +217,7 @@ if(ishuman(target)) var/mob/living/carbon/human/M = target M.Confuse(rand(5,8)) + ..() /obj/item/projectile/chameleon name = "bullet" diff --git a/code/modules/random_map/automata/diona.dm b/code/modules/random_map/automata/diona.dm index e9e58a03a4..d6bee1c0ff 100644 --- a/code/modules/random_map/automata/diona.dm +++ b/code/modules/random_map/automata/diona.dm @@ -1,5 +1,5 @@ -/turf/simulated/wall/diona/New(var/newloc) - ..(newloc,"biomass") +/turf/simulated/wall/diona/Initialize(mapload) + ..(mapload, "biomass") /turf/simulated/wall/diona/attack_generic(var/mob/user, var/damage, var/attack_message) if(istype(user, /mob/living/carbon/alien/diona)) diff --git a/code/modules/random_map/drop/droppod_doors.dm b/code/modules/random_map/drop/droppod_doors.dm index afabe1335b..7c7075f45f 100644 --- a/code/modules/random_map/drop/droppod_doors.dm +++ b/code/modules/random_map/drop/droppod_doors.dm @@ -10,11 +10,10 @@ var/deploying var/deployed -/obj/structure/droppod_door/New(var/newloc, var/autoopen) - ..(newloc) +/obj/structure/droppod_door/Initialize(var/mapload, var/autoopen) + . = ..() if(autoopen) - spawn(100) - deploy() + addtimer(CALLBACK(src, .proc/deploy), 10 SECONDS) /obj/structure/droppod_door/attack_ai(var/mob/user) if(!user.Adjacent(src)) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 9cbf00ddc6..e6fc792d09 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -16,7 +16,7 @@ icon = 'icons/obj/chemical.dmi' icon_state = "mixer0" circuit = /obj/item/weapon/circuitboard/chem_master - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 20 var/beaker = null var/obj/item/weapon/storage/pill_bottle/loaded_pill_bottle = null @@ -333,7 +333,7 @@ icon_state = "juicer1" density = 0 anchored = 0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 5 active_power_usage = 100 circuit = /obj/item/weapon/circuitboard/grinder diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm index 633b3828c3..2d565c9692 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm @@ -175,10 +175,10 @@ S.visible_message("[S]'s flesh sizzles where the water touches it!", "Your flesh burns in the water!") // Then extinguish people on fire. - var/needed = L.fire_stacks * 5 + var/needed = max(0,L.fire_stacks) * 5 if(amount > needed) L.ExtinguishMob() - L.adjust_fire_stacks(-(amount / 5)) + L.water_act(amount / 25) // Div by 25, as water_act multiplies it by 5 in order to calculate firestack modification. remove_self(needed) //YWedit start, readds promethean damage that was removed by vorestation. /datum/reagent/water/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index 1432bfe077..f50a791550 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -134,6 +134,14 @@ nutriment_factor = 10 color = "#FFFFFF" +/datum/reagent/nutriment/yeast + name = "Yeast" + id = "yeast" + description = "For making bread rise!" + taste_description = "yeast" + nutriment_factor = 1 + color = "#D3AF70" + /datum/reagent/nutriment/flour name = "Flour" id = "flour" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index d335763257..12a1f39ae9 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -1402,3 +1402,14 @@ M.adjustOxyLoss(-4 * removed) M.adjustToxLoss(-2 * removed) M.adjustCloneLoss(-2 * removed) + +/datum/reagent/menthol + name = "Menthol" + id = "menthol" + description = "Tastes naturally minty, and imparts a very mild numbing sensation." + taste_description = "mint" + reagent_state = LIQUID + color = "#80af9c" + metabolism = REM * 0.002 + overdose = REAGENTS_OVERDOSE * 0.25 + scannable = 1 diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Modifiers.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Modifiers.dm index d9a7483ec1..cd2e6767b4 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Modifiers.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Modifiers.dm @@ -12,12 +12,13 @@ metabolism = REM var/modifier_to_add = /datum/modifier/berserk - var/modifier_duration = 2 SECONDS // How long, per unit dose, will this last? + var/modifier_duration = 3 SECONDS // How long, per unit dose, will this last? + // 2 SECONDS is the resolution of life code, and the modifier will expire before chemical processing tries to re-add it /datum/reagent/modapplying/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(alien == IS_DIONA) return - M.add_modifier(modifier_to_add, dose * modifier_duration) + M.add_modifier(modifier_to_add, modifier_duration, suppress_failure = TRUE) /datum/reagent/modapplying/cryofluid name = "cryogenic slurry" diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/dispenser/dispenser2.dm index b09c55d95b..845f1a102c 100644 --- a/code/modules/reagents/dispenser/dispenser2.dm +++ b/code/modules/reagents/dispenser/dispenser2.dm @@ -3,6 +3,7 @@ desc = "Automagically fabricates chemicals from electricity." icon = 'icons/obj/chemical.dmi' icon_state = "dispenser" + clicksound = "switch" var/list/spawn_cartridges = null // Set to a list of types to spawn one of each on New() @@ -14,7 +15,7 @@ var/accept_drinking = 0 var/amount = 30 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 100 anchored = 1 @@ -159,6 +160,7 @@ var/label = href_list["dispense"] if(cartridges[label] && container && container.is_open_container()) var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = cartridges[label] + playsound(src.loc, 'sound/machines/reagent_dispense.ogg', 25, 1) C.reagents.trans_to(container, amount) else if(href_list["ejectBeaker"]) diff --git a/code/modules/reagents/dispenser/dispenser_presets_vr.dm b/code/modules/reagents/dispenser/dispenser_presets_vr.dm index 3a3d0031ff..bf7f85688d 100644 --- a/code/modules/reagents/dispenser/dispenser_presets_vr.dm +++ b/code/modules/reagents/dispenser/dispenser_presets_vr.dm @@ -1,7 +1,5 @@ /obj/machinery/chemical_dispenser/xenoflora name = "xenoflora chem dispenser" - icon = 'icons/obj/chemical_vr.dmi' - icon_state = "dispenser-small-green" ui_title = "Xenoflora Chemical Dispenser" dispense_reagents = list( "water", "sugar", "ethanol", "radium", "ammonia", "diethylamine", "plantbgone", "mutagen", "calcium" @@ -22,8 +20,6 @@ /obj/machinery/chemical_dispenser/biochemistry name = "bioproduct dispenser" - icon = 'icons/obj/chemical_vr.dmi' - icon_state = "dispenser-small" ui_title = "Bioproduct Dispenser" dispense_reagents = list( "nutriment", "protein", "milk" diff --git a/code/modules/reagents/distilling/distilling.dm b/code/modules/reagents/distilling/distilling.dm index b86bcc7435..78780a3543 100644 --- a/code/modules/reagents/distilling/distilling.dm +++ b/code/modules/reagents/distilling/distilling.dm @@ -6,7 +6,7 @@ /obj/machinery/portable_atmospherics/powered/reagent_distillery name = "chemical distillery" desc = "A complex machine utilizing state-of-the-art components to mix chemicals at different temperatures." - use_power = 1 + use_power = USE_POWER_IDLE icon = 'icons/obj/machines/reagent.dmi' icon_state = "distiller" @@ -108,6 +108,57 @@ ..() +/obj/machinery/portable_atmospherics/powered/reagent_distillery/examine(mob/user) + ..() + if(get_dist(user, src) < 3) + to_chat(user, "\The [src] is powered [on ? "on" : "off"].") + + to_chat(user, "\The [src]'s gauges read:") + if(!use_atmos) + to_chat(user, "- Target Temperature: [target_temp]") + to_chat(user, "- Temperature: [current_temp]") + + if(InputBeaker) + if(InputBeaker.reagents.reagent_list.len) + to_chat(user, "\The [src]'s input beaker holds [InputBeaker.reagents.total_volume] units of liquid.") + else + to_chat(user, "\The [src]'s input beaker is empty!") + + if(Reservoir.reagents.reagent_list.len) + to_chat(user, "\The [src]'s internal buffer holds [Reservoir.reagents.total_volume] units of liquid.") + else + to_chat(user, "\The [src]'s internal buffer is empty!") + + if(OutputBeaker) + if(OutputBeaker.reagents.reagent_list.len) + to_chat(user, "\The [src]'s output beaker holds [OutputBeaker.reagents.total_volume] units of liquid.") + else + to_chat(user, "\The [src]'s output beaker is empty!") + +/obj/machinery/portable_atmospherics/powered/reagent_distillery/verb/toggle_power(mob/user = usr) + set name = "Toggle Distillery Heating" + set category = "Object" + set src in view(1) + + if(powered()) + on = !on + to_chat(user, "You turn \the [src] [on ? "on" : "off"].") + else + to_chat(user, " Nothing happens.") + +/obj/machinery/portable_atmospherics/powered/reagent_distillery/verb/toggle_mixing(mob/user = usr) + set name = "Start Distillery Mixing" + set category = "Object" + set src in view(1) + + to_chat(user, "You press \the [src]'s chamber agitator button.") + if(on) + visible_message("\The [src] rattles to life.") + Reservoir.reagents.handle_reactions() + else + spawn(1 SECOND) + to_chat(user, "Nothing happens..") + /obj/machinery/portable_atmospherics/powered/reagent_distillery/attack_hand(mob/user) var/list/options = list() options["examine"] = radial_examine @@ -138,9 +189,7 @@ examine(user) if("use") - if(powered()) - on = !on - to_chat(user, "You turn \the [src] [on ? "on" : "off"].") + toggle_power(user) if("inspect gauges") to_chat(user, "\The [src]'s gauges read:") @@ -149,13 +198,7 @@ to_chat(user, "- Temperature: [current_temp]") if("pulse agitator") - to_chat(user, "You press \the [src]'s chamber agitator button.") - if(on) - visible_message("\The [src] rattles to life.") - Reservoir.reagents.handle_reactions() - else - spawn(1 SECOND) - to_chat(user, "Nothing happens..") + toggle_mixing(user) if("eject input") if(InputBeaker) @@ -252,19 +295,36 @@ if(!powered()) on = FALSE - if(!on || (use_atmos && (!connected_port || avg_pressure < 1000))) + if(!on || (use_atmos && (!connected_port || (avg_pressure / avg_temp) < (1000 / T20C)))) // This mostly respects gas laws by ignoring volume but it should make it usable at low temps current_temp = round((current_temp + T20C) / 2) else if(on) if(!use_atmos) if(current_temp != round(target_temp)) - var/shift_mod = 0 - if(current_temp < target_temp) - shift_mod = 1 - else if(current_temp > target_temp) - shift_mod = -1 - current_temp = CLAMP(round((current_temp + 1 * shift_mod) + (rand(-5, 5) / 10)), min_temp, max_temp) + // Some horrible bastardized attempt at approximating the values of a logistic function, bounded by (max_temp, target_temp, min_temp) + // So we can attempt to estimate the change in temperature for this process() step + + // Apply inverse of the logistic function to fetch our x value + var/x = -1 * log((current_temp < target_temp ? (target_temp - min_temp) / (current_temp - min_temp) : (max_temp - target_temp) / (max_temp - current_temp)) - 1) + if(!x) + x = 0 // Keep null from propagating into the temp + + // Apply the derivative of the logistic function to get the slope + var/dy = (NUM_E ** (-1 * x)) / ((1 + (NUM_E ** (-1 * x))) ** 2) + + // Compute temperature diff, being farther from the target should result in larger steps + // IMPORTANT: If you want to tweak how quickly this changes, tweak this *10! + // As of initial testing, a *10 gives ~5-6 minutes to go from room temp to 500C (+/-0.5C) + var/temp_diff = (current_temp < target_temp ? dy * 10 * target_temp / current_temp : dy * -10 * current_temp / target_temp) + + current_temp = CLAMP(round((current_temp + temp_diff), 0.01), min_temp, max_temp) use_power(power_rating * CELLRATE) + + if(target_temp == round(current_temp, 1.0)) + current_temp = target_temp // Hard set it so we don't need to worry about exact decimals any more, after we've been keeping track of it all this time + playsound(src, 'sound/machines/ping.ogg', 50, 0) + src.visible_message("\The [src] pings as it reaches the target temperature.") + else if(connected_port && avg_pressure > 1000) current_temp = round((current_temp + avg_temp) / 2) else if(!run_pump) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index db4f077753..7a6927f49d 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -104,7 +104,7 @@ feed_sound(user) return 1 else - if(istype(user, /mob/living/carbon/human)) + if(istype(target, /mob/living/carbon/human)) var/mob/living/carbon/human/H = target if(!H.check_has_mouth()) to_chat(user, "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!") diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index fe6ddb87dc..9611460f21 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -21,6 +21,7 @@ icon = 'icons/obj/bloodpack.dmi' icon_state = "empty" item_state = "bloodpack_empty" + drop_sound = 'sound/items/drop/food.ogg' volume = 200 var/label_text = "" diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index ee551696cf..da0205f9ea 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -11,6 +11,7 @@ w_class = ITEMSIZE_TINY slot_flags = SLOT_EARS volume = 5 + drop_sound = 'sound/items/drop/glass.ogg' /obj/item/weapon/reagent_containers/dropper/examine(var/mob/user) if(!..(user, 2)) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 5ca47a6d3b..82a6f7b97a 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -7,6 +7,7 @@ icon = 'icons/obj/chemical.dmi' icon_state = null item_state = "pill" + drop_sound = 'sound/items/drop/food.ogg' var/base_state = "pill" diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index c5764ee8fe..6d9becfbc6 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -25,6 +25,7 @@ var/visible_name = "a syringe" var/time = 30 var/drawing = 0 + drop_sound = 'sound/items/drop/glass.ogg' /obj/item/weapon/reagent_containers/syringe/on_reagent_change() update_icon() diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index c2fae37751..17af8d3b88 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -331,6 +331,7 @@ return /obj/structure/reagent_dispensers/water_cooler/update_icon() + /* VOREStation Lazy Fix for Right Now icon_state = "water_cooler" overlays.Cut() var/image/I @@ -343,6 +344,7 @@ if(cups) I = image(icon, "water_cooler_cups") overlays += I + */ return /obj/structure/reagent_dispensers/beerkeg diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 8a2e9796cd..f3dd0fa384 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -29,23 +29,24 @@ // create a new disposal // find the attached trunk (if present) and init gas resvr. -/obj/machinery/disposal/New() - ..() - spawn(5) - trunk = locate() in src.loc - if(!trunk) - mode = 0 - flush = 0 - else - trunk.linked = src // link the pipe trunk to self +/obj/machinery/disposal/Initialize() + . = ..() + + trunk = locate() in loc + if(!trunk) + mode = 0 + flush = 0 + else + trunk.linked = src // link the pipe trunk to self - air_contents = new/datum/gas_mixture(PRESSURE_TANK_VOLUME) - update() + air_contents = new/datum/gas_mixture(PRESSURE_TANK_VOLUME) + update() /obj/machinery/disposal/Destroy() eject() if(trunk) trunk.linked = null + trunk = null return ..() // attack by item places it in to disposal @@ -359,7 +360,7 @@ // charge the gas reservoir and perform flush if ready /obj/machinery/disposal/process() if(!air_contents || (stat & BROKEN)) // nothing can happen if broken - update_use_power(0) + update_use_power(USE_POWER_OFF) return flush_count++ @@ -377,7 +378,7 @@ flush() if(mode != 1) //if off or ready, no need to charge - update_use_power(1) + update_use_power(USE_POWER_IDLE) else if(air_contents.return_pressure() >= SEND_PRESSURE) mode = 2 //if full enough, switch to ready mode update() @@ -386,7 +387,7 @@ /obj/machinery/disposal/proc/pressurize() if(stat & NOPOWER) // won't charge if no power - update_use_power(0) + update_use_power(USE_POWER_OFF) return var/atom/L = loc // recharging from loc turf @@ -1308,46 +1309,39 @@ icon_state = "pipe-t" var/obj/linked // the linked obj/machinery/disposal or obj/disposaloutlet -/obj/structure/disposalpipe/trunk/New() - ..() +/obj/structure/disposalpipe/trunk/Initialize() + ..() //Lateload below dpdir = dir - spawn(1) - getlinked() + return INITIALIZE_HINT_LATELOAD +/obj/structure/disposalpipe/trunk/LateInitialize() + if(!linked) + getlinked() update() - return + +/obj/structure/disposalpipe/trunk/Destroy() + if(linked) + if(istype(linked, /obj/machinery/disposal)) + + var/obj/machinery/disposal/D = linked + D.trunk = null + linked = null + return ..() /obj/structure/disposalpipe/trunk/proc/getlinked() linked = null - var/obj/machinery/disposal/D = locate() in src.loc + var/obj/machinery/disposal/D = locate() in loc if(D) linked = D - if (!D.trunk) + if(!D.trunk) D.trunk = src - var/obj/structure/disposaloutlet/O = locate() in src.loc + var/obj/structure/disposaloutlet/O = locate() in loc if(O) linked = O - update() - return - - // Override attackby so we disallow trunkremoval when somethings ontop +// Override attackby so we disallow trunkremoval when somethings ontop /obj/structure/disposalpipe/trunk/attackby(var/obj/item/I, var/mob/user) - - //Disposal bins or chutes - /* - These shouldn't be required - var/obj/machinery/disposal/D = locate() in src.loc - if(D && D.anchored) - return - - //Disposal outlet - var/obj/structure/disposaloutlet/O = locate() in src.loc - if(O && O.anchored) - return - */ - //Disposal constructors var/obj/structure/disposalconstruct/C = locate() in src.loc if(C && C.anchored) @@ -1439,72 +1433,70 @@ var/turf/target // this will be where the output objects are 'thrown' to. var/mode = 0 - New() - ..() +/obj/structure/disposaloutlet/Initialize() + . = ..() - spawn(1) - target = get_ranged_target_turf(src, dir, 10) + target = get_ranged_target_turf(src, dir, 10) - var/obj/structure/disposalpipe/trunk/trunk = locate() in src.loc - if(trunk) - trunk.linked = src // link the pipe trunk to self + var/obj/structure/disposalpipe/trunk/trunk = locate() in loc + if(trunk) + trunk.linked = src // link the pipe trunk to self // expel the contents of the holder object, then delete it // called when the holder exits the outlet - proc/expel(var/obj/structure/disposalholder/H) +/obj/structure/disposaloutlet/proc/expel(var/obj/structure/disposalholder/H) + flick("outlet-open", src) + playsound(src, 'sound/machines/warning-buzzer.ogg', 50, 0, 0) + sleep(20) //wait until correct animation frame + playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) - flick("outlet-open", src) - playsound(src, 'sound/machines/warning-buzzer.ogg', 50, 0, 0) - sleep(20) //wait until correct animation frame - playsound(src, 'sound/machines/hiss.ogg', 50, 0, 0) + if(H) + for(var/atom/movable/AM in H) + AM.forceMove(src.loc) + AM.pipe_eject(dir) + if(!istype(AM,/mob/living/silicon/robot/drone)) //Drones keep smashing windows from being fired out of chutes. Bad for the station. ~Z + spawn(5) + AM.throw_at(target, 3, 1) + H.vent_gas(src.loc) + qdel(H) - if(H) - for(var/atom/movable/AM in H) - AM.forceMove(src.loc) - AM.pipe_eject(dir) - if(!istype(AM,/mob/living/silicon/robot/drone)) //Drones keep smashing windows from being fired out of chutes. Bad for the station. ~Z - spawn(5) - AM.throw_at(target, 3, 1) - H.vent_gas(src.loc) - qdel(H) + return +/obj/structure/disposaloutlet/attackby(var/obj/item/I, var/mob/user) + if(!I || !user) return - - attackby(var/obj/item/I, var/mob/user) - if(!I || !user) + src.add_fingerprint(user) + if(I.is_screwdriver()) + if(mode==0) + mode=1 + to_chat(user, "You remove the screws around the power connection.") + playsound(src, I.usesound, 50, 1) + return + else if(mode==1) + mode=0 + to_chat(user, "You attach the screws around the power connection.") + playsound(src, I.usesound, 50, 1) + return + else if(istype(I, /obj/item/weapon/weldingtool) && mode==1) + var/obj/item/weapon/weldingtool/W = I + if(W.remove_fuel(0,user)) + playsound(src, W.usesound, 100, 1) + to_chat(user, "You start slicing the floorweld off the disposal outlet.") + if(do_after(user,20 * W.toolspeed)) + if(!src || !W.isOn()) return + to_chat(user, "You sliced the floorweld off the disposal outlet.") + var/obj/structure/disposalconstruct/C = new (src.loc) + src.transfer_fingerprints_to(C) + C.ptype = 7 // 7 = outlet + C.update() + C.anchored = 1 + C.density = 1 + qdel(src) + return + else + to_chat(user, "You need more welding fuel to complete this task.") return - src.add_fingerprint(user) - if(I.is_screwdriver()) - if(mode==0) - mode=1 - to_chat(user, "You remove the screws around the power connection.") - playsound(src, I.usesound, 50, 1) - return - else if(mode==1) - mode=0 - to_chat(user, "You attach the screws around the power connection.") - playsound(src, I.usesound, 50, 1) - return - else if(istype(I, /obj/item/weapon/weldingtool) && mode==1) - var/obj/item/weapon/weldingtool/W = I - if(W.remove_fuel(0,user)) - playsound(src, W.usesound, 100, 1) - to_chat(user, "You start slicing the floorweld off the disposal outlet.") - if(do_after(user,20 * W.toolspeed)) - if(!src || !W.isOn()) return - to_chat(user, "You sliced the floorweld off the disposal outlet.") - var/obj/structure/disposalconstruct/C = new (src.loc) - src.transfer_fingerprints_to(C) - C.ptype = 7 // 7 = outlet - C.update() - C.anchored = 1 - C.density = 1 - qdel(src) - return - else - to_chat(user, "You need more welding fuel to complete this task.") - return // called when movable is expelled from a disposal pipe or outlet // by default does nothing, override for special behaviour diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 47adce6373..ee4285330f 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -18,6 +18,7 @@ unwrap() proc/unwrap() + playsound(loc, 'sound/items/package_unwrap.ogg', 50, 1) // Destroy will drop our wrapped object on the turf, so let it. qdel(src) @@ -48,6 +49,7 @@ user.visible_message("\The [user] titles \the [src] with \a [W], marking down: \"[str]\"",\ "You title \the [src]: \"[str]\"",\ "You hear someone scribbling a note.") + playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 20) name = "[name] ([str])" if(!examtext && !nameset) nameset = 1 @@ -67,6 +69,7 @@ user.visible_message("\The [user] labels \the [src] with \a [W], scribbling down: \"[examtext]\"",\ "You label \the [src]: \"[examtext]\"",\ "You hear someone scribbling a note.") + playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 20) return update_icon() @@ -111,6 +114,7 @@ name = "small parcel" icon = 'icons/obj/storage_vr.dmi' //VOREStation Edit icon_state = "deliverycrate3" + drop_sound = 'sound/items/drop/box.ogg' var/obj/item/wrapped = null var/sortTag = null var/examtext = null @@ -155,6 +159,7 @@ user.visible_message("\The [user] titles \the [src] with \a [W], marking down: \"[str]\"",\ "You title \the [src]: \"[str]\"",\ "You hear someone scribbling a note.") + playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 20) name = "[name] ([str])" if(!examtext && !nameset) nameset = 1 @@ -175,6 +180,7 @@ user.visible_message("\The [user] labels \the [src] with \a [W], scribbling down: \"[examtext]\"",\ "You label \the [src]: \"[examtext]\"",\ "You hear someone scribbling a note.") + playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 20) return update_icon() @@ -217,6 +223,7 @@ icon_state = "deliveryPaper" w_class = ITEMSIZE_NORMAL var/amount = 25.0 + drop_sound = 'sound/items/drop/wrapper.ogg' afterattack(var/obj/target as obj, mob/user as mob, proximity) @@ -267,6 +274,7 @@ user.visible_message("\The [user] wraps \a [target] with \a [src].",\ "You wrap \the [target], leaving [amount] units of paper on \the [src].",\ "You hear someone taping paper around a small object.") + playsound(loc, 'sound/items/package_wrap.ogg', 50, 1) else if (istype(target, /obj/structure/closet/crate)) var/obj/structure/closet/crate/O = target if (src.amount > 3 && !O.opened) @@ -278,6 +286,7 @@ user.visible_message("\The [user] wraps \a [target] with \a [src].",\ "You wrap \the [target], leaving [amount] units of paper on \the [src].",\ "You hear someone taping paper around a large object.") + playsound(loc, 'sound/items/package_wrap.ogg', 50, 1) else if(src.amount < 3) to_chat(user, "You need more paper.") else if (istype (target, /obj/structure/closet)) @@ -291,6 +300,7 @@ user.visible_message("\The [user] wraps \a [target] with \a [src].",\ "You wrap \the [target], leaving [amount] units of paper on \the [src].",\ "You hear someone taping paper around a large object.") + playsound(loc, 'sound/items/package_wrap.ogg', 50, 1) else if(src.amount < 3) to_chat(user, "You need more paper.") else diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 7f9fcb565f..f9ff3adb51 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -16,11 +16,11 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). var/mat_efficiency = 1 var/speed = 1 - materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) + materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, MAT_GRAPHITE, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) - hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) + hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_GRAPHITE, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 30 active_power_usage = 2500 diff --git a/code/modules/research/designs/circuits/circuits.dm b/code/modules/research/designs/circuits/circuits.dm index 63150b8967..4028342577 100644 --- a/code/modules/research/designs/circuits/circuits.dm +++ b/code/modules/research/designs/circuits/circuits.dm @@ -621,6 +621,19 @@ CIRCUITS BELOW build_path = /obj/item/weapon/circuitboard/microwave/advanced sort_string = "MAAAC" +/datum/design/circuit/pointdefense + name = "point defense battery" + id = "pointdefense" + req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 3, TECH_COMBAT = 4) + build_path = /obj/item/weapon/circuitboard/pointdefense + sort_string = "OAABA" + +/datum/design/circuit/pointdefense_control + name = "deluxe microwave" + id = "pointdefense_control" + req_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_COMBAT = 2) + build_path = /obj/item/weapon/circuitboard/pointdefense_control + sort_string = "OAABB" /* I have no idea how this was even running before, but it doesn't seem to be necessary. /////////////////////////////////// diff --git a/code/modules/research/designs/circuits/disks.dm b/code/modules/research/designs/circuits/disks.dm new file mode 100644 index 0000000000..2a3c2df83f --- /dev/null +++ b/code/modules/research/designs/circuits/disks.dm @@ -0,0 +1,46 @@ + +/datum/design/circuit/disk + build_type = IMPRINTER + req_tech = list(TECH_DATA = 3) + materials = list(MAT_PLASTIC = 2000, MAT_GLASS = 1000) + chemicals = list("pacid" = 10) + time = 5 + +/datum/design/circuit/disk/AssembleDesignName() + ..() + if(build_path) + var/obj/item/weapon/disk/D = build_path + if(istype(D, /obj/item/weapon/disk/species)) + name = "Species Prosthetic design ([item_name])" + else if(istype(D, /obj/item/weapon/disk/limb)) + name = "Transtellar Prosthetic design ([item_name])" + else + name = "Disk design ([item_name])" + +/datum/design/circuit/disk/skrellprint + name = SPECIES_SKRELL + id = "prosthetic_skrell" + req_tech = list(TECH_DATA = 3, TECH_BIO = 3) + build_path = /obj/item/weapon/disk/species/skrell + sort_string = "DBAAA" + +/datum/design/circuit/disk/tajprint + name = SPECIES_TAJ + id = "prosthetic_tajaran" + req_tech = list(TECH_DATA = 3, TECH_BIO = 3) + build_path = /obj/item/weapon/disk/species/tajaran + sort_string = "DBAAB" + +/datum/design/circuit/disk/unathiprint + name = SPECIES_UNATHI + id = "prosthetic_unathi" + req_tech = list(TECH_DATA = 3, TECH_BIO = 4) + build_path = /obj/item/weapon/disk/species/unathi + sort_string = "DBAAC" + +/datum/design/circuit/disk/teshariprint + name = SPECIES_TESHARI + id = "prosthetic_teshari" + req_tech = list(TECH_DATA = 3, TECH_BIO = 4) + build_path = /obj/item/weapon/disk/species/teshari + sort_string = "DBAAD" diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index f8d7fbc4d6..a17bf370bf 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -12,7 +12,7 @@ Note: Must be placed within 3 tiles of the R&D Console var/obj/item/weapon/loaded_item = null var/decon_mod = 0 circuit = /obj/item/weapon/circuitboard/destructive_analyzer - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 30 active_power_usage = 2500 diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm index 0fdd3df5be..125de3db6c 100644 --- a/code/modules/research/mechfab_designs.dm +++ b/code/modules/research/mechfab_designs.dm @@ -538,6 +538,13 @@ req_tech = list(TECH_BLUESPACE = 10, TECH_MAGNET = 5) build_path = /obj/item/mecha_parts/mecha_equipment/teleporter +/datum/design/item/mecha/teleporter + name = "Cloaking Device" + desc = "A device that renders the exosuit invisible to the naked eye, though not to thermal detection. Uses large amounts of energy." + id = "mech_cloaking" + req_tech = list(TECH_BLUESPACE = 10, TECH_MAGNET = 5) + build_path = /obj/item/mecha_parts/mecha_equipment/cloak + /datum/design/item/mecha/rcd name = "RCD" desc = "An exosuit-mounted rapid construction device." @@ -570,6 +577,14 @@ materials = list(DEFAULT_WALL_MATERIAL = 8000, "gold" = 2000, "silver" = 3000, "phoron" = 5000, "glass" = 3750) build_path = /obj/item/mecha_parts/mecha_equipment/combat_shield +/datum/design/item/mecha/omni_shield + name = "Omni Shield" + desc = "Integral shield projector. Can only protect the exosuit, but has no weak angles." + id = "mech_shield_omni" + req_tech = list(TECH_PHORON = 3, TECH_MAGNET = 6, TECH_ILLEGAL = 4) + materials = list(DEFAULT_WALL_MATERIAL = 8000, "gold" = 2000, "silver" = 3000, "phoron" = 5000, "glass" = 3750) + build_path = /obj/item/mecha_parts/mecha_equipment/omni_shield + /datum/design/item/mecha/crisis_drone name = "Crisis Drone" desc = "Deploys a small medical drone capable of patching small wounds in order to stabilize nearby patients." @@ -680,6 +695,46 @@ materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000) build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/prybar +/datum/design/item/mecha/powercutters + name = "hydraulic cable cutter" + desc = "A large, hydraulic cablecutter." + id = "mech_wirecutter" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000) + build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/cutter + +/datum/design/item/mecha/powerscrewdriver + name = "hydraulic screwdriver" + desc = "A large, hydraulic screwdriver." + id = "mech_screwdriver" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000, "osmium" = 3000, "glass" = 1000) + build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/screwdriver + +/datum/design/item/mecha/powerwelder + name = "welding laser" + desc = "A large welding laser." + id = "mech_welder" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_PHORON = 3000, "glass" = 1000) + build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/welding + +/datum/design/item/mecha/inflatables + name = "inflatables deployer" + desc = "A large pneumatic inflatable deployer." + id = "mech_inflatables" + req_tech = list(TECH_MATERIAL = 2, TECH_ENGINEERING = 2, TECH_POWER = 2) + materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_PLASTIC = 4000, "glass" = 1000) + build_path = /obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables + +/datum/design/item/mecha/hardpoint_clamp + name = "hardpoint actuator" + desc = "A complex device used to commandeer equipment from the ground." + id = "mech_hardpoint_clamp" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_POWER = 5, TECH_COMBAT = 2, TECH_MAGNET = 4) + materials = list(MAT_PLASTEEL = 2500, MAT_PLASTIC = 3000, MAT_OSMIUM = 1500, MAT_SILVER = 2000) + build_path = /obj/item/mecha_parts/mecha_equipment/hardpoint_actuator + /datum/design/item/mecha/generator_nuclear name = "Nuclear Reactor" desc = "Exosuit-held nuclear reactor. Converts uranium and everyone's health to energy." @@ -729,3 +784,249 @@ req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 3, TECH_POWER = 2) materials = list(DEFAULT_WALL_MATERIAL = 15000, "silver" = 3000, "plastic" = 3000, "osmium" = 1000) build_path = /obj/item/weapon/vehicle_assembly/quadbike + +/* + * Rigsuits + */ + +/datum/design/item/mechfab/rigsuit + category = "Rigsuit" + req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_PHORON = 3, TECH_MAGNET = 4, TECH_POWER = 6) + +/datum/design/item/mechfab/rigsuit/basic_belt + name = "Advanced Suit Control Belt" + desc = "A belt holding a compressed space-suit." + id = "rigmodule_belt_basic" + materials = list(MAT_PLASTEEL = 12000, MAT_GOLD = 3000, MAT_GRAPHITE = 3000, MAT_OSMIUM = 1000, MAT_PLASTIC = 5000) + build_path = /obj/item/weapon/rig/robotics + +/datum/design/item/mechfab/rigsuit/jetpack + name = "hardsuit maneuvering jets" + desc = "A compact gas thruster system for a hardsuit." + id = "rig_thrusters" + materials = list(MAT_PLASTEEL = 1000, MAT_GOLD = 1000, MAT_GRAPHITE = 1000, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/maneuvering_jets + +/datum/design/item/mechfab/rigsuit/powersink + name = "hardsuit power siphon" + desc = "A complex device used to pull power from machines." + id = "rig_siphon" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 5, TECH_PHORON = 4, TECH_MAGNET = 5, TECH_POWER = 6, TECH_ILLEGAL = 3) + materials = list(MAT_PLASTEEL = 3000, MAT_METALHYDROGEN = 1000, MAT_GRAPHITE = 1000, MAT_PLASTIC = 5000, MAT_PHORON = 2000, MAT_VERDANTIUM = 1500) + build_path = /obj/item/rig_module/power_sink + +/datum/design/item/mechfab/rigsuit/flash + name = "hardsuit mounted flash" + desc = "A suit-mounted flash." + id = "rig_device_flash" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_PLASTIC = 3000, MAT_METALHYDROGEN = 200, MAT_GRAPHITE = 500) + build_path = /obj/item/rig_module/device/flash + +/datum/design/item/mechfab/rigsuit/plasmacutter + name = "hardsuit mounted plasmacutter" + desc = "A suit-mounted plasmacutter." + id = "rig_device_plasmacutter" + req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_PHORON = 3, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 3000, MAT_PLASTIC = 3000, MAT_PHORON = 2500, MAT_GRAPHITE = 500) + build_path = /obj/item/rig_module/device/plasmacutter + +/datum/design/item/mechfab/rigsuit/healthanalyzer + name = "hardsuit health analyzer" + desc = "A hardsuit mounted health analyzer." + id = "rig_device_healthanalyzer" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_BIO = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 1000, MAT_SILVER = 1000, MAT_GRAPHITE = 1000, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/device/healthscanner + +/datum/design/item/mechfab/rigsuit/drill + name = "hardsuit mounted drill" + desc = "A hardsuit mounted drill." + id = "rig_device_drill" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 1500, MAT_DIAMOND = 2500, MAT_GRAPHITE = 1000, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/device/drill + +/datum/design/item/mechfab/rigsuit/excdrill + name = "hardsuit mounted excavation drill" + desc = "A hardsuit mounted excavation drill." + id = "rig_device_excdrill" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 6, TECH_MAGNET = 5, TECH_POWER = 5, TECH_ARCANE = 1) + materials = list(MAT_PLASTEEL = 1500, MAT_DIAMOND = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 1000) + build_path = /obj/item/rig_module/device/arch_drill + +/datum/design/item/mechfab/rigsuit/anomscanner + name = "hardsuit mounted anomaly scanner" + desc = "A suit-mounted anomaly scanner." + id = "rig_device_anomscanner" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_PLASTIC = 3000, MAT_METALHYDROGEN = 200, MAT_GRAPHITE = 500) + build_path = /obj/item/rig_module/device/anomaly_scanner + +/datum/design/item/mechfab/rigsuit/orescanner + name = "hardsuit mounted ore scanner" + desc = "A suit-mounted ore scanner." + id = "rig_device_orescanner" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 3) + materials = list(MAT_PLASTEEL = 2000, MAT_PLASTIC = 2000, MAT_GRAPHITE = 500) + build_path = /obj/item/rig_module/device/orescanner + +/datum/design/item/mechfab/rigsuit/rcd + name = "hardsuit mounted rcd" + desc = "A suit-mounted rcd." + id = "rig_device_rcd" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_PHORON = 3, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 5000, MAT_URANIUM = 3000, MAT_PHORON = 2000, MAT_GRAPHITE = 1500) + build_path = /obj/item/rig_module/device/rcd + +/datum/design/item/mechfab/rigsuit/paperdispenser + name = "hardsuit mounted paper dispenser" + desc = "A suit-mounted paper dispenser." + id = "rig_device_paperdispenser" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_MAGNET = 2, TECH_BIO = 2, TECH_POWER = 2) + materials = list(MAT_PLASTEEL = 1000, MAT_PLASTIC = 500, MAT_PHORON = 500, MAT_GRAPHITE = 100) + build_path = /obj/item/rig_module/device/paperdispenser + +/datum/design/item/mechfab/rigsuit/pen + name = "hardsuit mounted pen" + desc = "A suit-mounted pen." + id = "rig_device_pen" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_MAGNET = 2, TECH_BIO = 2, TECH_POWER = 2) + materials = list(MAT_PLASTEEL = 1000, MAT_PLASTIC = 500, MAT_PHORON = 500, MAT_GRAPHITE = 100) + build_path = /obj/item/rig_module/device/pen + +/datum/design/item/mechfab/rigsuit/grenade_metalfoam + name = "hardsuit metalfoam-bomb launcher" + desc = "A compact metalfoam grenade system for a hardsuit." + id = "rig_grenade_metalfoam" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3) + materials = list(MAT_PLASTEEL = 2000, MAT_OSMIUM = 1000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/grenade_launcher/metalfoam + +/datum/design/item/mechfab/rigsuit/grenade_flash + name = "hardsuit flashbang launcher" + desc = "A compact flashbang grenade system for a hardsuit." + id = "rig_grenade_flashbang" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_PHORON = 3, TECH_MAGNET = 4, TECH_POWER = 5, TECH_COMBAT = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_OSMIUM = 1500, MAT_GRAPHITE = 1000, MAT_PLASTIC = 1000) + build_path = /obj/item/rig_module/grenade_launcher/flash + +/datum/design/item/mechfab/rigsuit/grenade_cleanfoam + name = "hardsuit cleaning-foam-bomb launcher" + desc = "A compact cleaning-foam grenade system for a hardsuit." + id = "rig_grenade_cleanfoam" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2, TECH_POWER = 2) + materials = list(MAT_PLASTEEL = 2000, MAT_GLASS = 1000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 750) + build_path = /obj/item/rig_module/cleaner_launcher + +/datum/design/item/mechfab/rigsuit/taser + name = "hardsuit taser" + desc = "A compact taser system for a hardsuit." + id = "rig_gun_taser" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3, TECH_COMBAT = 2) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/mounted/taser + +/datum/design/item/mechfab/rigsuit/egun + name = "hardsuit egun" + desc = "A compact egun system for a hardsuit." + id = "rig_gun_egun" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 3, TECH_POWER = 4, TECH_COMBAT = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GOLD = 1250, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/mounted/egun + +/datum/design/item/mechfab/rigsuit/mop + name = "hardsuit intense cleaning device" + desc = "An advanced cleaning device." + id = "rig_gun_tempgun" + req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 4, TECH_MAGNET = 5, TECH_POWER = 4, TECH_COMBAT = 6) + materials = list(MAT_PLASTEEL = 2000, MAT_GOLD = 1750, MAT_URANIUM = 1500, MAT_GRAPHITE = 1500, MAT_PLASTIC = 1000) + build_path = /obj/item/rig_module/mounted/mop + +/datum/design/item/mechfab/rigsuit/sprinter + name = "hardsuit overclocker" + desc = "A compact overclocking system for a hardsuit." + id = "rig_component_sprinter" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_BIO = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500, MAT_VERDANTIUM = 1000) + build_path = /obj/item/rig_module/sprinter + +/datum/design/item/mechfab/rigsuit/meson + name = "hardsuit meson visor" + desc = "A compact meson visor for a hardsuit." + id = "rig_component_meson" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 5, TECH_MAGNET = 3, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_OSMIUM = 500) + build_path = /obj/item/rig_module/vision/meson + +/datum/design/item/mechfab/rigsuit/material + name = "hardsuit material visor" + desc = "A compact material visor for a hardsuit." + id = "rig_component_material" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 5, TECH_MAGNET = 3, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_OSMIUM = 500) + build_path = /obj/item/rig_module/vision/material + +/datum/design/item/mechfab/rigsuit/nvg + name = "hardsuit night-vision visor" + desc = "A compact night-vision visor for a hardsuit." + id = "rig_component_nvg" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 4, TECH_POWER = 5) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_OSMIUM = 500, MAT_URANIUM = 1000) + build_path = /obj/item/rig_module/vision/nvg + +/datum/design/item/mechfab/rigsuit/sechud + name = "hardsuit security visor" + desc = "A compact security visor for a hardsuit." + id = "rig_component_sechud" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 2) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500, MAT_SILVER = 500) + build_path = /obj/item/rig_module/vision/sechud + +/datum/design/item/mechfab/rigsuit/medhud + name = "hardsuit medical visor" + desc = "A compact medical visor for a hardsuit." + id = "rig_component_medhud" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_BIO = 2) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500, MAT_SILVER = 500) + build_path = /obj/item/rig_module/vision/medhud + +/datum/design/item/mechfab/rigsuit/voice + name = "hardsuit voice-changer" + desc = "A compact voice-changer for a hardsuit." + id = "rig_component_voice" + req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 4, TECH_MAGNET = 4, TECH_BIO = 4, TECH_ILLEGAL = 3) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 1000, MAT_SILVER = 500, MAT_PHORON = 1000) + build_path = /obj/item/rig_module/voice + +/datum/design/item/mechfab/rigsuit/aicontainer + name = "hardsuit intelligence storage system" + desc = "A compact AI network system for a hardsuit." + id = "rig_component_aicontainer" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_BIO = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_DIAMOND = 1000, MAT_GOLD = 500, MAT_SILVER = 750, MAT_VERDANTIUM = 1000) + build_path = /obj/item/rig_module/ai_container + +/datum/design/item/mechfab/rigsuit/datajack + name = "hardsuit datajack" + desc = "A compact datajack for a hardsuit." + id = "rig_component_datajack" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_POWER = 5) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_METALHYDROGEN = 1000, MAT_GOLD = 500, MAT_SILVER = 750, MAT_VERDANTIUM = 1000) + build_path = /obj/item/rig_module/datajack + +/datum/design/item/mechfab/rigsuit/cheminjector + name = "hardsuit chemical injector" + desc = "A compact chemical injector network for a hardsuit." + id = "rig_component_chemicals" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_BIO = 4) + materials = list(MAT_PLASTEEL = 3000, MAT_GRAPHITE = 2000, MAT_PLASTIC = 3500, MAT_SILVER = 1750, MAT_GOLD = 1250) + build_path = /obj/item/rig_module/chem_dispenser/injector/advanced/empty + +/datum/design/item/mechfab/rigsuit/teleporter + name = "hardsuit teleporter system" + desc = "An enigmatic teleporter system for a hardsuit." + id = "rig_component_teleport" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_POWER = 6, TECH_ILLEGAL = 3, TECH_BLUESPACE = 4, TECH_ARCANE = 2, TECH_PRECURSOR = 3) + materials = list(MAT_DURASTEEL = 5000, MAT_GRAPHITE = 3000, MAT_MORPHIUM = 1500, MAT_OSMIUM = 1500, MAT_PHORON = 1750, MAT_VERDANTIUM = 3000, MAT_SUPERMATTER = 2000) + build_path = /obj/item/rig_module/teleporter diff --git a/code/modules/research/mechfab_designs_vr.dm b/code/modules/research/mechfab_designs_vr.dm new file mode 100644 index 0000000000..1de0cc2dda --- /dev/null +++ b/code/modules/research/mechfab_designs_vr.dm @@ -0,0 +1,7 @@ +/datum/design/item/mechfab/rigsuit/rescuepharm + name = "hardsuit mounted rescue pharmacy" + desc = "A suit mounted rescue drug dispenser." + id = "rig_component_rescuepharm" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_BIO = 4) + materials = list(MAT_PLASTEEL = 3000, MAT_GRAPHITE = 2000, MAT_PLASTIC = 3500, MAT_SILVER = 1750, MAT_GOLD = 1250) + build_path = /obj/item/rig_module/rescue_pharm diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 590840131c..86004b6130 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -54,7 +54,7 @@ var/global/list/obj/machinery/message_server/message_servers = list() desc = "Facilitates both PDA messages and request console functions." density = 1 anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 100 @@ -240,7 +240,7 @@ var/obj/machinery/blackbox_recorder/blackbox desc = "Records all radio communications, as well as various other information in case of the worst." density = 1 anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 10 active_power_usage = 100 var/list/messages = list() //Stores messages of non-standard frequencies diff --git a/code/modules/research/prosfab_designs.dm b/code/modules/research/prosfab_designs.dm index 50a5d6db0d..da9cc05509 100644 --- a/code/modules/research/prosfab_designs.dm +++ b/code/modules/research/prosfab_designs.dm @@ -11,20 +11,21 @@ if(istype(fabricator, /obj/machinery/pros_fabricator)) var/obj/machinery/pros_fabricator/prosfab = fabricator var/obj/item/organ/O = new build_path(newloc) - //VOREStation Edit - Suggesting a species - var/newspecies = "Human" if(prosfab.manufacturer) var/datum/robolimb/manf = all_robolimbs[prosfab.manufacturer] - newspecies = manf.suggested_species - O.species = GLOB.all_species[newspecies] - if(istype(O,/obj/item/organ/external)) - var/obj/item/organ/external/EO = O - if(EO.species.base_color) - var/r_skin = hex2num(copytext(EO.species.base_color,2,4)) - var/g_skin = hex2num(copytext(EO.species.base_color,4,6)) - var/b_skin = hex2num(copytext(EO.species.base_color,6,8)) - EO.s_col = list(r_skin, g_skin, b_skin) - //VOREStation Edit End + + if(!(O.organ_tag in manf.parts)) // Make sure we're using an actually present icon. + manf = all_robolimbs["Unbranded"] + + if(prosfab.species in manf.species_alternates) // If the prosthetics fab is set to say, Unbranded, and species set to 'Tajaran', it will make the Taj variant of Unbranded, if it exists. + manf = manf.species_alternates[prosfab.species] + + if(!prosfab.species || (prosfab.species in manf.species_cannot_use)) // Fabricator ensures the manufacturer can make parts for the species we're set to. + O.species = GLOB.all_species["[manf.suggested_species]"] + else + O.species = GLOB.all_species[prosfab.species] + else + O.species = GLOB.all_species["Human"] O.robotize(prosfab.manufacturer) O.dna = new/datum/dna() //Uuughhhh... why do I have to do this? O.dna.ResetUI() @@ -38,14 +39,21 @@ /datum/design/item/prosfab/pros/torso/Fabricate(var/newloc, var/fabricator) if(istype(fabricator, /obj/machinery/pros_fabricator)) var/obj/machinery/pros_fabricator/prosfab = fabricator - //VOREStation Edit - Suggesting a species var/newspecies = "Human" - if(prosfab.manufacturer) - var/datum/robolimb/manf = all_robolimbs[prosfab.manufacturer] - newspecies = manf.suggested_species + + var/datum/robolimb/manf = all_robolimbs[prosfab.manufacturer] + + if(manf) + if(prosfab.species in manf.species_alternates) // If the prosthetics fab is set to say, Unbranded, and species set to 'Tajaran', it will make the Taj variant of Unbranded, if it exists. + manf = manf.species_alternates[prosfab.species] + + if(!prosfab.species || (prosfab.species in manf.species_cannot_use)) + newspecies = manf.suggested_species + else + newspecies = prosfab.species + var/mob/living/carbon/human/H = new(newloc,newspecies) - //VOREStation Edit End - H.stat = DEAD + H.set_stat(DEAD) H.gender = gender for(var/obj/item/organ/external/EO in H.organs) if(EO.organ_tag == BP_TORSO || EO.organ_tag == BP_GROIN) @@ -55,11 +63,26 @@ for(var/obj/item/organ/external/O in H.organs) O.species = GLOB.all_species[newspecies] - O.robotize(prosfab.manufacturer) + + if(!(O.organ_tag in manf.parts)) // Make sure we're using an actually present icon. + manf = all_robolimbs["Unbranded"] + + O.robotize(manf.company) O.dna = new/datum/dna() O.dna.ResetUI() O.dna.ResetSE() + // Skincolor weirdness. + O.s_col[1] = 0 + O.s_col[2] = 0 + O.s_col[3] = 0 + + // Resetting the UI does strange things for the skin of a non-human robot, which should be controlled by a whole different thing. + H.r_skin = 0 + H.g_skin = 0 + H.b_skin = 0 + H.dna.ResetUIFrom(H) + H.real_name = "Synthmorph #[rand(100,999)]" H.name = H.real_name H.dir = 2 diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index dc3a0cf437..3837e13aae 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -3,7 +3,7 @@ icon_state = "protolathe" flags = OPENCONTAINER circuit = /obj/item/weapon/circuitboard/protolathe - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 30 active_power_usage = 5000 @@ -15,9 +15,9 @@ var/mat_efficiency = 1 var/speed = 1 - materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) + materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, MAT_GRAPHITE = 0, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) - hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) + hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_GRAPHITE, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) /obj/machinery/r_n_d/protolathe/Initialize() . = ..() diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index b7e9b78c56..5c33122815 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/machines/research_vr.dmi' //VOREStation Edit - Replaced with Eris sprites density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE var/busy = 0 var/obj/machinery/computer/rdconsole/linked_console diff --git a/code/modules/research/rigs_vr.dm b/code/modules/research/rigs_vr.dm deleted file mode 100644 index 24c02d3fdd..0000000000 --- a/code/modules/research/rigs_vr.dm +++ /dev/null @@ -1,123 +0,0 @@ -/* - O - rigsuit stuff - OA - rigs themselves - OB - rig modules - OBAA - general purpose - OBAB - mining - OBAC - medical - OBAD - sec/combat - OBAE - engineering/maintenance/cleaning -*/ - - -////// RIGSuit Stuff -/* -/datum/design/item/rig - req_tech = list(TECH_MATERIAL = 5, TECH_POWER = 5, TECH_MAGNET = 5) - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 6000, "silver" = 6000, "uranium" = 4000) - -/datum/design/item/rig/AssembleDesignName() - ..() - name = "hardsuit prototype ([name])" - -/datum/design/item/rig/eva - name = "eva hardsuit (empty)" - id = "eva_hardsuit" - build_path = /obj/item/weapon/rig/eva - sort_string = "OAAAA" - -/datum/design/item/rig/mining - name = "industrial hardsuit (empty)" - id = "ind_hardsuit" - build_path = /obj/item/weapon/rig/industrial - sort_string = "OAAAB" - -/datum/design/item/rig/research - name = "ami hardsuit (empty)" - id = "ami_hardsuit" - build_path = /obj/item/weapon/rig/hazmat - sort_string = "OAAAC" - -/datum/design/item/rig/medical - name = "medical hardsuit (empty)" - id = "med_hardsuit" - build_path = /obj/item/weapon/rig/medical - sort_string = "OAAAD" -*/ - -/datum/design/item/rig_module - req_tech = list(TECH_MATERIAL = 5, TECH_POWER = 5, TECH_MAGNET = 5) - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 6000, "silver" = 4000, "uranium" = 2000) - -/datum/design/item/rig_module/AssembleDesignName() - ..() - name = "rig module prototype ([name])" - -/datum/design/item/rig_module/maneuvering_jets - name = "maneuvering jets" - id = "rigmod_maneuveringjets" - build_path = /obj/item/rig_module/maneuvering_jets - sort_string = "OBAAA" - -/datum/design/item/rig_module/sprinter - name = "sprinter" - id = "rigmod_sprinter" - build_path = /obj/item/rig_module/sprinter - sort_string = "OBAAB" - -/datum/design/item/rig_module/plasma_cutter - name = "plasma cutter" - id = "rigmod_plasmacutter" - build_path = /obj/item/rig_module/device/plasmacutter - sort_string = "OBABA" - -/datum/design/item/rig_module/diamond_drill - name = "diamond drill" - id = "rigmod_diamonddrill" - build_path = /obj/item/rig_module/device/drill - sort_string = "OBABB" - -/datum/design/item/rig_module/anomaly_scanner - name = "anomaly scanner" - id = "rigmod_anomalyscanner" - build_path = /obj/item/rig_module/device/anomaly_scanner - sort_string = "OBABC" - -/datum/design/item/rig_module/orescanner - name = "ore scanner" - id = "rigmod_orescanner" - build_path = /obj/item/rig_module/device/orescanner - sort_string = "OBABD" - -/datum/design/item/rig_module/rescue_pharm - name = "rescue pharm" - id = "rigmod_rescue_pharm" - build_path = /obj/item/rig_module/rescue_pharm - sort_string = "OBACA" - -/datum/design/item/rig_module/lasercannon - name = "laser cannon" - id = "rigmod_lasercannon" - build_path = /obj/item/rig_module/mounted - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 6000, "silver" = 4000, "uranium" = 2000, "diamond" = 2000) - sort_string = "OBADA" - -/datum/design/item/rig_module/egun - name = "energy gun" - id = "rigmod_egun" - build_path = /obj/item/rig_module/mounted/egun - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 6000, "silver" = 4000, "uranium" = 2000, "diamond" = 1000) - sort_string = "OBADB" - -/datum/design/item/rig_module/taser - name = "taser" - id = "rigmod_taser" - build_path = /obj/item/rig_module/mounted/taser - sort_string = "OBADC" - -/datum/design/item/rig_module/rcd - name = "rcd" - id = "rigmod_rcd" - build_path = /obj/item/rig_module/device/rcd - materials = list(DEFAULT_WALL_MATERIAL = 6000, "glass" = 6000, "silver" = 4000, "uranium" = 2000, "diamond" = 2000) - sort_string = "OBAEA" \ No newline at end of file diff --git a/code/modules/resleeving/designer.dm b/code/modules/resleeving/designer.dm index a5a6afd17d..38feff922e 100644 --- a/code/modules/resleeving/designer.dm +++ b/code/modules/resleeving/designer.dm @@ -5,7 +5,7 @@ name = "body design console" catalogue_data = list(/datum/category_item/catalogue/information/organization/vey_med, /datum/category_item/catalogue/technology/resleeving) - icon = 'icons/obj/computer_vr.dmi' + icon = 'icons/obj/computer.dmi' icon_keyboard = "med_key" icon_screen = "explosive" light_color = "#315ab4" diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm index 46910c73dd..a3a794c4fd 100644 --- a/code/modules/resleeving/machines.dm +++ b/code/modules/resleeving/machines.dm @@ -584,11 +584,17 @@ occupant.confused = max(occupant.confused, confuse_amount) // Apply immedeate effects occupant.eye_blurry = max(occupant.eye_blurry, blur_amount) - if(!(occupant.mind.vore_death)) - occupant.add_modifier(/datum/modifier/resleeving_sickness, sickness_duration) // YW Edit + + // Vore deaths get a fake modifier labeled as such + if(!occupant.mind) + log_debug("[occupant] didn't have a mind to check for vore_death, which may be problematic.") + + if(occupant.mind?.vore_death) + occupant.add_modifier(/datum/modifier/resleeving_sickness, sickness_duration) //YW Edit: you git vored you still get the same debuff + occupant.mind.vore_death = FALSE + // Normal ones get a normal modifier to nerf charging into combat else - occupant.add_modifier(/datum/modifier/resleeving_sickness, sickness_duration) // Much more serious if it wasn't a death by vore though - occupant.mind.vore_death = FALSE // Reset our death type. Just in case + occupant.add_modifier(/datum/modifier/resleeving_sickness, sickness_duration) if(occupant.mind && occupant.original_player && ckey(occupant.mind.key) != occupant.original_player) log_and_message_admins("is now a cross-sleeved character. Body originally belonged to [occupant.real_name]. Mind is now [occupant.mind.name].",occupant) diff --git a/code/modules/resleeving/resleeving_sickness.dm b/code/modules/resleeving/resleeving_sickness.dm index 539da8be12..483bb3f98e 100644 --- a/code/modules/resleeving/resleeving_sickness.dm +++ b/code/modules/resleeving/resleeving_sickness.dm @@ -16,8 +16,8 @@ accuracy_dispersion = 20 // 20% less precise. /datum/modifier/faux_resleeving_sickness - name = "resleeving sickness" - desc = "You feel somewhat weak and unfocused, having been sleeved not so long ago." + name = "resleeving sickness (vore)" + desc = "You feel somewhat weak and unfocused, having been sleeved not so long ago. (OOC: No real penalty for vore-related deaths)" stacks = MODIFIER_STACK_EXTEND on_created_text = "You feel slightly weak and unfocused." @@ -37,12 +37,11 @@ return TRUE /datum/modifier/gory_devourment/on_applied() - if(holder.ckey) - if(holder.mind) - cached_mind = holder.mind - return + cached_mind = holder.mind + return ..() /datum/modifier/gory_devourment/on_expire() if(holder.stat == DEAD) - cached_mind.vore_death = TRUE - return \ No newline at end of file + cached_mind?.vore_death = TRUE + cached_mind = null //Don't keep a hardref + return ..() \ No newline at end of file diff --git a/code/modules/rogueminer_vr/zone_console.dm b/code/modules/rogueminer_vr/zone_console.dm index 719bf4381a..748b508dfb 100644 --- a/code/modules/rogueminer_vr/zone_console.dm +++ b/code/modules/rogueminer_vr/zone_console.dm @@ -12,7 +12,7 @@ icon_keyboard = "tech_key" icon_screen = "request" light_color = "#315ab4" - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 250 active_power_usage = 500 circuit = /obj/item/weapon/circuitboard/roguezones @@ -25,9 +25,12 @@ /obj/machinery/computer/roguezones/Initialize() . = ..() + shuttle_control = locate(/obj/machinery/computer/shuttle_control/belter) + return INITIALIZE_HINT_LATELOAD + +/obj/machinery/computer/roguezones/LateInitialize() if(!rm_controller) rm_controller = new /datum/controller/rogue() - shuttle_control = locate(/obj/machinery/computer/shuttle_control/belter) /obj/machinery/computer/roguezones/attack_ai(mob/user as mob) return attack_hand(user) @@ -119,8 +122,9 @@ var/datum/rogue/zonemaster/ZM_target = rm_controller.prepare_new_zone() //Update shuttle destination. - var/datum/shuttle/ferry/S = shuttle_controller.shuttles["Belter"] - S.area_offsite = ZM_target.myshuttle + var/datum/shuttle/autodock/ferry/S = SSshuttles.shuttles["Belter"] + S.landmark_offsite = ZM_target.myshuttle_landmark + S.next_location = S.get_location_waypoint(!S.location) //Re-enable shuttle. shuttle_control.shuttle_tag = "Belter" @@ -148,7 +152,7 @@ if(rm_controller.current_zone && rm_controller.current_zone.is_occupied()) return // Not usable if shuttle is in occupied zone // Okay do it - var/datum/shuttle/ferry/S = shuttle_controller.shuttles["Belter"] + var/datum/shuttle/autodock/ferry/S = SSshuttles.shuttles["Belter"] S.launch(usr) /obj/item/weapon/circuitboard/roguezones diff --git a/code/modules/rogueminer_vr/zonemaster.dm b/code/modules/rogueminer_vr/zonemaster.dm index d08fb545bd..2c0839fc95 100644 --- a/code/modules/rogueminer_vr/zonemaster.dm +++ b/code/modules/rogueminer_vr/zonemaster.dm @@ -6,7 +6,8 @@ /datum/rogue/zonemaster //our area var/area/asteroid/rogue/myarea - var/area/shuttle/belter/myshuttle + // var/area/shuttle/belter/myshuttle + var/obj/effect/shuttle_landmark/myshuttle_landmark //world.time var/prepared_at = 0 @@ -32,7 +33,9 @@ /datum/rogue/zonemaster/New(var/area/A) ASSERT(A) myarea = A - myshuttle = locate(myarea.shuttle_area) + myshuttle_landmark = locate(/obj/effect/shuttle_landmark) in myarea + if(!istype(myshuttle_landmark)) + warning("Zonemaster cannot find a shuttle landmark in its area '[A]'") spawn(10) //This is called from controller New() and freaks out if this calls back too fast. rm_controller.mark_clean(src) @@ -46,7 +49,7 @@ if(H.stat >= DEAD) //Conditions for exclusion here, like if disconnected people start blocking it. continue var/area/A = get_area(H) - if((A == myarea) || (A == myshuttle)) //The loc of a turf is the area it is in. + if(A == myarea) //The loc of a turf is the area it is in. humans++ return humans @@ -380,6 +383,7 @@ var/ignored = list( /obj/asteroid_spawner, /obj/rogue_mobspawner, + /obj/effect/shuttle_landmark, /obj/effect/step_trigger/teleporter/roguemine_loop/north, /obj/effect/step_trigger/teleporter/roguemine_loop/south, /obj/effect/step_trigger/teleporter/roguemine_loop/east, @@ -389,6 +393,8 @@ if(I.type == /turf/space) I.overlays.Cut() continue + else if(!I.simulated) + continue else if(I.type in ignored) continue qdel(I) @@ -399,6 +405,8 @@ if(I.type == /turf/space) I.overlays.Cut() continue + else if(!I.simulated) + continue else if(I.type in ignored) continue qdel(I) diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm index e3202ccbec..707bd3ccd9 100644 --- a/code/modules/security levels/keycard authentication.dm +++ b/code/modules/security levels/keycard authentication.dm @@ -16,7 +16,7 @@ //1 = select event //2 = authenticate anchored = 1.0 - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 2 active_power_usage = 6 power_channel = ENVIRON diff --git a/code/modules/security levels/security levels.dm b/code/modules/security levels/security levels.dm index ff5f96bdde..8224b72e22 100644 --- a/code/modules/security levels/security levels.dm +++ b/code/modules/security levels/security levels.dm @@ -78,8 +78,7 @@ FA.set_security_level(newlevel) for(var/obj/machinery/status_display/FA in machines) if(FA.z in using_map.contact_levels) - FA.display_alert(newlevel) - FA.mode = 3 + FA.on_alert_changed(newlevel) if(level >= SEC_LEVEL_RED) atc.reroute_traffic(yes = 1) // Tell them fuck off we're busy. diff --git a/code/modules/shieldgen/directional_shield.dm b/code/modules/shieldgen/directional_shield.dm index 9cc0454620..00c416895e 100644 --- a/code/modules/shieldgen/directional_shield.dm +++ b/code/modules/shieldgen/directional_shield.dm @@ -125,6 +125,7 @@ for(var/obj/effect/directional_shield/S in active_shields) active_shields -= S qdel(S) + set_light(0) active = FALSE /obj/item/shield_projector/proc/update_shield_positions() @@ -179,13 +180,18 @@ if(always_on) to_chat(user, "You can't seem to deactivate \the [src].") return - - destroy_shields() + set_on(FALSE) else set_dir(user.dir) // Needed for linear shields. - create_shields() + set_on(TRUE) visible_message("\The [user] [!active ? "de":""]activates \the [src].") +/obj/item/shield_projector/proc/set_on(var/on) + if(isnull(on)) + return + + on ? create_shields() : destroy_shields() // Harmless if called when in the wrong state. + /obj/item/shield_projector/process() if(shield_health < max_shield_health && ( (last_damaged_time + shield_regen_delay) < world.time) ) adjust_health(shield_regen_amount) diff --git a/code/modules/shieldgen/emergency_shield.dm b/code/modules/shieldgen/emergency_shield.dm index 1fd2b78a8c..923d1ec327 100644 --- a/code/modules/shieldgen/emergency_shield.dm +++ b/code/modules/shieldgen/emergency_shield.dm @@ -134,7 +134,7 @@ var/is_open = 0 //Whether or not the wires are exposed var/locked = 0 var/check_delay = 60 //periodically recheck if we need to rebuild a shield - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 0 var/global/list/blockedturfs = list( /turf/space, @@ -156,7 +156,7 @@ idle_power_usage = 0 for(var/obj/machinery/shield/shield_tile in deployed_shields) idle_power_usage += shield_tile.shield_idle_power - update_use_power(1) + update_use_power(USE_POWER_IDLE) /obj/machinery/shieldgen/proc/shields_down() if(!active) return 0 //If it's already off, how did this get called? @@ -166,7 +166,7 @@ collapse_shields() - update_use_power(0) + update_use_power(USE_POWER_OFF) /obj/machinery/shieldgen/proc/create_shields() for(var/turf/target_tile in range(2, src)) diff --git a/code/modules/shieldgen/energy_field.dm b/code/modules/shieldgen/energy_field.dm index 5b7d7f2118..87d07cceaf 100644 --- a/code/modules/shieldgen/energy_field.dm +++ b/code/modules/shieldgen/energy_field.dm @@ -31,8 +31,14 @@ /obj/effect/energy_field/Destroy() update_nearby_tiles() - my_gen.field.Remove(src) - my_gen = null + if(my_gen) + if(istype(my_gen)) + my_gen.field.Remove(src) + my_gen = null + else if(istype(my_gen, /datum/artifact_effect/forcefield)) + var/datum/artifact_effect/forcefield/AE = my_gen + AE.created_field.Remove(src) + my_gen = null var/turf/current_loc = get_turf(src) . = ..() for(var/direction in cardinal) diff --git a/code/modules/shieldgen/sheldwallgen.dm b/code/modules/shieldgen/sheldwallgen.dm index 331f04549a..2a6a859c43 100644 --- a/code/modules/shieldgen/sheldwallgen.dm +++ b/code/modules/shieldgen/sheldwallgen.dm @@ -23,7 +23,7 @@ //There have to be at least two posts, so these are effectively doubled var/power_draw = 30000 //30 kW. How much power is drawn from powernet. Increase this to allow the generator to sustain longer shields, at the cost of more power draw. var/max_stored_power = 50000 //50 kW - use_power = 0 //Draws directly from power net. Does not use APC power. + use_power = USE_POWER_OFF //Draws directly from power net. Does not use APC power. /obj/machinery/shieldwallgen/attack_hand(mob/user as mob) if(state != 1) diff --git a/code/modules/shieldgen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm index 476f3c9f48..2ef3f17a85 100644 --- a/code/modules/shieldgen/shield_capacitor.dm +++ b/code/modules/shieldgen/shield_capacitor.dm @@ -15,7 +15,7 @@ var/max_charge = 8e6 //8 MJ var/max_charge_rate = 400000 //400 kW var/locked = 0 - use_power = 0 //doesn't use APC power + use_power = USE_POWER_OFF //doesn't use APC power var/charge_rate = 100000 //100 kW var/obj/machinery/shield_gen/owned_gen diff --git a/code/modules/shieldgen/shield_diffuser.dm b/code/modules/shieldgen/shield_diffuser.dm index c30f8a7351..9c42e22b57 100644 --- a/code/modules/shieldgen/shield_diffuser.dm +++ b/code/modules/shieldgen/shield_diffuser.dm @@ -4,7 +4,7 @@ description_info = "This device disrupts shields on directly adjacent tiles (in a + shaped pattern). They are commonly installed around exterior airlocks to prevent shields from blocking EVA access." icon = 'icons/obj/machines/shielding.dmi' icon_state = "fdiffuser_on" - use_power = 2 + use_power = USE_POWER_ACTIVE idle_power_usage = 25 // Previously 100. active_power_usage = 500 // Previously 2000 anchored = 1 @@ -57,7 +57,7 @@ update_icon() return enabled = !enabled - use_power = enabled + 1 + update_use_power(enabled ? USE_POWER_ACTIVE : USE_POWER_IDLE) update_icon() to_chat(usr, "You turn \the [src] [enabled ? "on" : "off"].") diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm index a589a0764c..cdd16d2429 100644 --- a/code/modules/shieldgen/shield_gen.dm +++ b/code/modules/shieldgen/shield_gen.dm @@ -22,7 +22,8 @@ var/time_since_fail = 100 var/energy_conversion_rate = 0.0006 //how many renwicks per watt? Higher numbers equals more effiency. var/z_range = 0 // How far 'up and or down' to extend the shield to, in z-levels. Only works on MultiZ supported z-levels. - use_power = 0 //doesn't use APC power + use_power = USE_POWER_OFF //doesn't use APC power + var/id //for button usage /obj/machinery/shield_gen/advanced name = "advanced bubble shield generator" diff --git a/code/modules/shuttles/_defines.dm b/code/modules/shuttles/_defines.dm deleted file mode 100644 index ad8c39466b..0000000000 --- a/code/modules/shuttles/_defines.dm +++ /dev/null @@ -1,4 +0,0 @@ -#define SHUTTLE_FLAGS_NONE 0 -#define SHUTTLE_FLAGS_PROCESS 1 -#define SHUTTLE_FLAGS_SUPPLY 2 -#define SHUTTLE_FLAGS_ALL (~SHUTTLE_FLAGS_NONE) \ No newline at end of file diff --git a/code/modules/shuttles/crashes.dm b/code/modules/shuttles/crashes.dm index eaf7e06019..6f6c66e177 100644 --- a/code/modules/shuttles/crashes.dm +++ b/code/modules/shuttles/crashes.dm @@ -3,30 +3,34 @@ // /datum/shuttle - var/list/crash_areas = null + var/list/crash_locations = null var/crash_message = "Oops. The shuttle blew up." // Announcement made when shuttle crashes /datum/shuttle/New() - if(crash_areas) - for(var/i in 1 to crash_areas.len) - crash_areas[i] = locate(crash_areas[i]) + if(crash_locations) + var/crash_location_ids = crash_locations + crash_locations = list() + for(var/location_tag in crash_location_ids) + var/obj/effect/shuttle_landmark/L = SSshuttles.get_landmark(location_tag) + if(L) + crash_locations += L ..() // Return 0 to let the jump continue, 1 to abort the jump. // Default implementation checks if the shuttle should crash and if so crashes it. -/datum/shuttle/proc/process_longjump(var/area/origin, var/area/intended_destination, var/direction) - if(should_crash()) - do_crash(origin) +/datum/shuttle/proc/process_longjump(var/obj/effect/shuttle_landmark/intended_destination) + if(should_crash(intended_destination)) + do_crash(intended_destination) return 1 // Decide if this is the time we crash. Return true for yes -/datum/shuttle/proc/should_crash(var/area/origin, var/area/intended_destination, var/direction) +/datum/shuttle/proc/should_crash(var/obj/effect/shuttle_landmark/intended_destination) return FALSE // Actually crash the shuttle -/datum/shuttle/proc/do_crash(var/area/source) +/datum/shuttle/proc/do_crash(var/obj/effect/shuttle_landmark/intended_destination) // Choose the target - var/area/target = pick(crash_areas) + var/obj/effect/shuttle_landmark/target = pick(crash_locations) ASSERT(istype(target)) // Blow up the target area? @@ -34,16 +38,18 @@ //What people are we dealing with here var/list/victims = list() - for(var/mob/living/L in source) - victims += L - spawn(0) - shake_camera(L,2 SECONDS,4) + for(var/area/A in shuttle_area) + for(var/mob/living/L in A) + victims += L + spawn(0) + shake_camera(L,2 SECONDS,4) //SHAKA SHAKA SHAKA sleep(2 SECONDS) // Move the shuttle - move(source, target) + if (!attempt_move(target)) + return // Lucky! // Hide people for(var/living in victims) @@ -54,9 +60,11 @@ L.loc = null // Blow up the shuttle - var/list/area_turfs = get_area_turfs(target) - var/turf/epicenter = pick(area_turfs) - var/boomsize = area_turfs.len / 10 // Bigger shuttle = bigger boom + var/list/shuttle_turfs = list() + for(var/area/A in shuttle_area) + shuttle_turfs += get_area_turfs(A) + var/turf/epicenter = pick(shuttle_turfs) + var/boomsize = shuttle_turfs.len / 10 // Bigger shuttle = bigger boom explosion(epicenter, 0, boomsize, boomsize*2, boomsize*3) moving_status = SHUTTLE_CRASHED command_announcement.Announce("[crash_message]", "Shuttle Alert") diff --git a/code/modules/shuttles/escape_pods.dm b/code/modules/shuttles/escape_pods.dm index 060dbff1ad..245b96e82e 100644 --- a/code/modules/shuttles/escape_pods.dm +++ b/code/modules/shuttles/escape_pods.dm @@ -1,50 +1,55 @@ -/datum/shuttle/ferry/escape_pod - var/datum/computer/file/embedded_program/docking/simple/escape_pod/arming_controller - category = /datum/shuttle/ferry/escape_pod +/datum/shuttle/autodock/ferry/escape_pod + var/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/arming_controller + category = /datum/shuttle/autodock/ferry/escape_pod -/datum/shuttle/ferry/escape_pod/New() +/datum/shuttle/autodock/ferry/escape_pod/New() move_time = move_time + rand(-30, 60) if(name in emergency_shuttle.escape_pods) CRASH("An escape pod with the name '[name]' has already been defined.") emergency_shuttle.escape_pods[name] = src + ..() -/datum/shuttle/ferry/escape_pod/init_docking_controllers() - ..() - arming_controller = locate(dock_target_station) + //find the arming controller (berth) - If not configured directly, try to read it from current location landmark + var/arming_controller_tag = arming_controller + if(!arming_controller && active_docking_controller) + arming_controller_tag = active_docking_controller.id_tag + arming_controller = SSshuttles.docking_registry[arming_controller_tag] if(!istype(arming_controller)) - warning("warning: escape pod with station dock tag [dock_target_station] could not find it's dock target!") + CRASH("Could not find arming controller for escape pod \"[name]\", tag was '[arming_controller_tag]'.") - if(docking_controller) - var/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod/controller_master = docking_controller.master - if(!istype(controller_master)) - warning("warning: escape pod with docking tag [docking_controller_tag] could not find it's controller master!") - else - controller_master.pod = src + //find the pod's own controller + var/datum/computer/file/embedded_program/docking/simple/prog = SSshuttles.docking_registry[docking_controller_tag] + var/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod/controller_master = prog.master + if(!istype(controller_master)) + CRASH("Escape pod \"[name]\" could not find it's controller master! docking_controller_tag=[docking_controller_tag]") + controller_master.pod = src -/datum/shuttle/ferry/escape_pod/can_launch() +/datum/shuttle/autodock/ferry/escape_pod/can_launch() if(arming_controller && !arming_controller.armed) //must be armed return 0 if(location) return 0 //it's a one-way trip. return ..() -/datum/shuttle/ferry/escape_pod/can_force() +/datum/shuttle/autodock/ferry/escape_pod/can_force() if (arming_controller.eject_time && world.time < arming_controller.eject_time + 50) return 0 //dont allow force launching until 5 seconds after the arming controller has reached it's countdown return ..() -/datum/shuttle/ferry/escape_pod/can_cancel() +/datum/shuttle/autodock/ferry/escape_pod/can_cancel() return 0 //This controller goes on the escape pod itself /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod name = "escape pod controller" - var/datum/shuttle/ferry/escape_pod/pod + program = /datum/computer/file/embedded_program/docking/simple + var/datum/shuttle/autodock/ferry/escape_pod/pod /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] + var/datum/computer/file/embedded_program/docking/simple/docking_program = program // Cast to proper type data = list( "docking_status" = docking_program.get_docking_status(), @@ -64,17 +69,18 @@ ui.set_auto_update(1) /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod/Topic(href, href_list) - if(..()) - return 1 + if((. = ..())) + return if("manual_arm") pod.arming_controller.arm() + return TOPIC_REFRESH if("force_launch") if (pod.can_force()) pod.force_launch(src) else if (emergency_shuttle.departed && pod.can_launch()) //allow players to manually launch ahead of time if the shuttle leaves pod.launch(src) - + return TOPIC_REFRESH return 0 @@ -82,18 +88,15 @@ //This controller is for the escape pod berth (station side) /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth name = "escape pod berth controller" - -/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth/Initialize() - . = ..() - docking_program = new/datum/computer/file/embedded_program/docking/simple/escape_pod(src) - program = docking_program + program = /datum/computer/file/embedded_program/docking/simple/escape_pod_berth /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] + var/datum/computer/file/embedded_program/docking/simple/docking_program = program // Cast to proper type var/armed = null - if (istype(docking_program, /datum/computer/file/embedded_program/docking/simple/escape_pod)) - var/datum/computer/file/embedded_program/docking/simple/escape_pod/P = docking_program + if (istype(docking_program, /datum/computer/file/embedded_program/docking/simple/escape_pod_berth)) + var/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/P = docking_program armed = P.armed data = list( @@ -114,44 +117,44 @@ if (!emagged) to_chat(user, "You emag the [src], arming the escape pod!") emagged = 1 - if (istype(docking_program, /datum/computer/file/embedded_program/docking/simple/escape_pod)) - var/datum/computer/file/embedded_program/docking/simple/escape_pod/P = docking_program + if (istype(program, /datum/computer/file/embedded_program/docking/simple/escape_pod_berth)) + var/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/P = program if (!P.armed) P.arm() return 1 //A docking controller program for a simple door based docking port -/datum/computer/file/embedded_program/docking/simple/escape_pod +/datum/computer/file/embedded_program/docking/simple/escape_pod_berth var/armed = 0 var/eject_delay = 10 //give latecomers some time to get out of the way if they don't make it onto the pod var/eject_time = null var/closing = 0 -/datum/computer/file/embedded_program/docking/simple/escape_pod/proc/arm() +/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/proc/arm() if(!armed) armed = 1 open_door() -/datum/computer/file/embedded_program/docking/simple/escape_pod/receive_user_command(command) +/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/receive_user_command(command) if (!armed) - return - ..(command) + return TRUE // Eat all commands. + return ..(command) -/datum/computer/file/embedded_program/docking/simple/escape_pod/process() +/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/process() ..() if (eject_time && world.time >= eject_time && !closing) close_door() closing = 1 -/datum/computer/file/embedded_program/docking/simple/escape_pod/prepare_for_docking() +/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/prepare_for_docking() return -/datum/computer/file/embedded_program/docking/simple/escape_pod/ready_for_docking() +/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/ready_for_docking() return 1 -/datum/computer/file/embedded_program/docking/simple/escape_pod/finish_docking() +/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/finish_docking() return //don't do anything - the doors only open when the pod is armed. -/datum/computer/file/embedded_program/docking/simple/escape_pod/prepare_for_undocking() +/datum/computer/file/embedded_program/docking/simple/escape_pod_berth/prepare_for_undocking() eject_time = world.time + eject_delay*10 diff --git a/code/modules/shuttles/landmarks.dm b/code/modules/shuttles/landmarks.dm new file mode 100644 index 0000000000..99761dfe25 --- /dev/null +++ b/code/modules/shuttles/landmarks.dm @@ -0,0 +1,194 @@ +//making this separate from /obj/effect/landmark until that mess can be dealt with +/obj/effect/shuttle_landmark + name = "Nav Point" + icon = 'icons/effects/effects.dmi' + icon_state = "energynet" + anchored = 1 + unacidable = 1 + simulated = 0 + invisibility = 101 + flags = SLANDMARK_FLAG_AUTOSET // We generally want to use current area/turf as base. + + //ID of the landmark + var/landmark_tag + //ID of the controller on the dock side (intialize to id_tag, becomes reference) + var/datum/computer/file/embedded_program/docking/docking_controller + //Map of shuttle names to ID of controller used for this landmark for shuttles with multiple ones. + var/list/special_dock_targets + + //When the shuttle leaves this landmark, it will leave behind the base area + //also used to determine if the shuttle can arrive here without obstruction + var/area/base_area + //Will also leave this type of turf behind if set. + var/turf/base_turf + //Name of the shuttle, null for generic waypoint + var/shuttle_restricted + +/obj/effect/shuttle_landmark/Initialize() + . = ..() + if(docking_controller) + . = INITIALIZE_HINT_LATELOAD + + // Even if this flag is set, hardcoded values take precedence. + if(flags & SLANDMARK_FLAG_AUTOSET) + if(ispath(base_area)) + var/area/A = locate(base_area) + if(!istype(A)) + CRASH("Shuttle landmark \"[landmark_tag]\" couldn't locate area [base_area].") + base_area = A + else + base_area = get_area(src) + var/turf/T = get_turf(src) + if(T && !base_turf) + base_turf = T.type + else + base_area = locate(base_area || world.area) + + name = (name + " ([x],[y])") + SSshuttles.register_landmark(landmark_tag, src) + +/obj/effect/shuttle_landmark/LateInitialize() + if(!docking_controller) + return + var/docking_tag = docking_controller + docking_controller = SSshuttles.docking_registry[docking_tag] + if(!istype(docking_controller)) + log_error("Could not find docking controller for shuttle waypoint '[name]', docking tag was '[docking_tag]'.") + if(using_map.use_overmap) + var/obj/effect/overmap/visitable/location = map_sectors["[z]"] + if(location && location.docking_codes) + docking_controller.docking_codes = location.docking_codes + +/obj/effect/shuttle_landmark/forceMove() + var/obj/effect/overmap/visitable/map_origin = map_sectors["[z]"] + . = ..() + var/obj/effect/overmap/visitable/map_destination = map_sectors["[z]"] + if(map_origin != map_destination) + if(map_origin) + map_origin.remove_landmark(src, shuttle_restricted) + if(map_destination) + map_destination.add_landmark(src, shuttle_restricted) + +//Called when the landmark is added to an overmap sector. +/obj/effect/shuttle_landmark/proc/sector_set(var/obj/effect/overmap/visitable/O, shuttle_name) + shuttle_restricted = shuttle_name + +/obj/effect/shuttle_landmark/proc/is_valid(var/datum/shuttle/shuttle) + if(shuttle.current_location == src) + return FALSE + for(var/area/A in shuttle.shuttle_area) + var/list/translation = get_turf_translation(get_turf(shuttle.current_location), get_turf(src), A.contents) + if(check_collision(base_area, list_values(translation))) + return FALSE + var/conn = GetConnectedZlevels(z) + for(var/w in (z - shuttle.multiz) to z) + if(!(w in conn)) + return FALSE + return TRUE + +// This creates a graphical warning to where the shuttle is about to land in approximately five seconds. +/obj/effect/shuttle_landmark/proc/create_warning_effect(var/datum/shuttle/shuttle) + if(shuttle.current_location == src) + return // TOO LATE! + for(var/area/A in shuttle.shuttle_area) + var/list/translation = get_turf_translation(get_turf(shuttle.current_location), get_turf(src), A.contents) + for(var/T in list_values(translation)) + new /obj/effect/temporary_effect/shuttle_landing(T) // It'll delete itself when needed. + return + +// Should return a readable description of why not if it can't depart. +/obj/effect/shuttle_landmark/proc/cannot_depart(datum/shuttle/shuttle) + return FALSE + +/obj/effect/shuttle_landmark/proc/shuttle_departed(datum/shuttle/shuttle) + return + +/obj/effect/shuttle_landmark/proc/shuttle_arrived(datum/shuttle/shuttle) + return + +/proc/check_collision(area/target_area, list/target_turfs) + for(var/target_turf in target_turfs) + var/turf/target = target_turf + if(!target) + return TRUE //collides with edge of map + if(target.loc != target_area) + return TRUE //collides with another area + if(target.density) + return TRUE //dense turf + return FALSE + +// +//Self-naming/numbering ones. +// +/obj/effect/shuttle_landmark/automatic + name = "Navpoint" + landmark_tag = "navpoint" + flags = SLANDMARK_FLAG_AUTOSET + +/obj/effect/shuttle_landmark/automatic/Initialize() + landmark_tag += "-[x]-[y]-[z]-[random_id("landmarks",1,9999)]" + return ..() + +/obj/effect/shuttle_landmark/automatic/sector_set(var/obj/effect/overmap/visitable/O) + ..() + name = ("[O.name] - [initial(name)] ([x],[y])") + +//Subtype that calls explosion on init to clear space for shuttles +/obj/effect/shuttle_landmark/automatic/clearing + var/radius = 10 + +/obj/effect/shuttle_landmark/automatic/clearing/Initialize() + ..() + return INITIALIZE_HINT_LATELOAD + +/obj/effect/shuttle_landmark/automatic/clearing/LateInitialize() + ..() + for(var/turf/T in range(radius, src)) + if(T.density) + T.ChangeTurf(get_base_turf_by_area(T)) + + +// Subtype that also queues a shuttle datum (for shuttles starting on maps loaded at runtime) +/obj/effect/shuttle_landmark/shuttle_initializer + var/datum/shuttle/shuttle_type + +/obj/effect/shuttle_landmark/shuttle_initializer/Initialize() + . = ..() + LAZYADD(SSshuttles.shuttles_to_initialize, shuttle_type) // queue up for init. + +// +// Bluespace flare landmark beacon +// +/obj/item/device/spaceflare + name = "bluespace flare" + desc = "Burst transmitter used to broadcast all needed information for shuttle navigation systems. Has a flare attached for marking the spot where you probably shouldn't be standing." + icon_state = "bluflare" + light_color = "#3728ff" + var/active + +/obj/item/device/spaceflare/attack_self(var/mob/user) + if(!active) + visible_message("[user] pulls the cord, activating the [src].") + activate() + +/obj/item/device/spaceflare/proc/activate() + if(active) + return + var/turf/T = get_turf(src) + var/mob/M = loc + if(istype(M) && !M.unEquip(src, T)) + return + + active = 1 + anchored = 1 + + var/obj/effect/shuttle_landmark/automatic/mark = new(T) + mark.name = ("Beacon signal ([T.x],[T.y])") + T.hotspot_expose(1500, 5) + update_icon() + +/obj/item/device/spaceflare/update_icon() + . = ..() + if(active) + icon_state = "bluflare_on" + set_light(0.3, 0.1, 6, 2, "85d1ff") diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index 4f043d0c25..ff16e33c86 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -1,6 +1,3 @@ -//These lists are populated in /datum/controller/subsystem/shuttles/proc/setup_shuttle_docks() -//Shuttle subsystem is instantiated in shuttles.dm. - //shuttle moving state defines are in setup.dm /datum/shuttle @@ -8,48 +5,78 @@ var/warmup_time = 0 var/moving_status = SHUTTLE_IDLE - var/docking_controller_tag //tag of the controller used to coordinate docking - var/datum/computer/file/embedded_program/docking/docking_controller //the controller itself. (micro-controller, not game controller) + var/list/shuttle_area // Initial value can be either a single area type or a list of area types + var/obj/effect/shuttle_landmark/current_location //This variable is type-abused initially: specify the landmark_tag, not the actual landmark. - var/arrive_time = 0 //the time at which the shuttle arrives when long jumping - var/depart_time = 0 //Similar to above, set when the shuttle leaves when long jumping, to compare against arrive time. - var/flags = SHUTTLE_FLAGS_PROCESS + var/tmp/arrive_time = 0 //the time at which the shuttle arrives when long jumping + var/flags = SHUTTLE_FLAGS_NONE + var/process_state = IDLE_STATE // Used with SHUTTLE_FLAGS_PROCESS, as well as to store current state. var/category = /datum/shuttle + var/multiz = 0 //how many multiz levels, starts at 0 TODO Leshana - Are we porting this? - var/ceiling_type = /turf/unsimulated/floor/shuttle_ceiling + var/ceiling_type // Type path of turf to roof over the shuttle when at multi-z landmarks. Ignored if null. -/datum/shuttle/New() + var/sound_takeoff = 'sound/effects/shuttles/shuttle_takeoff.ogg' + var/sound_landing = 'sound/effects/shuttles/shuttle_landing.ogg' + + var/knockdown = 1 //whether shuttle downs non-buckled people when it moves + + var/defer_initialisation = FALSE //If this this shuttle should be initialised automatically. + //If set to true, you are responsible for initialzing the shuttle manually. + //Useful for shuttles that are initialized by map_template loading, or shuttles that are created in-game or not used. + + var/mothershuttle //tag of mothershuttle + var/motherdock //tag of mothershuttle landmark, defaults to starting location + + var/tmp/depart_time = 0 //Similar to above, set when the shuttle leaves when long jumping. Used for progress bars. + + // Future Thoughts: Baystation put "docking" stuff in a subtype, leaving base type pure and free of docking stuff. Is this best? + +/datum/shuttle/New(_name, var/obj/effect/shuttle_landmark/initial_location) ..() - if(src.name in shuttle_controller.shuttles) + if(_name) + src.name = _name + + var/list/areas = list() + if(!islist(shuttle_area)) + shuttle_area = list(shuttle_area) + for(var/T in shuttle_area) + var/area/A = locate(T) + if(!istype(A)) + CRASH("Shuttle \"[name]\" couldn't locate area [T].") + areas += A + shuttle_area = areas + + if(initial_location) + current_location = initial_location + else + current_location = SSshuttles.get_landmark(current_location) + if(!istype(current_location)) + log_debug("UM whoops, no initial? [src]") + CRASH("Shuttle '[name]' could not find its starting location landmark [current_location].") + + if(src.name in SSshuttles.shuttles) CRASH("A shuttle with the name '[name]' is already defined.") - shuttle_controller.shuttles[src.name] = src + SSshuttles.shuttles[src.name] = src if(flags & SHUTTLE_FLAGS_PROCESS) - shuttle_controller.process_shuttles += src + SSshuttles.process_shuttles += src if(flags & SHUTTLE_FLAGS_SUPPLY) - if(supply_controller.shuttle) + if(SSsupply.shuttle) CRASH("A supply shuttle is already defined.") - supply_controller.shuttle = src + SSsupply.shuttle = src /datum/shuttle/Destroy() - shuttle_controller.shuttles -= src.name - shuttle_controller.process_shuttles -= src - if(supply_controller.shuttle == src) - supply_controller.shuttle = null + current_location = null + SSshuttles.shuttles -= src.name + SSshuttles.process_shuttles -= src + SSshuttles.shuttle_logs -= src + if(SSsupply.shuttle == src) + SSsupply.shuttle = null . = ..() -/datum/shuttle/process() - return - -/datum/shuttle/proc/init_docking_controllers() - if(docking_controller_tag) - docking_controller = locate(docking_controller_tag) - if(!istype(docking_controller)) - to_world("warning: shuttle with docking tag [docking_controller_tag] could not find it's controller!") - // This creates a graphical warning to where the shuttle is about to land, in approximately five seconds. -/datum/shuttle/proc/create_warning_effect(area/landing_area) - for(var/turf/T in landing_area) - new /obj/effect/temporary_effect/shuttle_landing(T) // It'll delete itself when needed. +/datum/shuttle/proc/create_warning_effect(var/obj/effect/shuttle_landmark/destination) + destination.create_warning_effect(src) // Return false to abort a jump, before the 'warmup' phase. /datum/shuttle/proc/pre_warmup_checks() @@ -60,197 +87,274 @@ return TRUE // If you need an event to occur when the shuttle jumps in short or long jump, override this. -/datum/shuttle/proc/on_shuttle_departure(var/area/origin) - origin.shuttle_departed() +// Keep in mind that destination is the intended destination, the shuttle may or may not actually reach it.s +/datum/shuttle/proc/on_shuttle_departure(var/obj/effect/shuttle_landmark/origin, var/obj/effect/shuttle_landmark/destination) return // Similar to above, but when it finishes moving to the target. Short jump generally makes this occur immediately after the above proc. -/datum/shuttle/proc/on_shuttle_arrival(var/area/destination) - destination.shuttle_arrived() +// Keep in mind we might not actually have gotten to destination. Check current_location to be sure where we ended up. +/datum/shuttle/proc/on_shuttle_arrival(var/obj/effect/shuttle_landmark/origin, var/obj/effect/shuttle_landmark/destination) return -/datum/shuttle/proc/short_jump(var/area/origin,var/area/destination) +/datum/shuttle/proc/short_jump(var/obj/effect/shuttle_landmark/destination) if(moving_status != SHUTTLE_IDLE) return if(!pre_warmup_checks()) return + var/obj/effect/shuttle_landmark/start_location = current_location + // TODO - Figure out exactly when to play sounds. Before warmup_time delay? Should there be a sleep for waiting for sounds? or no? moving_status = SHUTTLE_WARMUP spawn(warmup_time*10) - make_sounds(origin, HYPERSPACE_WARMUP) + make_sounds(HYPERSPACE_WARMUP) create_warning_effect(destination) sleep(5 SECONDS) // so the sound finishes. if(!post_warmup_checks()) - moving_status = SHUTTLE_IDLE + cancel_launch(null) + + if(!fuel_check()) //fuel error (probably out of fuel) occured, so cancel the launch + cancel_launch(null) if (moving_status == SHUTTLE_IDLE) - make_sounds(origin, HYPERSPACE_END) + make_sounds(HYPERSPACE_END) return //someone cancelled the launch - on_shuttle_departure(origin) - moving_status = SHUTTLE_INTRANSIT //shouldn't matter but just to be safe - move(origin, destination) + on_shuttle_departure(start_location, destination) + + attempt_move(destination) + moving_status = SHUTTLE_IDLE + on_shuttle_arrival(start_location, destination) - on_shuttle_arrival(destination) + make_sounds(HYPERSPACE_END) - make_sounds(destination, HYPERSPACE_END) - -/datum/shuttle/proc/long_jump(var/area/departing, var/area/destination, var/area/interim, var/travel_time, var/direction) - //to_world("shuttle/long_jump: departing=[departing], destination=[destination], interim=[interim], travel_time=[travel_time]") +// TODO - Far Future - Would be great if this was driven by process too. +/datum/shuttle/proc/long_jump(var/obj/effect/shuttle_landmark/destination, var/obj/effect/shuttle_landmark/interim, var/travel_time) + //to_world("shuttle/long_jump: current_location=[current_location], destination=[destination], interim=[interim], travel_time=[travel_time]") if(moving_status != SHUTTLE_IDLE) return if(!pre_warmup_checks()) return - //it would be cool to play a sound here + var/obj/effect/shuttle_landmark/start_location = current_location + // TODO - Figure out exactly when to play sounds. Before warmup_time delay? Should there be a sleep for waiting for sounds? or no? moving_status = SHUTTLE_WARMUP spawn(warmup_time*10) - make_sounds(departing, HYPERSPACE_WARMUP) + make_sounds(HYPERSPACE_WARMUP) create_warning_effect(interim) // Really doubt someone is gonna get crushed in the interim area but for completeness's sake we'll make the warning. sleep(5 SECONDS) // so the sound finishes. if(!post_warmup_checks()) - moving_status = SHUTTLE_IDLE + cancel_launch(null) if (moving_status == SHUTTLE_IDLE) - make_sounds(departing, HYPERSPACE_END) + make_sounds(HYPERSPACE_END) return //someone cancelled the launch arrive_time = world.time + travel_time*10 - depart_time = world.time moving_status = SHUTTLE_INTRANSIT + on_shuttle_departure(start_location, destination) - on_shuttle_departure(departing) + if(attempt_move(interim, TRUE)) + interim.shuttle_arrived() - move(departing, interim, direction) - interim.shuttle_arrived() + if(process_longjump(current_location, destination)) //VOREStation Edit - To hook custom shuttle code in + return //VOREStation Edit - It handled it for us (shuttle crash or such) - if(process_longjump(departing, destination)) //VOREStation Edit - To hook custom shuttle code in - return //VOREStation Edit - It handled it for us (shuttle crash or such) + var/last_progress_sound = 0 + var/made_warning = FALSE + while (world.time < arrive_time) + // Make the shuttle make sounds every four seconds, since the sound file is five seconds. + if(last_progress_sound + 4 SECONDS < world.time) + make_sounds(HYPERSPACE_PROGRESS) + last_progress_sound = world.time - var/last_progress_sound = 0 - var/made_warning = FALSE - while (world.time < arrive_time) - // Make the shuttle make sounds every four seconds, since the sound file is five seconds. - if(last_progress_sound + 4 SECONDS < world.time) - make_sounds(interim, HYPERSPACE_PROGRESS) - last_progress_sound = world.time + if(arrive_time - world.time <= 5 SECONDS && !made_warning) + made_warning = TRUE + create_warning_effect(destination) + sleep(5) - if(arrive_time - world.time <= 5 SECONDS && !made_warning) - made_warning = TRUE - create_warning_effect(destination) - sleep(5) + if(!attempt_move(destination)) + attempt_move(start_location) //try to go back to where we started. If that fails, I guess we're stuck in the interim location - interim.shuttle_departed() - move(interim, destination, direction) moving_status = SHUTTLE_IDLE + on_shuttle_arrival(start_location, destination) + make_sounds(HYPERSPACE_END) - on_shuttle_arrival(destination) - make_sounds(destination, HYPERSPACE_END) +////////////////////////////// +// Forward declarations of public procs. They do nothing because this is not auto-dock. +/datum/shuttle/proc/fuel_check() + return 1 //fuel check should always pass in non-overmap shuttles (they have magic engines) + +/datum/shuttle/proc/cancel_launch(var/user) + // If we are past warming up its too late to cancel. + if (moving_status == SHUTTLE_WARMUP) + moving_status = SHUTTLE_IDLE +/* + Docking stuff +*/ /datum/shuttle/proc/dock() - if (!docking_controller) - return - - var/dock_target = current_dock_target() - if (!dock_target) - return - - docking_controller.initiate_docking(dock_target) + return /datum/shuttle/proc/undock() - if (!docking_controller) - return - docking_controller.initiate_undocking() + return -/datum/shuttle/proc/current_dock_target() - return null +/datum/shuttle/proc/force_undock() + return -/datum/shuttle/proc/skip_docking_checks() - if (!docking_controller || !current_dock_target()) - return 1 //shuttles without docking controllers or at locations without docking ports act like old-style shuttles - return 0 +// Check if we are docked (or never dock) and thus have properly arrived. +/datum/shuttle/proc/check_docked() + return TRUE -//just moves the shuttle from A to B, if it can be moved -//A note to anyone overriding move in a subtype. move() must absolutely not, under any circumstances, fail to move the shuttle. +// Check if we are undocked and thus probably ready to depart. +/datum/shuttle/proc/check_undocked() + return TRUE + +/***************** +* Shuttle Moved Handling * (Observer Pattern Implementation: Shuttle Moved) +* Shuttle Pre Move Handling * (Observer Pattern Implementation: Shuttle Pre Move) +*****************/ + +// Move the shuttle to destination if possible. +// Returns TRUE if we actually moved, otherwise FALSE. +/datum/shuttle/proc/attempt_move(var/obj/effect/shuttle_landmark/destination, var/interim = FALSE) + if(current_location == destination) + log_shuttle("Shuttle [src] attempted to move to [destination] but is already there!") + return FALSE + + if(!destination.is_valid(src)) + log_shuttle("Shuttle [src] aborting attempt_move() because destination=[destination] is not valid") + return FALSE + if(current_location.cannot_depart(src)) + log_shuttle("Shuttle [src] aborting attempt_move() because current_location=[current_location] refuses.") + return FALSE + + log_shuttle("[src] moving to [destination]. Areas are [english_list(shuttle_area)]") + var/list/translation = list() + for(var/area/A in shuttle_area) + log_shuttle("Translating [A]") + translation += get_turf_translation(get_turf(current_location), get_turf(destination), A.contents) + var/old_location = current_location + + // Observer pattern pre-move + GLOB.shuttle_pre_move_event.raise_event(src, old_location, destination) + current_location.shuttle_departed(src) + + // Actually do it! (This never fails) + perform_shuttle_move(destination, translation) + + // Observer pattern post-move + destination.shuttle_arrived(src) + GLOB.shuttle_moved_event.raise_event(src, old_location, destination) + + return TRUE + + +//just moves the shuttle from A to B +//A note to anyone overriding move in a subtype. perform_shuttle_move() must absolutely not, under any circumstances, fail to move the shuttle. //If you want to conditionally cancel shuttle launches, that logic must go in short_jump() or long_jump() -/datum/shuttle/proc/move(var/area/origin, var/area/destination, var/direction=null) - +/datum/shuttle/proc/perform_shuttle_move(var/obj/effect/shuttle_landmark/destination, var/list/turf_translation) + log_shuttle("perform_shuttle_move() current=[current_location] destination=[destination]") //to_world("move_shuttle() called for [name] leaving [origin] en route to [destination].") //to_world("area_coming_from: [origin]") //to_world("destination: [destination]") + ASSERT(current_location != destination) - if(origin == destination) - //to_world("cancelling move, shuttle will overlap.") - return + // If shuttle has no internal gravity, update our gravity with destination gravity + if((flags & SHUTTLE_FLAGS_ZERO_G)) + var/new_grav = 1 + if(destination.flags & SLANDMARK_FLAG_ZERO_G) + var/area/new_area = get_area(destination) + new_grav = new_area.has_gravity + for(var/area/our_area in shuttle_area) + if(our_area.has_gravity != new_grav) + our_area.gravitychange(new_grav) - if (docking_controller && !docking_controller.undocked()) - docking_controller.force_undock() + // TODO - Old code used to throw stuff out of the way instead of squashing. Should we? - var/list/dstturfs = list() - var/throwy = world.maxy - - for(var/turf/T in destination) - dstturfs += T - if(T.y < throwy) - throwy = T.y - - for(var/turf/T in dstturfs) - var/turf/D = locate(T.x, throwy - 1, T.z) - for(var/atom/movable/AM as mob|obj in T) - AM.Move(D) - - for(var/mob/living/carbon/bug in destination) - bug.gib() - - for(var/mob/living/simple_mob/pest in destination) - pest.gib() - - origin.move_contents_to(destination, direction=direction) - - for(var/mob/M in destination) - if(M.client) - spawn(0) - if(M.buckled) - to_chat(M, "Sudden acceleration presses you into \the [M.buckled]!") - shake_camera(M, 3, 1) + // Move, gib, or delete everything in our way! + for(var/turf/src_turf in turf_translation) + var/turf/dst_turf = turf_translation[src_turf] + if(src_turf.is_solid_structure()) // in case someone put a hole in the shuttle and you were lucky enough to be under it + for(var/atom/movable/AM in dst_turf) + //if(AM.movable_flags & MOVABLE_FLAG_DEL_SHUTTLE) + // qdel(AM) + // continue + if(!AM.simulated) + continue + if(isliving(AM)) + var/mob/living/bug = AM + bug.gib() else - to_chat(M, "The floor lurches beneath you!") - shake_camera(M, 10, 1) - if(istype(M, /mob/living/carbon)) - if(!M.buckled) - M.Weaken(3) + qdel(AM) //it just gets atomized I guess? TODO throw it into space somewhere, prevents people from using shuttles as an atom-smasher + + var/list/powernets = list() + for(var/area/A in shuttle_area) + // If there was a zlevel above our origin and we own the ceiling, erase our ceiling now we're leaving + if(ceiling_type && HasAbove(current_location.z)) + for(var/turf/TO in A.contents) + var/turf/TA = GetAbove(TO) + if(istype(TA, ceiling_type)) + TA.ChangeTurf(get_base_turf_by_area(TA), 1, 1) + if(knockdown) + for(var/mob/living/M in A) + spawn(0) + if(M.buckled) + to_chat(M, "Sudden acceleration presses you into \the [M.buckled]!") + shake_camera(M, 3, 1) + else + to_chat(M, "The floor lurches beneath you!") + shake_camera(M, 10, 1) + // TODO - tossing? + //M.visible_message("[M.name] is tossed around by the sudden acceleration!") + //M.throw_at_random(FALSE, 4, 1) + if(istype(M, /mob/living/carbon)) + M.Weaken(3) + // We only need to rebuild powernets for our cables. No need to check machines because they are on top of cables. + for(var/obj/structure/cable/C in A) + powernets |= C.powernet + + // Actually do the movement of everything - This replaces origin.move_contents_to(destination) + translate_turfs(turf_translation, current_location.base_area, current_location.base_turf) + current_location = destination + + // If there's a zlevel above our destination, paint in a ceiling on it so we retain our air + if(ceiling_type && HasAbove(current_location.z)) + for(var/area/A in shuttle_area) + for(var/turf/TD in A.contents) + var/turf/TA = GetAbove(TD) + if(istype(TA, get_base_turf_by_area(TA)) || isopenspace(TA)) + if(get_area(TA) in shuttle_area) + continue + TA.ChangeTurf(ceiling_type, TRUE, TRUE, TRUE) // Power-related checks. If shuttle contains power related machinery, update powernets. - var/update_power = 0 - for(var/obj/machinery/power/P in destination) - update_power = 1 - break + // Note: Old way was to rebuild ALL powernets: if(powernets.len) SSmachines.makepowernets() + // New way only rebuilds the powernets we have to + var/list/cables = list() + for(var/datum/powernet/P in powernets) + cables |= P.cables + qdel(P) + SSmachines.setup_powernets_for_cables(cables) - for(var/obj/structure/cable/C in destination) - update_power = 1 - break - - if(update_power) - SSmachines.makepowernets() return //returns 1 if the shuttle has a valid arrive time /datum/shuttle/proc/has_arrive_time() return (moving_status == SHUTTLE_INTRANSIT) -/datum/shuttle/proc/make_sounds(var/area/A, var/sound_type) +/datum/shuttle/proc/make_sounds(var/sound_type) var/sound_to_play = null switch(sound_type) if(HYPERSPACE_WARMUP) @@ -259,9 +363,29 @@ sound_to_play = 'sound/effects/shuttles/hyperspace_progress.ogg' if(HYPERSPACE_END) sound_to_play = 'sound/effects/shuttles/hyperspace_end.ogg' - for(var/obj/machinery/door/E in A) //dumb, I know, but playing it on the engines doesn't do it justice - playsound(E, sound_to_play, 50, FALSE) + for(var/area/A in shuttle_area) + for(var/obj/machinery/door/E in A) //dumb, I know, but playing it on the engines doesn't do it justice + playsound(E, sound_to_play, 50, FALSE) -/datum/shuttle/proc/message_passengers(area/A, var/message) - for(var/mob/M in A) - M.show_message(message, 2) +/datum/shuttle/proc/message_passengers(var/message) + for(var/area/A in shuttle_area) + for(var/mob/M in A) + M.show_message(message, 2) + +/datum/shuttle/proc/find_children() + . = list() + for(var/shuttle_name in SSshuttles.shuttles) + var/datum/shuttle/shuttle = SSshuttles.shuttles[shuttle_name] + if(shuttle.mothershuttle == name) + . += shuttle + +//Returns the areas in shuttle_area that are not actually child shuttles. +/datum/shuttle/proc/find_childfree_areas() + . = shuttle_area.Copy() + for(var/datum/shuttle/child in find_children()) + . -= child.shuttle_area + +/datum/shuttle/proc/get_location_name() + if(moving_status == SHUTTLE_INTRANSIT) + return "In transit" + return current_location.name diff --git a/code/modules/shuttles/shuttle_arrivals.dm b/code/modules/shuttles/shuttle_arrivals.dm index 115d4476d2..a2d71c3fcc 100644 --- a/code/modules/shuttles/shuttle_arrivals.dm +++ b/code/modules/shuttles/shuttle_arrivals.dm @@ -1,15 +1,18 @@ // The new arrivals shuttle. -/datum/shuttle/ferry/arrivals +/datum/shuttle/autodock/ferry/arrivals + category = /datum/shuttle/autodock/ferry/arrivals + name = "Arrivals" - location = 1 + location = FERRY_LOCATION_OFFSITE warmup_time = 25 // Warmup takes 5 seconds, so 30 total. always_process = TRUE var/launch_delay = 3 - area_offsite = /area/shuttle/arrival/pre_game // not really 'pre game' but this area is already defined and unused - area_station = /area/shuttle/arrival/station - docking_controller_tag = "arrivals_shuttle" - dock_target_station = "arrivals_dock" + // Maps must implement their own subtype for their arrivals shuttle, and define at least: + // shuttle_area + // landmark_station (Which should define its dock target) + // landmark_offsite + // docking_controller_tag // For debugging. /obj/machinery/computer/shuttle_control/arrivals @@ -18,36 +21,42 @@ shuttle_tag = "Arrivals" // Unlike most shuttles, the arrivals shuttle is completely automated, so we need to put some additional code here. - +// Process the arrivals shuttle even when idle. +/obj/machinery/computer/shuttle_control/arrivals/process() + var/datum/shuttle/autodock/ferry/arrivals/shuttle = SSshuttles.shuttles[shuttle_tag] + if(shuttle && shuttle.process_state == IDLE_STATE) + shuttle.process() + ..() // This proc checks if anyone is on the shuttle. -/datum/shuttle/ferry/arrivals/proc/check_for_passengers(area/A) - for(var/mob/living/L in A) - return TRUE +/datum/shuttle/autodock/ferry/arrivals/proc/check_for_passengers() + for(var/area/A in shuttle_area) + for(var/mob/living/L in A) + return TRUE return FALSE // This is to stop the shuttle if someone tries to stow away when its leaving. -/datum/shuttle/ferry/arrivals/post_warmup_checks() +/datum/shuttle/autodock/ferry/arrivals/post_warmup_checks() if(!location) // If we're at station. - if(check_for_passengers(area_station)) + if(check_for_passengers()) return FALSE return TRUE -/datum/shuttle/ferry/arrivals/process() +/datum/shuttle/autodock/ferry/arrivals/process() if(process_state == IDLE_STATE) if(location) // If we're off-station (space). - if(check_for_passengers(area_offsite)) // No point arriving with an empty shuttle. + if(check_for_passengers()) // No point arriving with an empty shuttle. warmup_time = initial(warmup_time) launch() - message_passengers(area_offsite, "Arriving at [using_map.station_name] in thirty seconds...") + message_passengers("Arriving at [using_map.station_name] in thirty seconds...") spawn(10 SECONDS) - message_passengers(area_offsite, "Arriving at [using_map.station_name] in twenty seconds.") + message_passengers("Arriving at [using_map.station_name] in twenty seconds.") spawn(10 SECONDS) - message_passengers(area_offsite, "Arriving at [using_map.station_name] in ten seconds. Please buckle up.") + message_passengers("Arriving at [using_map.station_name] in ten seconds. Please buckle up.") else // We are at the station. - if(!check_for_passengers(area_station)) // Don't leave with anyone. + if(!check_for_passengers()) // Don't leave with anyone. if(launch_delay) // Give some time to get on the docks so people don't get trapped inbetween the dock airlocks. launch_delay-- else @@ -58,7 +67,7 @@ ..() // Do everything else /* -/datum/shuttle/ferry/arrivals/current_dock_target() +/datum/shuttle/autodock/ferry/arrivals/current_dock_target() if(location) // If we're off station. return null // Nothing to dock to in space. return ..() diff --git a/code/modules/shuttles/shuttle_autodock.dm b/code/modules/shuttles/shuttle_autodock.dm new file mode 100644 index 0000000000..b9b1801205 --- /dev/null +++ b/code/modules/shuttles/shuttle_autodock.dm @@ -0,0 +1,220 @@ +#define DOCK_ATTEMPT_TIMEOUT 200 //how long in ticks we wait before assuming the docking controller is broken or blown up. + +// Subtype of shuttle that handles docking with docking controllers +// Consists of code pulled down from the old /datum/shuttle and up from /datum/shuttle/ferry +// Note: Since all known shuttles extend this type, this really could just be built into /datum/shuttle +// Why isn't it you ask? Eh, baystation did it this way and its convenient to keep the files smaller I guess. +/datum/shuttle/autodock + var/in_use = null // Tells the controller whether this shuttle needs processing, also attempts to prevent double-use + var/last_dock_attempt_time = 0 + + var/docking_controller_tag = null // ID of the controller on the shuttle (If multiple, this is the default one) + var/datum/computer/file/embedded_program/docking/shuttle_docking_controller // Controller on the shuttle (the one in use) + var/docking_codes + + var/tmp/obj/effect/shuttle_landmark/next_location //This is only used internally. + var/datum/computer/file/embedded_program/docking/active_docking_controller // Controller we are docked with (or trying to) + + var/obj/effect/shuttle_landmark/landmark_transition //This variable is type-abused initially: specify the landmark_tag, not the actual landmark. + var/move_time = 240 //the time spent in the transition area + + category = /datum/shuttle/autodock + flags = SHUTTLE_FLAGS_PROCESS | SHUTTLE_FLAGS_ZERO_G + +/datum/shuttle/autodock/New(var/_name, var/obj/effect/shuttle_landmark/start_waypoint) + ..(_name, start_waypoint) + + //Initial dock + active_docking_controller = current_location.docking_controller + update_docking_target(current_location) + if(active_docking_controller) + set_docking_codes(active_docking_controller.docking_codes) + else if(global.using_map.use_overmap) + var/obj/effect/overmap/visitable/location = map_sectors["[current_location.z]"] + if(location && location.docking_codes) + set_docking_codes(location.docking_codes) + dock() + + //Optional transition area + if(landmark_transition) + landmark_transition = SSshuttles.get_landmark(landmark_transition) + +/datum/shuttle/autodock/Destroy() + in_use = null + next_location = null + active_docking_controller = null + landmark_transition = null + + return ..() + +/datum/shuttle/autodock/proc/set_docking_codes(var/code) + docking_codes = code + if(shuttle_docking_controller) + shuttle_docking_controller.docking_codes = code + +/datum/shuttle/autodock/perform_shuttle_move() + force_undock() //bye! + ..() + +// Despite the name this actually updates the SHUTTLE docking conroller, not the active. +/datum/shuttle/autodock/proc/update_docking_target(var/obj/effect/shuttle_landmark/location) + var/current_dock_target + if(location && location.special_dock_targets && location.special_dock_targets[name]) + current_dock_target = location.special_dock_targets[name] + else + current_dock_target = docking_controller_tag + shuttle_docking_controller = SSshuttles.docking_registry[current_dock_target] + if(current_dock_target && !shuttle_docking_controller) + to_world("warning: shuttle [src] can't find its controller with tag [current_dock_target]!") +/* + Docking stuff +*/ +/datum/shuttle/autodock/dock() + if(active_docking_controller && shuttle_docking_controller) + shuttle_docking_controller.initiate_docking(active_docking_controller.id_tag) + last_dock_attempt_time = world.time + +/datum/shuttle/autodock/undock() + if(shuttle_docking_controller) + shuttle_docking_controller.initiate_undocking() + +/datum/shuttle/autodock/force_undock() + if(shuttle_docking_controller) + shuttle_docking_controller.force_undock() + +/datum/shuttle/autodock/check_docked() + if(shuttle_docking_controller) + return shuttle_docking_controller.docked() + return TRUE + +/datum/shuttle/autodock/check_undocked() + if(shuttle_docking_controller) + return shuttle_docking_controller.can_launch() + return TRUE + +// You also could just directly reference active_docking_controller +/datum/shuttle/autodock/proc/current_dock_target() + if(active_docking_controller) + return active_docking_controller.id_tag + return null + +// These checks are built into the check_docked() and check_undocked() procs +/datum/shuttle/autodock/proc/skip_docking_checks() + if (!shuttle_docking_controller || !current_dock_target()) + return TRUE //shuttles without docking controllers or at locations without docking ports act like old-style shuttles + return FALSE + + +/* + Please ensure that long_jump() and short_jump() are only called from here. This applies to subtypes as well. + Doing so will ensure that multiple jumps cannot be initiated in parallel. +*/ +/datum/shuttle/autodock/process() + switch(process_state) + if (WAIT_LAUNCH) + if(check_undocked()) + //*** ready to go + process_launch() + + if (FORCE_LAUNCH) + process_launch() + + if (WAIT_ARRIVE) + if (moving_status == SHUTTLE_IDLE) + //*** we made it to the destination, update stuff + process_arrived() + process_state = WAIT_FINISH + + if (WAIT_FINISH) + if (world.time > last_dock_attempt_time + DOCK_ATTEMPT_TIMEOUT || check_docked()) + //*** all done here + process_state = IDLE_STATE + arrived() + +//not to be confused with the arrived() proc +/datum/shuttle/autodock/proc/process_arrived() + active_docking_controller = next_location.docking_controller + update_docking_target(next_location) + dock() + + next_location = null + in_use = null //release lock + +/datum/shuttle/autodock/proc/get_travel_time() + return move_time + +/datum/shuttle/autodock/proc/process_launch() + if(!next_location || !next_location.is_valid(src) || current_location.cannot_depart(src)) + process_state = IDLE_STATE + in_use = null + return + if (get_travel_time() && landmark_transition) + . = long_jump(next_location, landmark_transition, get_travel_time()) + else + . = short_jump(next_location) + process_state = WAIT_ARRIVE + +/* + Guards - (These don't take docking status into account, just the state machine and move safety) +*/ +/datum/shuttle/autodock/proc/can_launch() + return (next_location && next_location.is_valid(src) && !current_location.cannot_depart(src) && moving_status == SHUTTLE_IDLE && !in_use) + +/datum/shuttle/autodock/proc/can_force() + return (next_location && next_location.is_valid(src) && !current_location.cannot_depart(src) && moving_status == SHUTTLE_IDLE && process_state == WAIT_LAUNCH) + +/datum/shuttle/autodock/proc/can_cancel() + return (moving_status == SHUTTLE_WARMUP || process_state == WAIT_LAUNCH || process_state == FORCE_LAUNCH) + +/* + "Public" procs +*/ +// Queue shuttle for undock and launch by shuttle subsystem. +/datum/shuttle/autodock/proc/launch(var/user) + if (!can_launch()) return + + in_use = user //obtain an exclusive lock on the shuttle + + process_state = WAIT_LAUNCH + undock() + +// Queue shuttle for forced undock and launch by shuttle subsystem. +/datum/shuttle/autodock/proc/force_launch(var/user) + if (!can_force()) return + + in_use = user //obtain an exclusive lock on the shuttle + + process_state = FORCE_LAUNCH + +// Cancel queued launch. +/datum/shuttle/autodock/cancel_launch(var/user) + if (!can_cancel()) return + + moving_status = SHUTTLE_IDLE + process_state = WAIT_FINISH + in_use = null + + //whatever we were doing with docking: stop it, then redock + force_undock() + spawn(1 SECOND) + dock() + +//returns 1 if the shuttle is getting ready to move, but is not in transit yet +/datum/shuttle/autodock/proc/is_launching() + return (moving_status == SHUTTLE_WARMUP || process_state == WAIT_LAUNCH || process_state == FORCE_LAUNCH) + +// /datum/shuttle/autodock/get_location_name() defined in shuttle.dm + +/datum/shuttle/autodock/proc/get_destination_name() + if(!next_location) + return "None" + return next_location.name + +//This gets called when the shuttle finishes arriving at it's destination +//This can be used by subtypes to do things when the shuttle arrives. +//Note that this is called when the shuttle leaves the WAIT_FINISHED state, the proc name is a little misleading +/datum/shuttle/autodock/proc/arrived() + return //do nothing for now + +/obj/effect/shuttle_landmark/transit + flags = SLANDMARK_FLAG_ZERO_G|SLANDMARK_FLAG_AUTOSET diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index be9cec13af..f8c2a8210d 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -8,23 +8,20 @@ var/shuttle_tag // Used to coordinate data in shuttle controller. var/hacked = 0 // Has been emagged, no access restrictions. + var/ui_template = "shuttle_control_console.tmpl" + /obj/machinery/computer/shuttle_control/attack_hand(user as mob) if(..(user)) return //src.add_fingerprint(user) //shouldn't need fingerprints just for looking at it. if(!allowed(user)) - to_chat(user, "Access Denied.") + to_chat(user, "Access Denied.") return 1 ui_interact(user) -/obj/machinery/computer/shuttle_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - var/data[0] - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - if (!istype(shuttle)) - return - +/obj/machinery/computer/shuttle_control/proc/get_ui_data(var/datum/shuttle/autodock/shuttle) var/shuttle_state switch(shuttle.moving_status) if(SHUTTLE_IDLE) shuttle_state = "idle" @@ -34,55 +31,100 @@ var/shuttle_status switch (shuttle.process_state) if(IDLE_STATE) + var/cannot_depart = shuttle.current_location.cannot_depart(shuttle) if (shuttle.in_use) shuttle_status = "Busy." - else if (!shuttle.location) - shuttle_status = "Standing-by at station." + else if(cannot_depart) + shuttle_status = cannot_depart else - shuttle_status = "Standing-by at offsite location." + shuttle_status = "Standing-by at \the [shuttle.get_location_name()]." + if(WAIT_LAUNCH, FORCE_LAUNCH) shuttle_status = "Shuttle has received command and will depart shortly." if(WAIT_ARRIVE) - shuttle_status = "Proceeding to destination." + shuttle_status = "Proceeding to \the [shuttle.get_destination_name()]." if(WAIT_FINISH) shuttle_status = "Arriving at destination now." - data = list( + return list( "shuttle_status" = shuttle_status, "shuttle_state" = shuttle_state, - "has_docking" = shuttle.docking_controller? 1 : 0, - "docking_status" = shuttle.docking_controller? shuttle.docking_controller.get_docking_status() : null, - "docking_override" = shuttle.docking_controller? shuttle.docking_controller.override_enabled : null, + "has_docking" = shuttle.shuttle_docking_controller ? 1 : 0, + "docking_status" = shuttle.shuttle_docking_controller?.get_docking_status(), + "docking_override" = shuttle.shuttle_docking_controller?.override_enabled, "can_launch" = shuttle.can_launch(), "can_cancel" = shuttle.can_cancel(), "can_force" = shuttle.can_force(), + "docking_codes" = shuttle.docking_codes ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) - - if (!ui) - ui = new(user, src, ui_key, "shuttle_control_console.tmpl", "[shuttle_tag] Shuttle Control", 470, 310) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) +// This is a subset of the actual checks; contains those that give messages to the user. +// This enables us to give nice error messages as well as not even bother proceeding if we can't. +/obj/machinery/computer/shuttle_control/proc/can_move(var/datum/shuttle/autodock/shuttle, var/user) + var/cannot_depart = shuttle.current_location.cannot_depart(shuttle) + if(cannot_depart) + to_chat(user, "[cannot_depart]") + log_shuttle("Shuttle [shuttle] cannot depart [shuttle.current_location] because: [cannot_depart].") + return FALSE + if(!shuttle.next_location.is_valid(shuttle)) + to_chat(user, "Destination zone is invalid or obstructed.") + log_shuttle("Shuttle [shuttle] destination [shuttle.next_location] is invalid.") + return FALSE + return TRUE /obj/machinery/computer/shuttle_control/Topic(href, href_list) - if(..()) - return 1 + if((. = ..())) + return usr.set_machine(src) src.add_fingerprint(usr) - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - if (!istype(shuttle)) - return + var/datum/shuttle/autodock/shuttle = SSshuttles.shuttles[shuttle_tag] + if(!shuttle) + to_chat(usr, "Unable to establish link with the shuttle.") + return handle_topic_href(shuttle, href_list, usr) + +/obj/machinery/computer/shuttle_control/proc/handle_topic_href(var/datum/shuttle/autodock/shuttle, var/list/href_list, var/user) + if(!istype(shuttle)) + return TOPIC_NOACTION if(href_list["move"]) - shuttle.launch(src) + if(can_move(shuttle, user)) + shuttle.launch(src) + return TOPIC_REFRESH + return TOPIC_HANDLED + if(href_list["force"]) - shuttle.force_launch(src) - else if(href_list["cancel"]) + if(can_move(shuttle, user)) + shuttle.force_launch(src) + return TOPIC_REFRESH + return TOPIC_HANDLED + + if(href_list["cancel"]) shuttle.cancel_launch(src) + return TOPIC_REFRESH + + if(href_list["set_codes"]) + var/newcode = input("Input new docking codes", "Docking codes", shuttle.docking_codes) as text|null + if (newcode && CanInteract(usr, global.default_state)) + shuttle.set_docking_codes(uppertext(newcode)) + return TOPIC_REFRESH + +// We delegate populating data to another proc to make it easier for overriding types to add their data. +/obj/machinery/computer/shuttle_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/datum/shuttle/autodock/shuttle = SSshuttles.shuttles[shuttle_tag] + if (!istype(shuttle)) + to_chat(user, "Unable to establish link with the shuttle.") + return + + var/list/data = get_ui_data(shuttle) + + ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, ui_template, "[shuttle_tag] Shuttle Control", 470, 360) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) /obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user) if (!hacked) @@ -100,3 +142,30 @@ /obj/machinery/computer/shuttle_control/emp_act() return + + +GLOBAL_LIST_BOILERPLATE(papers_dockingcode, /obj/item/weapon/paper/dockingcodes) +/hook/roundstart/proc/populate_dockingcodes() + for(var/paper in global.papers_dockingcode) + var/obj/item/weapon/paper/dockingcodes/dcp = paper + dcp.populate_info() + return TRUE + +/obj/item/weapon/paper/dockingcodes + name = "Docking Codes" + var/codes_from_z = null //So you can put codes from the station other places to give to antags or whatever + +/obj/item/weapon/paper/dockingcodes/proc/populate_info() + var/dockingcodes = null + var/z_to_check = codes_from_z ? codes_from_z : z + if(using_map.use_overmap) + var/obj/effect/overmap/visitable/location = map_sectors["[z_to_check]"] + if(location && location.docking_codes) + dockingcodes = location.docking_codes + + if(!dockingcodes) + info = "

Daily Docking Codes


The docking security system is down for maintenance. Please exercise caution when shuttles dock and depart." + else + info = "

Daily Docking Codes


The docking codes for this shift are '[dockingcodes]'.
These codes are secret, as they will allow hostile shuttles to dock with impunity if discovered.
" + info_links = info + icon_state = "paper_words" diff --git a/code/modules/shuttles/shuttle_console_multi.dm b/code/modules/shuttles/shuttle_console_multi.dm new file mode 100644 index 0000000000..9d6dccad56 --- /dev/null +++ b/code/modules/shuttles/shuttle_console_multi.dm @@ -0,0 +1,34 @@ +/obj/machinery/computer/shuttle_control/multi + ui_template = "shuttle_control_console_multi.tmpl" + +/obj/machinery/computer/shuttle_control/multi/get_ui_data(var/datum/shuttle/autodock/multi/shuttle) + . = ..() + if(istype(shuttle)) + . += list( + "destination_name" = shuttle.next_location ? shuttle.next_location.name : "No destination set.", + "can_pick" = shuttle.moving_status == SHUTTLE_IDLE, + "can_cloak" = shuttle.can_cloak ? 1 : 0, + "cloaked" = shuttle.cloaked ? 1 : 0, + "legit" = shuttle.legit ? 1 : 0, + // "engines_charging" = ((shuttle.last_move + (shuttle.cooldown SECONDS)) > world.time), // Replaced by longer warmup_time + ) + +/obj/machinery/computer/shuttle_control/multi/handle_topic_href(var/datum/shuttle/autodock/multi/shuttle, var/list/href_list) + if((. = ..()) != null) + return + + if(href_list["pick"]) + var/dest_key = input("Choose shuttle destination", "Shuttle Destination") as null|anything in shuttle.get_destinations() + if(dest_key && CanInteract(usr, global.default_state)) + shuttle.set_destination(dest_key, usr) + return TOPIC_REFRESH + + if(href_list["toggle_cloaked"]) + if(!shuttle.can_cloak) + return TOPIC_HANDLED + shuttle.cloaked = !shuttle.cloaked + if(shuttle.legit) + to_chat(usr, "Ship ATC inhibitor systems have been [(shuttle.cloaked ? "activated. The station will not" : "deactivated. The station will")] be notified of our arrival.") + else + to_chat(usr, "Ship stealth systems have been [(shuttle.cloaked ? "activated. The station will not" : "deactivated. The station will")] be warned of our arrival.") + return TOPIC_REFRESH diff --git a/code/modules/shuttles/shuttle_emergency.dm b/code/modules/shuttles/shuttle_emergency.dm index 1722374a1d..4310b9e6ce 100644 --- a/code/modules/shuttles/shuttle_emergency.dm +++ b/code/modules/shuttles/shuttle_emergency.dm @@ -1,21 +1,22 @@ -/datum/shuttle/ferry/emergency - category = /datum/shuttle/ferry/emergency +// Formerly /datum/shuttle/ferry/emergency +/datum/shuttle/autodock/ferry/emergency + category = /datum/shuttle/autodock/ferry/emergency -/datum/shuttle/ferry/emergency/New() +/datum/shuttle/autodock/ferry/emergency/New() + ..() if(emergency_shuttle.shuttle) CRASH("An emergency shuttle has already been defined.") emergency_shuttle.shuttle = src - ..() -/datum/shuttle/ferry/emergency/arrived() +/datum/shuttle/autodock/ferry/emergency/arrived() + . = ..() if (istype(in_use, /obj/machinery/computer/shuttle_control/emergency)) var/obj/machinery/computer/shuttle_control/emergency/C = in_use C.reset_authorization() emergency_shuttle.shuttle_arrived() -/datum/shuttle/ferry/emergency/long_jump(var/area/departing, var/area/destination, var/area/interim, var/travel_time, var/direction) - //to_world("shuttle/ferry/emergency/long_jump: departing=[departing], destination=[destination], interim=[interim], travel_time=[travel_time]") +/datum/shuttle/autodock/ferry/emergency/long_jump(var/destination, var/interim, var/travel_time) if (!location) travel_time = SHUTTLE_TRANSIT_DURATION_RETURN else @@ -25,28 +26,28 @@ move_time = travel_time emergency_shuttle.launch_time = world.time + ..(destination, interim, travel_time, direction) + +/datum/shuttle/autodock/ferry/emergency/perform_shuttle_move() + if (current_location == landmark_station) //leaving the station + spawn(0) + emergency_shuttle.departed = 1 + var/estimated_time = round(emergency_shuttle.estimate_arrival_time()/60,1) + + if (emergency_shuttle.evac) + priority_announcement.Announce(replacetext(replacetext(using_map.emergency_shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s")) + else + priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s")) ..() -/datum/shuttle/ferry/emergency/move(var/area/origin,var/area/destination) - ..(origin, destination) - - if (origin == area_station) //leaving the station - emergency_shuttle.departed = 1 - var/estimated_time = round(emergency_shuttle.estimate_arrival_time()/60,1) - - if (emergency_shuttle.evac) - priority_announcement.Announce(replacetext(replacetext(using_map.emergency_shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s")) - else - priority_announcement.Announce(replacetext(replacetext(using_map.shuttle_leaving_dock, "%dock_name%", "[using_map.dock_name]"), "%ETA%", "[estimated_time] minute\s")) - -/datum/shuttle/ferry/emergency/can_launch(var/user) +/datum/shuttle/autodock/ferry/emergency/can_launch(var/user) if (istype(user, /obj/machinery/computer/shuttle_control/emergency)) var/obj/machinery/computer/shuttle_control/emergency/C = user if (!C.has_authorization()) return 0 return ..() -/datum/shuttle/ferry/emergency/can_force(var/user) +/datum/shuttle/autodock/ferry/emergency/can_force(var/user) if (istype(user, /obj/machinery/computer/shuttle_control/emergency)) var/obj/machinery/computer/shuttle_control/emergency/C = user @@ -56,14 +57,14 @@ return 0 return ..() -/datum/shuttle/ferry/emergency/can_cancel(var/user) +/datum/shuttle/autodock/ferry/emergency/can_cancel(var/user) if (istype(user, /obj/machinery/computer/shuttle_control/emergency)) var/obj/machinery/computer/shuttle_control/emergency/C = user if (!C.has_authorization()) return 0 return ..() -/datum/shuttle/ferry/emergency/launch(var/user) +/datum/shuttle/autodock/ferry/emergency/launch(var/user) if (!can_launch(user)) return if (istype(user, /obj/machinery/computer/shuttle_control/emergency)) //if we were given a command by an emergency shuttle console @@ -77,7 +78,7 @@ ..(user) -/datum/shuttle/ferry/emergency/force_launch(var/user) +/datum/shuttle/autodock/ferry/emergency/force_launch(var/user) if (!can_force(user)) return if (istype(user, /obj/machinery/computer/shuttle_control/emergency)) //if we were given a command by an emergency shuttle console @@ -91,7 +92,7 @@ ..(user) -/datum/shuttle/ferry/emergency/cancel_launch(var/user) +/datum/shuttle/autodock/ferry/emergency/cancel_launch(var/user) if (!can_cancel(user)) return if (istype(user, /obj/machinery/computer/shuttle_control/emergency)) //if we were given a command by an emergency shuttle console @@ -177,7 +178,7 @@ /obj/machinery/computer/shuttle_control/emergency/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] - var/datum/shuttle/ferry/emergency/shuttle = shuttle_controller.shuttles[shuttle_tag] + var/datum/shuttle/autodock/ferry/emergency/shuttle = SSshuttles.shuttles[shuttle_tag] if (!istype(shuttle)) return @@ -222,9 +223,9 @@ data = list( "shuttle_status" = shuttle_status, "shuttle_state" = shuttle_state, - "has_docking" = shuttle.docking_controller? 1 : 0, - "docking_status" = shuttle.docking_controller? shuttle.docking_controller.get_docking_status() : null, - "docking_override" = shuttle.docking_controller? shuttle.docking_controller.override_enabled : null, + "has_docking" = shuttle.active_docking_controller? 1 : 0, + "docking_status" = shuttle.active_docking_controller? shuttle.active_docking_controller.get_docking_status() : null, + "docking_override" = shuttle.active_docking_controller? shuttle.active_docking_controller.override_enabled : null, "can_launch" = shuttle.can_launch(src), "can_cancel" = shuttle.can_cancel(src), "can_force" = shuttle.can_force(src), diff --git a/code/modules/shuttles/shuttle_ferry.dm b/code/modules/shuttles/shuttle_ferry.dm index d96051cc46..cad706c800 100644 --- a/code/modules/shuttles/shuttle_ferry.dm +++ b/code/modules/shuttles/shuttle_ferry.dm @@ -1,177 +1,56 @@ #define DOCK_ATTEMPT_TIMEOUT 200 //how long in ticks we wait before assuming the docking controller is broken or blown up. -/datum/shuttle/ferry - var/location = 0 //0 = at area_station, 1 = at area_offsite - var/direction = 0 //0 = going to station, 1 = going to offsite. - var/process_state = IDLE_STATE - var/always_process = FALSE +/datum/shuttle/autodock/ferry + var/location = FERRY_LOCATION_STATION //0 = at area_station, 1 = at area_offsite + var/direction = FERRY_GOING_TO_STATION //0 = going to station, 1 = going to offsite. - var/in_use = null //tells the controller whether this shuttle needs processing + var/always_process = FALSE // TODO -why should this exist? - var/area_transition - var/move_time = 0 //the time spent in the transition area - var/transit_direction = null //needed for area/move_contents_to() to properly handle shuttle corners - not exactly sure how it works. + var/obj/effect/shuttle_landmark/landmark_station //This variable is type-abused initially: specify the landmark_tag, not the actual landmark. + var/obj/effect/shuttle_landmark/landmark_offsite //This variable is type-abused initially: specify the landmark_tag, not the actual landmark. - var/area/area_station - var/area/area_offsite - //TODO: change location to a string and use a mapping for area and dock targets. - var/dock_target_station - var/dock_target_offsite + category = /datum/shuttle/autodock/ferry - var/last_dock_attempt_time = 0 - category = /datum/shuttle/ferry +/datum/shuttle/autodock/ferry/New(var/_name) + if(landmark_station) + landmark_station = SSshuttles.get_landmark(landmark_station) + if(landmark_offsite) + landmark_offsite = SSshuttles.get_landmark(landmark_offsite) -/datum/shuttle/ferry/New() - area_offsite = locate(area_offsite) - area_station = locate(area_station) - if(area_transition) - area_transition = locate(area_transition) - ..() + ..(_name, get_location_waypoint(location)) -/datum/shuttle/ferry/short_jump(var/area/origin,var/area/destination) - if(isnull(location)) - return + next_location = get_location_waypoint(!location) - if(!destination) - destination = get_location_area(!location) - if(!origin) - origin = get_location_area(location) - direction = !location - ..(origin, destination) - -/datum/shuttle/ferry/long_jump(var/area/departing, var/area/destination, var/area/interim, var/travel_time, var/direction) - //to_world("shuttle/ferry/long_jump: departing=[departing], destination=[destination], interim=[interim], travel_time=[travel_time]") - if(isnull(location)) - return - - if(!destination) - destination = get_location_area(!location) - if(!departing) - departing = get_location_area(location) - - direction = !location - ..(departing, destination, interim, travel_time, direction) - -/datum/shuttle/ferry/move(var/area/origin,var/area/destination) - ..(origin, destination) - - if (destination == area_station) location = 0 - if (destination == area_offsite) location = 1 - //if this is a long_jump retain the location we were last at until we get to the new one - -/datum/shuttle/ferry/dock() - ..() - last_dock_attempt_time = world.time - -/datum/shuttle/ferry/proc/get_location_area(location_id = null) +//Gets the shuttle landmark associated with the given location (defaults to current location) +/datum/shuttle/autodock/ferry/proc/get_location_waypoint(location_id = null) if (isnull(location_id)) location_id = location - if (!location_id) - return area_station - return area_offsite + if (location_id == FERRY_LOCATION_STATION) + return landmark_station + return landmark_offsite -/* - Please ensure that long_jump() and short_jump() are only called from here. This applies to subtypes as well. - Doing so will ensure that multiple jumps cannot be initiated in parallel. -*/ -/datum/shuttle/ferry/process() - switch(process_state) - if (WAIT_LAUNCH) - if (skip_docking_checks() || docking_controller.can_launch()) +/datum/shuttle/autodock/ferry/short_jump(var/destination) + direction = !location // Heading away from where we currently are + . = ..() - //to_world("shuttle/ferry/process: area_transition=[area_transition], travel_time=[travel_time]") - if (move_time && area_transition) - long_jump(interim=area_transition, travel_time=move_time, direction=transit_direction) - else - short_jump() +/datum/shuttle/autodock/ferry/long_jump(var/destination, var/obj/effect/shuttle_landmark/interim, var/travel_time) + direction = !location // Heading away from where we currently are + . = ..() - process_state = WAIT_ARRIVE +/datum/shuttle/autodock/ferry/perform_shuttle_move() + ..() + if (current_location == landmark_station) location = FERRY_LOCATION_STATION + if (current_location == landmark_offsite) location = FERRY_LOCATION_OFFSITE - if (FORCE_LAUNCH) - if (move_time && area_transition) - long_jump(interim=area_transition, travel_time=move_time, direction=transit_direction) - else - short_jump() - - process_state = WAIT_ARRIVE - - if (WAIT_ARRIVE) - if (moving_status == SHUTTLE_IDLE) - dock() - in_use = null //release lock - process_state = WAIT_FINISH - - if (WAIT_FINISH) - if (skip_docking_checks() || docking_controller.docked() || world.time > last_dock_attempt_time + DOCK_ATTEMPT_TIMEOUT) - process_state = IDLE_STATE - arrived() - -/datum/shuttle/ferry/current_dock_target() - var/dock_target - if (!location) //station - dock_target = dock_target_station - else - dock_target = dock_target_offsite - return dock_target - - -/datum/shuttle/ferry/proc/launch(var/user) - if (!can_launch()) return - - in_use = user //obtain an exclusive lock on the shuttle - - process_state = WAIT_LAUNCH - undock() - -/datum/shuttle/ferry/proc/force_launch(var/user) - if (!can_force()) return - - in_use = user //obtain an exclusive lock on the shuttle - - process_state = FORCE_LAUNCH - -/datum/shuttle/ferry/proc/cancel_launch(var/user) - if (!can_cancel()) return - - moving_status = SHUTTLE_IDLE - process_state = WAIT_FINISH - in_use = null - - if (docking_controller && !docking_controller.undocked()) - docking_controller.force_undock() - - spawn(10) - dock() - - return - -/datum/shuttle/ferry/proc/can_launch() - if (moving_status != SHUTTLE_IDLE) - return 0 - - if (in_use) - return 0 - - return 1 - -/datum/shuttle/ferry/proc/can_force() - if (moving_status == SHUTTLE_IDLE && process_state == WAIT_LAUNCH) - return 1 - return 0 - -/datum/shuttle/ferry/proc/can_cancel() - if (moving_status == SHUTTLE_WARMUP || process_state == WAIT_LAUNCH || process_state == FORCE_LAUNCH) - return 1 - return 0 - -//returns 1 if the shuttle is getting ready to move, but is not in transit yet -/datum/shuttle/ferry/proc/is_launching() - return (moving_status == SHUTTLE_WARMUP || process_state == WAIT_LAUNCH || process_state == FORCE_LAUNCH) - -//This gets called when the shuttle finishes arriving at it's destination -//This can be used by subtypes to do things when the shuttle arrives. -/datum/shuttle/ferry/proc/arrived() - return //do nothing for now +// Once we have arrived where we are going, plot a course back! +/datum/shuttle/autodock/ferry/process_arrived() + ..() + next_location = get_location_waypoint(!location) +// Ferry shuttles should generally always be able to dock. So read the docking codes off of the target. +/datum/shuttle/autodock/ferry/update_docking_target(var/obj/effect/shuttle_landmark/location) + ..() + if(active_docking_controller && active_docking_controller.docking_codes) + set_docking_codes(active_docking_controller.docking_codes) diff --git a/code/modules/shuttles/shuttle_specops.dm b/code/modules/shuttles/shuttle_specops.dm index b702d7a78f..0dd88a58e8 100644 --- a/code/modules/shuttles/shuttle_specops.dm +++ b/code/modules/shuttles/shuttle_specops.dm @@ -4,39 +4,11 @@ req_access = list(access_cent_specops) /obj/machinery/computer/shuttle_control/specops/attack_ai(user as mob) - to_chat(user, "Access Denied.") + to_chat(user, "Access Denied.") return 1 -//for shuttles that may use a different docking port at each location -/datum/shuttle/ferry/multidock - var/docking_controller_tag_station - var/docking_controller_tag_offsite - var/datum/computer/file/embedded_program/docking/docking_controller_station - var/datum/computer/file/embedded_program/docking/docking_controller_offsite - category = /datum/shuttle/ferry/multidock - -/datum/shuttle/ferry/multidock/init_docking_controllers() - if(docking_controller_tag_station) - docking_controller_station = locate(docking_controller_tag_station) - if(!istype(docking_controller_station)) - warning("warning: shuttle with docking tag [docking_controller_station] could not find it's controller!") - if(docking_controller_tag_offsite) - docking_controller_offsite = locate(docking_controller_tag_offsite) - if(!istype(docking_controller_offsite)) - warning("warning: shuttle with docking tag [docking_controller_offsite] could not find it's controller!") - if (!location) - docking_controller = docking_controller_station - else - docking_controller = docking_controller_offsite - -/datum/shuttle/ferry/multidock/move(var/area/origin,var/area/destination) - ..(origin, destination) - if (!location) - docking_controller = docking_controller_station - else - docking_controller = docking_controller_offsite - -/datum/shuttle/ferry/multidock/specops +// Formerly /datum/shuttle/ferry/multidock/specops +/datum/shuttle/autodock/ferry/specops var/specops_return_delay = 6000 //After moving, the amount of time that must pass before the shuttle may move again var/specops_countdown_time = 600 //Length of the countdown when moving the shuttle @@ -44,19 +16,19 @@ var/reset_time = 0 //the world.time at which the shuttle will be ready to move again. var/launch_prep = 0 var/cancel_countdown = 0 - category = /datum/shuttle/ferry/multidock/specops + category = /datum/shuttle/autodock/ferry/specops -/datum/shuttle/ferry/multidock/specops/New() +/datum/shuttle/autodock/ferry/specops/New() ..() announcer = new /obj/item/device/radio/intercom(null)//We need a fake AI to announce some stuff below. Otherwise it will be wonky. announcer.config(list("Response Team" = 0)) -/datum/shuttle/ferry/multidock/specops/proc/radio_announce(var/message) +/datum/shuttle/autodock/ferry/specops/proc/radio_announce(var/message) if(announcer) announcer.autosay(message, "A.L.I.C.E.", "Response Team") -/datum/shuttle/ferry/multidock/specops/launch(var/user) +/datum/shuttle/autodock/ferry/specops/launch(var/user) if (!can_launch()) return @@ -64,14 +36,14 @@ var/obj/machinery/computer/C = user if(world.time <= reset_time) - C.visible_message("[using_map.boss_name] will not allow the Special Operations shuttle to launch yet.") + C.visible_message("[global.using_map.boss_name] will not allow the Special Operations shuttle to launch yet.") if (((world.time - reset_time)/10) > 60) - C.visible_message("[-((world.time - reset_time)/10)/60] minutes remain!") + C.visible_message("[-((world.time - reset_time)/10)/60] minutes remain!") else - C.visible_message("[-(world.time - reset_time)/10] seconds remain!") + C.visible_message("[-(world.time - reset_time)/10] seconds remain!") return - C.visible_message("The Special Operations shuttle will depart in [(specops_countdown_time/10)] seconds.") + C.visible_message("The Special Operations shuttle will depart in [(specops_countdown_time/10)] seconds.") if (location) //returning radio_announce("THE SPECIAL OPERATIONS SHUTTLE IS PREPARING TO RETURN") @@ -81,31 +53,31 @@ sleep_until_launch() if (location) - var/obj/machinery/light/small/readylight/light = locate() in get_location_area() + var/obj/machinery/light/small/readylight/light = locate() in shuttle_area if(light) light.set_state(0) //launch radio_announce("ALERT: INITIATING LAUNCH SEQUENCE") ..(user) -/datum/shuttle/ferry/multidock/specops/move(var/area/origin,var/area/destination) - ..(origin, destination) +/datum/shuttle/autodock/ferry/specops/perform_shuttle_move() + ..() - spawn(20) + spawn(2 SECONDS) if (!location) //just arrived home - for(var/turf/T in get_area_turfs(destination)) + for(var/turf/T in get_area_turfs(shuttle_area)) var/mob/M = locate(/mob) in T to_chat(M, "You have arrived at [using_map.boss_name]. Operation has ended!") else //just left for the station launch_mauraders() - for(var/turf/T in get_area_turfs(destination)) + for(var/turf/T in get_area_turfs(shuttle_area)) var/mob/M = locate(/mob) in T to_chat(M, "You have arrived at [station_name()]. Commence operation!") var/obj/machinery/light/small/readylight/light = locate() in T if(light) light.set_state(1) -/datum/shuttle/ferry/multidock/specops/cancel_launch() +/datum/shuttle/autodock/ferry/specops/cancel_launch() if (!can_cancel()) return @@ -113,27 +85,26 @@ radio_announce("ALERT: LAUNCH SEQUENCE ABORTED") if (istype(in_use, /obj/machinery/computer)) var/obj/machinery/computer/C = in_use - C.visible_message("Launch sequence aborted.") - + C.visible_message("Launch sequence aborted.") ..() -/datum/shuttle/ferry/multidock/specops/can_launch() +/datum/shuttle/autodock/ferry/specops/can_launch() if(launch_prep) return 0 return ..() //should be fine to allow forcing. process_state only becomes WAIT_LAUNCH after the countdown is over. -///datum/shuttle/ferry/multidock/specops/can_force() +///datum/shuttle/autodock/ferry/specops/can_force() // return 0 -/datum/shuttle/ferry/multidock/specops/can_cancel() +/datum/shuttle/autodock/ferry/specops/can_cancel() if(launch_prep) return 1 return ..() -/datum/shuttle/ferry/multidock/specops/proc/sleep_until_launch() +/datum/shuttle/autodock/ferry/specops/proc/sleep_until_launch() var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values. var/launch_time = world.time + specops_countdown_time diff --git a/code/modules/shuttles/shuttle_supply.dm b/code/modules/shuttles/shuttle_supply.dm index 7565d7f466..ee25816796 100644 --- a/code/modules/shuttles/shuttle_supply.dm +++ b/code/modules/shuttles/shuttle_supply.dm @@ -1,82 +1,81 @@ -/datum/shuttle/ferry/supply - var/away_location = 1 //the location to hide at while pretending to be in-transit +// Formerly /datum/shuttle/ferry/supply +/datum/shuttle/autodock/ferry/supply + var/away_location = FERRY_LOCATION_OFFSITE //the location to hide at while pretending to be in-transit var/late_chance = 80 var/max_late_time = 300 - category = /datum/shuttle/ferry/supply + flags = SHUTTLE_FLAGS_PROCESS|SHUTTLE_FLAGS_SUPPLY + category = /datum/shuttle/autodock/ferry/supply -/datum/shuttle/ferry/supply/short_jump(var/area/origin,var/area/destination) +/datum/shuttle/autodock/ferry/supply/short_jump(var/obj/effect/shuttle_landmark/destination) if(moving_status != SHUTTLE_IDLE) return if(isnull(location)) return - if(!destination) - destination = get_location_area(!location) - if(!origin) - origin = get_location_area(location) - //it would be cool to play a sound here moving_status = SHUTTLE_WARMUP spawn(warmup_time*10) - make_sounds(origin, HYPERSPACE_WARMUP) + make_sounds(HYPERSPACE_WARMUP) sleep(5 SECONDS) // so the sound finishes. if (moving_status == SHUTTLE_IDLE) - make_sounds(origin, HYPERSPACE_END) + make_sounds(HYPERSPACE_END) return //someone cancelled the launch if (at_station() && forbidden_atoms_check()) //cancel the launch because of forbidden atoms. announce over supply channel? moving_status = SHUTTLE_IDLE - make_sounds(origin, HYPERSPACE_END) + make_sounds(HYPERSPACE_END) return if (!at_station()) //at centcom - supply_controller.buy() + SSsupply.buy() //We pretend it's a long_jump by making the shuttle stay at centcom for the "in-transit" period. - var/area/away_area = get_location_area(away_location) + var/obj/effect/shuttle_landmark/away_waypoint = get_location_waypoint(away_location) moving_status = SHUTTLE_INTRANSIT - //If we are at the away_area then we are just pretending to move, otherwise actually do the move - if (origin != away_area) - move(origin, away_area) + //If we are at the away_landmark then we are just pretending to move, otherwise actually do the move + if (next_location == away_waypoint) + attempt_move(away_waypoint) //wait ETA here. - arrive_time = world.time + supply_controller.movetime + arrive_time = world.time + SSsupply.movetime while (world.time <= arrive_time) sleep(5) - if (destination != away_area) + if (next_location != away_waypoint) //late if (prob(late_chance)) sleep(rand(0,max_late_time)) - move(away_area, destination) + attempt_move(destination) moving_status = SHUTTLE_IDLE - make_sounds(destination, HYPERSPACE_END) + make_sounds(HYPERSPACE_END) if (!at_station()) //at centcom - supply_controller.sell() + SSsupply.sell() // returns 1 if the supply shuttle should be prevented from moving because it contains forbidden atoms -/datum/shuttle/ferry/supply/proc/forbidden_atoms_check() +/datum/shuttle/autodock/ferry/supply/proc/forbidden_atoms_check() if (!at_station()) return 0 //if badmins want to send mobs or a nuke on the supply shuttle from centcom we don't care - return supply_controller.forbidden_atoms_check(get_location_area()) + for(var/area/A in shuttle_area) + if(SSsupply.forbidden_atoms_check(A)) + return 1 -/datum/shuttle/ferry/supply/proc/at_station() +/datum/shuttle/autodock/ferry/supply/proc/at_station() return (!location) //returns 1 if the shuttle is idle and we can still mess with the cargo shopping list -/datum/shuttle/ferry/supply/proc/idle() +/datum/shuttle/autodock/ferry/supply/proc/idle() return (moving_status == SHUTTLE_IDLE) //returns the ETA in minutes -/datum/shuttle/ferry/supply/proc/eta_minutes() +/datum/shuttle/autodock/ferry/supply/proc/eta_minutes() var/ticksleft = arrive_time - world.time return round(ticksleft/600,1) diff --git a/code/modules/shuttles/shuttles_multi.dm b/code/modules/shuttles/shuttles_multi.dm index 91a29a99d5..562a21f4d4 100644 --- a/code/modules/shuttles/shuttles_multi.dm +++ b/code/modules/shuttles/shuttles_multi.dm @@ -1,13 +1,15 @@ //This is a holder for things like the Skipjack and Nuke shuttle. -/datum/shuttle/multi_shuttle +// Formerly /datum/shuttle/multi_shuttle +/datum/shuttle/autodock/multi + var/list/destination_tags + var/list/destinations_cache = list() + var/last_cache_rebuild_time = 0 + category = /datum/shuttle/autodock/multi - flags = SHUTTLE_FLAGS_NONE var/cloaked = FALSE var/can_cloak = FALSE + var/at_origin = 1 - var/returned_home = 0 -// var/move_time = 240 - var/move_time = 60 var/cooldown = 20 var/last_move = 0 //the time at which we last moved @@ -15,276 +17,46 @@ var/arrival_message var/departure_message - var/area/interim - var/area/last_departed var/start_location var/last_location - var/list/destinations - var/list/destination_dock_controller_tags = list() //optional, in case the shuttle has multiple docking ports like the ERT shuttle (even though that isn't a multi_shuttle) - var/list/destination_dock_controllers = list() - var/list/destination_dock_targets = list() - var/area/origin var/return_warning = 0 - var/legit = 0 //VOREStation Add - Whether or not a shuttle is a legit NT shuttle. - category = /datum/shuttle/multi_shuttle + var/legit = FALSE -/datum/shuttle/multi_shuttle/New() - origin = locate(origin) - interim = locate(interim) - for(var/destination in destinations) - destinations[destination] = locate(destinations[destination]) +/datum/shuttle/autodock/multi/New() ..() + start_location = current_location + last_location = current_location -/datum/shuttle/multi_shuttle/init_docking_controllers() - ..() - for(var/destination in destinations) - var/controller_tag = destination_dock_controller_tags[destination] - if(!controller_tag) - destination_dock_controllers[destination] = docking_controller - else - var/datum/computer/file/embedded_program/docking/C = locate(controller_tag) +/datum/shuttle/autodock/multi/proc/set_destination(var/destination_key, mob/user) + if(moving_status != SHUTTLE_IDLE) + return + next_location = destinations_cache[destination_key] + if(!next_location) + warning("Shuttle [src] set to destination we can't find: [destination_key]") - if(!istype(C)) - warning("warning: shuttle with docking tag [controller_tag] could not find it's controller!") - else - destination_dock_controllers[destination] = C +/datum/shuttle/autodock/multi/proc/get_destinations() + if (last_cache_rebuild_time < SSshuttles.last_landmark_registration_time) + build_destinations_cache() + return destinations_cache - //might as well set this up here. - if(origin) last_departed = origin - last_location = start_location - //VOREStation Add - Set up origin dock controller - if(!(start_location in destination_dock_controller_tags)) - destination_dock_controllers[start_location] = docking_controller - //VOREStation Add End -/datum/shuttle/multi_shuttle/current_dock_target() - return destination_dock_targets[last_location] +/datum/shuttle/autodock/multi/proc/build_destinations_cache() + last_cache_rebuild_time = world.time + destinations_cache.Cut() + for(var/destination_tag in destination_tags) + var/obj/effect/shuttle_landmark/landmark = SSshuttles.get_landmark(destination_tag) + if (istype(landmark)) + destinations_cache["[landmark.name]"] = landmark -/datum/shuttle/multi_shuttle/move(var/area/origin, var/area/destination) +/datum/shuttle/autodock/multi/perform_shuttle_move() ..() last_move = world.time - if (destination == src.origin) - returned_home = 1 - docking_controller = destination_dock_controllers[last_location] - -/datum/shuttle/multi_shuttle/proc/announce_departure() +/datum/shuttle/autodock/multi/proc/announce_departure() if(cloaked || isnull(departure_message)) return + command_announcement.Announce(departure_message, (announcer ? announcer : "[using_map.boss_name]")) - command_announcement.Announce(departure_message,(announcer ? announcer : "[using_map.boss_name]")) - -/datum/shuttle/multi_shuttle/proc/announce_arrival() - +/datum/shuttle/autodock/multi/proc/announce_arrival() if(cloaked || isnull(arrival_message)) return - - command_announcement.Announce(arrival_message,(announcer ? announcer : "[using_map.boss_name]")) - - -/obj/machinery/computer/shuttle_control/multi - icon_keyboard = "syndie_key" - icon_screen = "syndishuttle" - -/obj/machinery/computer/shuttle_control/multi/attack_hand(user as mob) - - if(..(user)) - return - src.add_fingerprint(user) - - var/datum/shuttle/multi_shuttle/MS = shuttle_controller.shuttles[shuttle_tag] - if(!istype(MS)) return - - var/dat - dat = "
[shuttle_tag] Ship Control
" - - - if(MS.moving_status != SHUTTLE_IDLE) - dat += "Location: Moving
" - else - var/area/areacheck = get_area(src) - dat += "Location: [areacheck.name]
" - - if((MS.last_move + MS.cooldown*10) > world.time) - dat += "Engines charging.
" - else - dat += "Engines ready.
" - - //dat += "
[MS.legit ? "Inhibit ATC":"Toggle cloak"]
" //VOREStation Edit - Adds legit shuttles. //SYNC Edit: Below deals with cloak. - if(MS.can_cloak) - dat += "
Toggle cloaking field
" - dat += "Move ship
" - dat += "Return to base
" - - //Docking - dat += "


" - if(MS.skip_docking_checks()) - dat += "Docking Status: Not in use." - else - var/override_en = MS.docking_controller.override_enabled - var/docking_status = MS.docking_controller.get_docking_status() - - dat += "Docking Status: " - switch(docking_status) - if("undocked") - dat += "Undocked" - if("docking") - dat += "Docking" - if("undocking") - dat += "Undocking" - if("docked") - dat += "Docked" - - if(override_en) dat += " (Override Enabled)" - - dat += ". \[Refresh\]

" - - switch(docking_status) - if("undocked") - dat += "Dock" - if("docked") - dat += "Undock" - dat += "
" - - user << browse("[dat]", "window=[shuttle_tag]shuttlecontrol;size=300x600") - -//check if we're undocked, give option to force launch -/obj/machinery/computer/shuttle_control/proc/check_docking(datum/shuttle/multi_shuttle/MS) - if(MS.skip_docking_checks() || MS.docking_controller.can_launch()) - return 1 - - var/choice = alert("The shuttle is currently docked! Please undock before continuing.","Error","Cancel","Force Launch") - if(choice == "Cancel") - return 0 - - choice = alert("Forcing a shuttle launch while docked may result in severe injury, death and/or damage to property. Are you sure you wish to continue?", "Force Launch", "Force Launch", "Cancel") - if(choice == "Cancel") - return 0 - - return 1 - -/obj/machinery/computer/shuttle_control/multi/Topic(href, href_list) - if(..()) - return 1 - - usr.set_machine(src) - src.add_fingerprint(usr) - - var/datum/shuttle/multi_shuttle/MS = shuttle_controller.shuttles[shuttle_tag] - if(!istype(MS)) return - - //to_world("multi_shuttle: last_departed=[MS.last_departed], origin=[MS.origin], interim=[MS.interim], travel_time=[MS.move_time]") - - if(href_list["refresh"]) - updateUsrDialog() - return - - if (MS.moving_status != SHUTTLE_IDLE) - to_chat(usr, "[shuttle_tag] vessel is moving.") - return - - if(href_list["dock_command"]) - MS.dock() - return - - if(href_list["undock_command"]) - MS.undock() - return - - if(href_list["start"]) - if(MS.at_origin) - to_chat(usr, "You are already at the home base.") - return - - if((MS.last_move + MS.cooldown*10) > world.time) - to_chat(usr, "The ship's drive is inoperable while the engines are charging.") - return - - if(!check_docking(MS)) - updateUsrDialog() - return - - if(!MS.return_warning && !MS.legit) //VOREStation Add - Criminals only! - to_chat(usr, "Returning to your home base will end your mission. If you are sure, press the button again.") - //TODO: Actually end the mission. - MS.return_warning = 1 - return - - //VOREStation Add - Only long-jump if that's a thing you do - if(MS.interim) - MS.long_jump(MS.last_departed, MS.origin, MS.interim, MS.move_time) - else - MS.short_jump(MS.last_departed, MS.origin) - //VOREStation Add End - // No point giving a warning if it does literally nothing. -// if(!MS.return_warning) -// to_chat(usr, "Returning to your home base will end your mission. If you are sure, press the button again.") -// //TODO: Actually end the mission. -// MS.return_warning = 1 -// return - - //MS.long_jump(MS.last_departed, MS.origin, MS.interim, MS.move_time) //VOREStation Edit - MS.last_departed = MS.origin - MS.last_location = MS.start_location - MS.at_origin = 1 - - if(href_list["toggle_cloak"]) - if(!MS.can_cloak) - return - MS.cloaked = !MS.cloaked - to_chat(usr, " Ship [MS.legit ? "ATC inhibitor":"stealth"] systems have been [(MS.cloaked ? "activated. The station will not" : "deactivated. The station will")] be [MS.legit ? "notified":"warned"] of our arrival.") //VOREStation Edit - Adds legit shuttles. - //to_chat(usr, "Ship stealth systems have been [(MS.cloaked ? "activated. The station will not" : "deactivated. The station will")] be warned of our arrival.") //VOREStation Edit. - - if(href_list["move_multi"]) - if((MS.last_move + MS.cooldown*10) > world.time) - to_chat(usr, "The ship's drive is inoperable while the engines are charging.") - return - - if(!check_docking(MS)) - updateUsrDialog() - return - - var/choice = input("Select a destination.") as null|anything in MS.destinations - if(!choice) return - - to_chat(usr, "[shuttle_tag] main computer received message.") - - if(MS.at_origin) - MS.announce_arrival() - MS.last_departed = MS.origin - MS.at_origin = 0 - - - //VOREStation Add - Only long-jump if that's a thing you do - if(MS.interim) - MS.long_jump(MS.last_departed, MS.destinations[choice], MS.interim, MS.move_time) - else - MS.short_jump(MS.last_departed, MS.destinations[choice]) - //VOREStation Add End - MS.last_departed = MS.destinations[choice] - MS.last_location = choice - return - - else if(choice == MS.origin) - - MS.announce_departure() - - //VOREStation Add - Only long-jump if that's a thing you do - if(MS.interim) - MS.long_jump(MS.last_departed, MS.destinations[choice], MS.interim, MS.move_time) - else - MS.short_jump(MS.last_departed, MS.destinations[choice]) - return - //VOREStation Add End - - //VOREStation Add - Only long-jump if that's a thing you do - if(MS.interim) - MS.long_jump(MS.last_departed, MS.destinations[choice], MS.interim, MS.move_time) - else - MS.short_jump(MS.last_departed, MS.destinations[choice]) - //VOREStation Add End - - //MS.short_jump(MS.last_departed, MS.destinations[choice]) //VOREStation Removal - MS.last_departed = MS.destinations[choice] - MS.last_location = choice - - updateUsrDialog() + command_announcement.Announce(arrival_message, (announcer ? announcer : "[using_map.boss_name]")) diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index 2156206d50..0aebd2bf42 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -1,12 +1,11 @@ //This shuttle traverses a "web" of route_datums to have a wider range of places to go and make flying feel like movement is actually occuring. -/datum/shuttle/web_shuttle - flags = SHUTTLE_FLAGS_NONE +/datum/shuttle/autodock/web_shuttle + flags = SHUTTLE_FLAGS_ZERO_G var/visible_name = null // The pretty name shown to people in announcements, since the regular name var is used internally for other things. var/cloaked = FALSE var/can_cloak = FALSE var/cooldown = 0 var/last_move = 0 //the time at which we last moved - var/area/current_area = null var/datum/shuttle_web_master/web_master = null var/web_master_type = null var/flight_time_modifier = 1.0 @@ -15,15 +14,15 @@ var/autopilot_delay = 60 // How many ticks to not do anything when not following an autopath. Should equal two minutes. var/autopilot_first_delay = null // If your want your shuttle to stay for a different amount of time for the first time, set this. var/can_rename = TRUE // Lets the pilot rename the shuttle. Only available once. - category = /datum/shuttle/web_shuttle + category = /datum/shuttle/autodock/web_shuttle var/list/obj/item/clothing/head/pilot/helmets -/datum/shuttle/web_shuttle/New() - current_area = locate(current_area) +/datum/shuttle/autodock/web_shuttle/New() web_master = new web_master_type(src) build_destinations() if(autopilot) flags |= SHUTTLE_FLAGS_PROCESS + process_state = DO_AUTOPILOT if(autopilot_first_delay) autopilot_delay = autopilot_first_delay if(!visible_name) @@ -31,42 +30,45 @@ helmets = list() ..() -/datum/shuttle/web_shuttle/Destroy() - qdel(web_master) +/datum/shuttle/autodock/web_shuttle/Destroy() + QDEL_NULL(web_master) helmets.Cut() return ..() +/datum/shuttle/autodock/web_shuttle/current_dock_target() + // TODO - Probably don't even need to override this right? Debug testing code below will check! + . = web_master?.get_current_destination()?.my_landmark?.docking_controller?.id_tag + if (. != ..()) + warning("Web shuttle [src] had current_dock_target()=[.] but autodock.current_dock_target() = [..()]") -/datum/shuttle/web_shuttle/current_dock_target() - if(web_master) - return web_master.current_dock_target() - -/datum/shuttle/web_shuttle/move(var/area/origin, var/area/destination) +/datum/shuttle/autodock/web_shuttle/perform_shuttle_move() ..() last_move = world.time -/datum/shuttle/web_shuttle/short_jump() +/datum/shuttle/autodock/web_shuttle/short_jump() . = ..() update_helmets() -/datum/shuttle/web_shuttle/long_jump() +/datum/shuttle/autodock/web_shuttle/long_jump() . = ..() update_helmets() -/datum/shuttle/web_shuttle/on_shuttle_departure() +/datum/shuttle/autodock/web_shuttle/on_shuttle_departure() . = ..() web_master.on_shuttle_departure() update_helmets() -/datum/shuttle/web_shuttle/on_shuttle_arrival() +/datum/shuttle/autodock/web_shuttle/on_shuttle_arrival() . = ..() + active_docking_controller = current_location.docking_controller + update_docking_target(current_location) web_master.on_shuttle_arrival() update_helmets() -/datum/shuttle/web_shuttle/proc/build_destinations() +/datum/shuttle/autodock/web_shuttle/proc/build_destinations() return -/datum/shuttle/web_shuttle/process() +/datum/shuttle/autodock/web_shuttle/process() update_helmets() if(moving_status == SHUTTLE_IDLE) @@ -76,8 +78,8 @@ else // Otherwise we are about to start one or just finished one. if(autopilot_delay > 0) // Wait for awhile so people can get on and off. - if(docking_controller && !skip_docking_checks()) // Dock to the destination if possible. - var/docking_status = docking_controller.get_docking_status() + if(active_docking_controller && shuttle_docking_controller) // Dock to the destination if possible. + var/docking_status = shuttle_docking_controller.get_docking_status() if(docking_status == "undocked") dock() autopilot_say("Docking.") @@ -96,8 +98,8 @@ autopilot_delay-- else // Time to go. - if(docking_controller && !skip_docking_checks()) // Undock if possible. - var/docking_status = docking_controller.get_docking_status() + if(active_docking_controller && shuttle_docking_controller) // Undock if possible. + var/docking_status = shuttle_docking_controller.get_docking_status() if(docking_status == "docked") undock() autopilot_say("Undocking.") @@ -109,13 +111,13 @@ autopilot_say("Taking off.") web_master.process_autopath() -/datum/shuttle/web_shuttle/proc/update_helmets() +/datum/shuttle/autodock/web_shuttle/proc/update_helmets() for(var/helm in helmets) - if(!helm) - helmets -= helm - continue var/obj/item/clothing/head/pilot/H = helm - if(!H.shuttle_comp || get_area(H.shuttle_comp) != get_area(H)) + if(QDELETED(H)) + helmets -= H + continue + if(!H.shuttle_comp || !(get_area(H) in shuttle_area)) H.shuttle_comp = null H.audible_message("\The [H] pings as it loses it's connection with the ship.") H.update_hud("discon") @@ -123,24 +125,28 @@ else H.update_hud(moving_status) -/datum/shuttle/web_shuttle/proc/adjust_autopilot(on) +/datum/shuttle/autodock/web_shuttle/proc/adjust_autopilot(on) if(on) if(autopilot) return autopilot = TRUE autopilot_delay = initial(autopilot_delay) - shuttle_controller.process_shuttles += src + shuttle_controller.process_shuttles |= src + if(process_state == IDLE_STATE) + process_state = DO_AUTOPILOT else if(!autopilot) return autopilot = FALSE shuttle_controller.process_shuttles -= src + if (process_state == DO_AUTOPILOT) + process_state = initial(process_state) -/datum/shuttle/web_shuttle/proc/autopilot_say(message) // Makes the autopilot 'talk' to the passengers. +/datum/shuttle/autodock/web_shuttle/proc/autopilot_say(message) // Makes the autopilot 'talk' to the passengers. var/padded_message = "shuttle autopilot states, \"[message]\"" - message_passengers(current_area, padded_message) + message_passengers(padded_message) -/datum/shuttle/web_shuttle/proc/rename_shuttle(mob/user) +/datum/shuttle/autodock/web_shuttle/proc/rename_shuttle(mob/user) if(!can_rename) to_chat(user, "You can't rename this vessel.") return @@ -162,6 +168,8 @@ var/list/my_doors //Should be list("id_tag" = "Pretty Door Name", ...) var/list/my_sensors //Should be list("id_tag" = "Pretty Sensor Name", ...) +// Note - Searching own area for doors/sensors is fine for legacy web shuttles as they are single-area. +// However if this code is copied to future multi-area shuttles, should search in all shuttle areas /obj/machinery/computer/shuttle_control/web/Initialize() . = ..() var/area/my_area = get_area(src) @@ -186,7 +194,7 @@ log_debug("[my_area] shuttle computer couldn't find [lost] sensor!") /obj/machinery/computer/shuttle_control/web/attackby(obj/I, mob/user) - var/datum/shuttle/web_shuttle/shuttle = shuttle_controller.shuttles[shuttle_tag] + var/datum/shuttle/autodock/web_shuttle/shuttle = shuttle_controller.shuttles[shuttle_tag] if(shuttle && istype(I,/obj/item/clothing/head/pilot)) var/obj/item/clothing/head/pilot/H = I H.shuttle_comp = src @@ -208,7 +216,7 @@ /* // If nanoUI falls over and you want a non-nanoUI UI, feel free to uncomment this section. - var/datum/shuttle/web_shuttle/WS = shuttle_controller.shuttles[shuttle_tag] + var/datum/shuttle/autodock/web_shuttle/WS = shuttle_controller.shuttles[shuttle_tag] if(!istype(WS)) message_admins("ERROR: Shuttle computer ([src]) ([shuttle_tag]) could not find their shuttle in the shuttles list.") return @@ -272,8 +280,9 @@ /obj/machinery/computer/shuttle_control/web/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] var/list/routes[0] - var/datum/shuttle/web_shuttle/shuttle = shuttle_controller.shuttles[shuttle_tag] + var/datum/shuttle/autodock/web_shuttle/shuttle = SSshuttles.shuttles[shuttle_tag] if(!istype(shuttle)) + to_chat(user, "Unable to establish link with the shuttle.") return var/list/R = shuttle.web_master.get_available_routes() @@ -333,11 +342,11 @@ "future_location" = future_location, "shuttle_state" = shuttle_state, "routes" = routes, - "has_docking" = shuttle.docking_controller? 1 : 0, + "has_docking" = shuttle.shuttle_docking_controller? 1 : 0, "skip_docking" = shuttle.skip_docking_checks(), "is_moving" = shuttle.moving_status != SHUTTLE_IDLE, - "docking_status" = shuttle.docking_controller? shuttle.docking_controller.get_docking_status() : null, - "docking_override" = shuttle.docking_controller? shuttle.docking_controller.override_enabled : null, + "docking_status" = shuttle.shuttle_docking_controller? shuttle.shuttle_docking_controller.get_docking_status() : null, + "docking_override" = shuttle.shuttle_docking_controller? shuttle.shuttle_docking_controller.override_enabled : null, "is_in_transit" = shuttle.has_arrive_time(), "travel_progress" = between(0, percent_finished, 100), "time_left" = round( (total_time - elapsed_time) / 10), @@ -360,13 +369,13 @@ /obj/machinery/computer/shuttle_control/web/Topic(href, href_list) - if(..()) - return 1 + if((. = ..())) + return usr.set_machine(src) src.add_fingerprint(usr) - var/datum/shuttle/web_shuttle/WS = shuttle_controller.shuttles[shuttle_tag] + var/datum/shuttle/autodock/web_shuttle/WS = SSshuttles.shuttles[shuttle_tag] if(!istype(WS)) message_admins("ERROR: Shuttle computer ([src]) ([shuttle_tag]) could not find their shuttle in the shuttles list.") return @@ -436,19 +445,38 @@ message_admins("ERROR: Shuttle computer was asked to travel to a nonexistant destination.") return + WS.next_location = target_destination.my_landmark + if(!can_move(WS, usr)) + return + WS.web_master.future_destination = target_destination to_chat(usr, "[WS.visible_name] flight computer received command.") WS.web_master.reset_autopath() // Deviating from the path will almost certainly confuse the autopilot, so lets just reset its memory. var/travel_time = new_route.travel_time * WS.flight_time_modifier - + // TODO - Leshana - Change this to use proccess stuff of autodock! if(new_route.interim && new_route.travel_time) - WS.long_jump(WS.current_area, target_destination.my_area, new_route.interim, travel_time / 10) + WS.long_jump(target_destination.my_landmark, new_route.interim, travel_time / 10) else - WS.short_jump(WS.current_area, target_destination.my_area) + WS.short_jump(target_destination.my_landmark) ui_interact(usr) +//check if we're undocked, give option to force launch +/obj/machinery/computer/shuttle_control/web/proc/check_docking(datum/shuttle/autodock/MS) + if(MS.skip_docking_checks() || MS.check_undocked()) + return 1 + + var/choice = alert("The shuttle is currently docked! Please undock before continuing.","Error","Cancel","Force Launch") + if(choice == "Cancel") + return 0 + + choice = alert("Forcing a shuttle launch while docked may result in severe injury, death and/or damage to property. Are you sure you wish to continue?", "Force Launch", "Force Launch", "Cancel") + if(choice == "Cancel") + return 0 + + return 1 + // Props, for now. /obj/structure/flight_left name = "flight computer meters" @@ -474,11 +502,18 @@ /obj/shuttle_connector/Initialize() . = ..() - SSshuttles.OnDocksInitialized(CALLBACK(src, .proc/setup_routes)) + GLOB.shuttle_added.register_global(src, .proc/setup_routes) -/obj/shuttle_connector/proc/setup_routes() - if(destinations && shuttle_name) - var/datum/shuttle/web_shuttle/ES = shuttle_controller.shuttles[shuttle_name] +/obj/shuttle_connector/Destroy() + GLOB.shuttle_added.unregister_global(src, .proc/setup_routes) + . = ..() + +// This is called whenever a shuttle is initialized. If its our shuttle, do our thing! +/obj/shuttle_connector/proc/setup_routes(var/new_shuttle) + var/datum/shuttle/autodock/web_shuttle/ES = shuttle_controller.shuttles[shuttle_name] + if(ES != new_shuttle) + return // Its not our shuttle! Ignore! + if(destinations && istype(ES)) var/datum/shuttle_web_master/WM = ES.web_master for(var/new_dest in destinations) @@ -487,7 +522,9 @@ for(var/type_to_link in D.routes_to_make) var/travel_delay = D.routes_to_make[type_to_link] - D.link_destinations(WM.get_destination_by_type(type_to_link), D.preferred_interim_area, travel_delay) + D.link_destinations(WM.get_destination_by_type(type_to_link), D.preferred_interim_tag, travel_delay) + else + warning("[log_info_line()]'s shuttle [global.log_info_line(ES)] initialized but destinations:[destinations]") qdel(src) diff --git a/code/modules/shuttles/upgrade_guide.md b/code/modules/shuttles/upgrade_guide.md new file mode 100644 index 0000000000..7c2c73f422 --- /dev/null +++ b/code/modules/shuttles/upgrade_guide.md @@ -0,0 +1,124 @@ +# "Landmark" Shuttles Conversion +This guide helps with updating maps and shuttle datums from the old "area" based system to the "landmark" based system. + +## Summary +The old shuttle datum worked with areas (`/area`). You are probably familiar with every shuttle having a few cookie-cutter shaped areas it travels between. +When the shuttle "moved" it was translated from its current area to the destination area. The areas had to be _exactly_ the same shape so +that each turf in the origin area got translated to the equivalent place at the target.\ +Since _all possible_ destinations had to have a dedicated area (and areas in BYOND can't overlap) this means it is impossible for two shuttles to travel to the same spot, even at different times. + +In the new system shuttle destinations are represented by "landmark" objects (`/obj/effect/shuttle_landmark`). +When a shuttle is "moved" it is translated from its current landmark to the destination landmark, with each turf keeping its same position _relative_ to the landmarks. +In other words, whatever a turf's x/y/z offsets are from the origin landmark, it will be moved to the same x/y/z offset from the destination landmark. + +## Landmark Objects +Shuttle destinations are represented by `/obj/effect/shuttle_landmark` objects on the map. + +* `name` - Pretty name of the nav point, used on overmap and in messages and console UI. +* `landmark_tag` - Globally unique ID, used by everything else to refer to this landmark. +* `docking_controller` - ID of the controller on the dock side (initialize to id_tag, becomes reference). Leave null if not applicable. +* `base_area` - Type path of the `/area` that should be here when a shuttle is *not* present. +* `base_turf` - Type path of the `/turf` that should be here when a shuttle is *not* present. +* `shuttle_restricted` - If not null, only the named shuttle is allowed to use this landmark. (TODO: Overmap functionality) +* `flags` - Bitfield - defaults to `SLANDMARK_FLAG_AUTOSET`, can be any combination of: + * `SLANDMARK_FLAG_AUTOSET` (1) - If set, will initialize base_area and base_turf to same as where it was spawned at. + * `SLANDMARK_FLAG_ZERO_G` (2) - If set, Zero-G shuttles moved here will lose gravity unless the area has ambient gravity. +* `special_dock_targets` - Used to configure shuttles with multiple docking controllers on the shuttle. Map of shuttle `name` -> `id_tag` of the docking controller it should use for this landmark. (Think of a shuttle with airlocks on both sides, each with their own controller. This would tell it which side to use.) + + +## Shuttle Types + + +### Ferry Shuttles +These shuttles go back and forth between two locations (normally called "station" and "offsite"). +Examples: Mining shuttle, Arrivals Shuttle, etc. + +Old Type Path: `/datum/shuttle/ferry`\ +New Type Path: `/datum/shuttle/autodock/ferry` + +##### New Vars: + +Name|Type|Required?|Info +---|---|---|--- +shuttle_area |`/area` typepath(s)|Yes| Can be a single path or list of paths. + +##### Replaced vars: + +Old|New|Required?|Info +:---:|:---:|:---:|--- +area_station |landmark_station |Yes|Tag of the landmark for the "station" location. +area_offsite |landmark_offsite |Yes|Tag of the landmark for the "offsite" location. +area_transition |landmark_transition |No|Tag of the landmark for the "transition" location used during long_jump() +dock_target_station |On landmark |No|`id_tag` docking controller *on the dock* has been moved to the `docking_controller` var on the landmark_station landmark obj. +dock_target_offsite |On landmark |No|`id_tag` docking controller *on the dock* has been moved to the `docking_controller` var on the landmark_offsite landmark obj. + + + + +### Multi Shuttles +These shuttles go between a list of configured locations, one of which is its starting location. +Examples: Skipjack, Syndicate Shuttle + +Old Type Path: `/datum/shuttle/multi_shuttle`\ +New Type Path: `/datum/shuttle/autodock/multi` + +##### New Vars: + +Name|Type|Required?|Info +---|---|---|--- +shuttle_area |`/area` typepath(s)|Yes| Can be a single path or list of paths. + +##### Replaced vars: + +Old|New|Required?|Info +:---:|:---:|:---:|--- +origin |current_location |Yes|Tag of the landmark where the shuttle is at startup. +interim |landmark_transition |No|Tag of the landmark for the "transition" location used during long_jump() +start_location |N/A |No|No longer necessary, automatically determined from the value of `origin` +destinations |destination_tags |Yes|List of destinations the shuttle can travel to. Used to be associative list of *name* -> *area typepath*, now is normal list of landmark tag ids. Name is now read from the landmark obj. +destination_dock_targets|On landmarks |No|Used to be associative list of *name* -> *id_tag* for which docking controller *on the dock* to use at each destination. This is now specified by the `docking_controller` var on each landmark obj. + + + +### Web Shuttles +These shuttles travel along a network of locations connected by routes. Instead of being able to travel to any of its destinations, it can only travel to destinations connected by a route to its current location. Added by Polaris as an upgrade to Multi Shuttles. +Note: While cool, it is likely that the upcoming "overmap" shuttles will be even cooler, and may eventually replace some web shuttles. +Examples: Southern Cross' Ninja Shuttle, Tether's Excursion Shuttle + +Old Type Path: `/datum/shuttle/web_shuttle`\ +New Type Path: `/datum/shuttle/autodock/web_shuttle` + +##### New Vars: + +Name|Type|Required?|Info +---|---|---|--- +shuttle_area |`/area` typepath(s)|Yes| Can be a single path or list of paths. + +##### Replaced vars: + +Old|New|Required?|Info +:---:|:---:|:---:|--- +current_area |current_location |Yes|Tag of the landmark where the shuttle is at startup. + +#### Web Destination Configuration (`/datum/shuttle_destination`) +The network of routes for each web shuttle is configured by defining datums. These are mostly unchanged but use landmarks instead of areas now. + +##### Replaced vars: + +Old|New|Required?|Info +:---:|:---:|:---:|--- +my_area |my_landmark |Yes|Tag of the landmark associated with this destination. +preferred_interim_area |preferred_interim_tag |No|Tag of the landmark for the "transition" location used during long_jump() +dock_target |On landmark |No|`id_tag` docking controller *on the dock* has been moved to the `docking_controller` var on the my_landmark landmark obj. + +### Misc Shuttle Types +Other shuttle types that are either unused or unchanged in particular. + +#### Escape Pods +Special case of ferry shuttles that use escape pod berth controllers. +Type path changed from `/datum/shuttle/ferry/escape_pod` to `/datum/shuttle/autodock/ferry/escape_pod` +Follow same instructions as for other ferry shuttles. + +#### Multidock Ferry Shuttles +`/datum/shuttle/ferry/multidock` was a variant of ferry shuttles that could use a different docking port at each location. +Obsolete since is now natively supported by all dockable shuttles. diff --git a/code/modules/shuttles/web_datums.dm b/code/modules/shuttles/web_datums.dm index f64573270c..3e2abf9443 100644 --- a/code/modules/shuttles/web_datums.dm +++ b/code/modules/shuttles/web_datums.dm @@ -8,7 +8,7 @@ /datum/shuttle_route var/datum/shuttle_destination/start = null // One of the two sides of this route. Start just means it was the creator of this route. var/datum/shuttle_destination/end = null // The second side. - var/area/interim = null // Where the shuttle sits during the movement. Make sure no other shuttle shares this or Very Bad Things will happen. + var/var/obj/effect/shuttle_landmark/interim // Where the shuttle sits during the movement. Make sure no other shuttle shares this or Very Bad Things will happen. var/travel_time = 0 // How long it takes to move from start to end, or end to start. Set to 0 for instant travel. var/one_way = FALSE // If true, you can't travel from end to start. @@ -16,7 +16,7 @@ start = _start end = _end if(_interim) - interim = locate(_interim) + interim = SSshuttles.get_landmark(_interim) travel_time = _time one_way = _oneway @@ -50,14 +50,12 @@ // This is the second datum, and contains information on all the potential destinations for a specific shuttle. /datum/shuttle_destination var/name = "a place" // Name of the destination, used for the flight computer. - var/area/my_area = null // Where the shuttle will move to when it actually arrives. + var/obj/effect/shuttle_landmark/my_landmark = null // Where the shuttle will move to when it actually arrives. var/datum/shuttle_web_master/master = null // The datum that does the coordination with the actual shuttle datum. var/list/routes = list() // Routes that are connected to this destination. - var/preferred_interim_area = null // When building a new route, use this interim area. + var/preferred_interim_tag = null // When building a new route, use interim landmark with this tag. var/skip_me = FALSE // We will not autocreate this one. Some map must be doing it. - var/dock_target = null // The tag_id that the shuttle will use to try to dock to the destination, if able. - var/radio_announce = 0 // Whether it will make a station announcement (0) or a radio announcement (1). var/announcer = null // The name of the 'announcer' that will say the arrival/departure messages. Defaults to the map's boss name if blank. // var/arrival_message = null // Message said if the ship enters this destination. Not announced if the ship is cloaked. @@ -72,7 +70,9 @@ var/list/routes_to_make = list() /datum/shuttle_destination/New(var/new_master) - my_area = locate(my_area) + my_landmark = SSshuttles.get_landmark(my_landmark) + if(!my_landmark) + log_debug("Web shuttle destination '[name]' could not find its landmark '[my_landmark]'.") master = new_master /datum/shuttle_destination/Destroy() @@ -99,7 +99,7 @@ // Now link our new destination to us. var/travel_delay = destinations_to_create[type_to_make] - link_destinations(new_dest, preferred_interim_area, travel_delay) + link_destinations(new_dest, preferred_interim_tag, travel_delay) to_world("SHUTTLES: [name] has linked themselves to [new_dest.name]") to_world("SHUTTLES: [name] has finished building destinations. already_made list is \[[english_list(already_made)]\].") @@ -135,14 +135,14 @@ else global_announcer.autosay(get_arrival_message(),(announcer ? announcer : "[using_map.boss_name]")) -/datum/shuttle_destination/proc/link_destinations(var/datum/shuttle_destination/other_place, var/area/interim_area, var/travel_time = 0) +/datum/shuttle_destination/proc/link_destinations(var/datum/shuttle_destination/other_place, var/interim_tag, var/travel_time = 0) // First, check to make sure this doesn't cause a duplicate route. for(var/datum/shuttle_route/R in routes) if(R.start == other_place || R.end == other_place) return // Now we can connect them. - var/datum/shuttle_route/new_route = new(src, other_place, interim_area, travel_time) + var/datum/shuttle_route/new_route = new(src, other_place, interim_tag, travel_time) routes += new_route other_place.routes += new_route @@ -166,7 +166,7 @@ // This is the third and final datum, which coordinates with the shuttle datum to tell it where it is, where it can go, and how long it will take. // It is also responsible for instancing all the destinations it has control over, and linking them together. /datum/shuttle_web_master - var/datum/shuttle/web_shuttle/my_shuttle = null // Ref to the shuttle this datum is coordinating with. + var/datum/shuttle/autodock/web_shuttle/my_shuttle = null // Ref to the shuttle this datum is coordinating with. var/datum/shuttle_destination/current_destination = null // Where the shuttle currently is. Bit of a misnomer. var/datum/shuttle_destination/future_destination = null // Where it will be in the near future. var/datum/shuttle_destination/starting_destination = null // Where the shuttle will start at, generally at the home base. @@ -204,7 +204,7 @@ for(var/datum/shuttle_destination/D in destinations) for(var/type_to_link in D.routes_to_make) var/travel_delay = D.routes_to_make[type_to_link] - D.link_destinations(get_destination_by_type(type_to_link), D.preferred_interim_area, travel_delay) + D.link_destinations(get_destination_by_type(type_to_link), D.preferred_interim_tag, travel_delay) /datum/shuttle_web_master/proc/on_shuttle_departure() current_destination.exit() @@ -214,11 +214,6 @@ future_destination.enter() current_destination = future_destination future_destination = null - my_shuttle.current_area = current_destination.my_area - -/datum/shuttle_web_master/proc/current_dock_target() - if(current_destination) - return current_destination.dock_target /datum/shuttle_web_master/proc/get_available_routes() if(current_destination) @@ -254,10 +249,11 @@ future_destination = R.get_other_side(current_destination) var/travel_time = R.travel_time * my_shuttle.flight_time_modifier * 2 // Autopilot is less efficent than having someone flying manually. + // TODO - Leshana - Change this to use proccess stuff of autodock! if(R.interim && R.travel_time > 0) - my_shuttle.long_jump(my_shuttle.current_area, future_destination.my_area, R.interim, travel_time / 10) + my_shuttle.long_jump(future_destination.my_landmark, R.interim, travel_time / 10) else - my_shuttle.short_jump(my_shuttle.current_area, future_destination.my_area) + my_shuttle.short_jump(future_destination.my_landmark) return TRUE // Note this will return before the shuttle actually arrives. /datum/shuttle_web_master/proc/process_autopath() diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 4a791ccfea..0f59be6a2b 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -483,3 +483,96 @@ /datum/surgery_step/robotics/install_mmi/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message("[user]'s hand slips.", \ "Your hand slips.") + +/* + * Install a Diona Nymph into a Nymph Mech + */ + +/datum/surgery_step/robotics/install_nymph + allowed_tools = list( + /obj/item/weapon/holder/diona = 100 + ) + + min_duration = 60 + max_duration = 80 + +/datum/surgery_step/robotics/install_nymph/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + if(target_zone != BP_TORSO) + return + + var/obj/item/weapon/holder/diona/N = tool + var/obj/item/organ/external/affected = target.get_organ(target_zone) + + if(!(affected && affected.open == 3)) + return 0 + + if(!istype(N)) + return 0 + + if(!N.held_mob.client || N.held_mob.stat >= DEAD) + to_chat(user, "That nymph is not viable.") + return SURGERY_FAILURE + + if(!(affected.robotic >= ORGAN_ROBOT)) + to_chat(user, "You cannot install a nymph into a meat puppet.") + return SURGERY_FAILURE + + if(!(affected.model != "Skrellian Exoskeleton")) + to_chat(user, "You're fairly certain a nymph can't pilot a normal robot.") + return SURGERY_FAILURE + + if(!target.should_have_organ("brain")) + to_chat(user, "You're pretty sure [target.species.name_plural] don't normally have a brain.") + return SURGERY_FAILURE + + if(!isnull(target.internal_organs["brain"])) + to_chat(user, "Your subject already has a cephalon.") + return SURGERY_FAILURE + + return 1 + +/datum/surgery_step/robotics/install_nymph/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user] starts setting \the [tool] into [target]'s [affected.name].", \ + "You start setting \the [tool] into [target]'s [affected.name].") + ..() + +/datum/surgery_step/robotics/install_nymph/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/obj/item/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user] has installed \the [tool] into [target]'s [affected.name].", \ + "You have installed \the [tool] into [target]'s [affected.name].") + + var/obj/item/weapon/holder/diona/N = tool + var/obj/item/organ/internal/brain/cephalon/cephalon = new(target, 1) + target.internal_organs_by_name["brain"] = cephalon + var/mob/living/carbon/alien/diona/D = N.held_mob + user.drop_from_inventory(tool) + + if(D && D.mind) + D.mind.transfer_to(target) + target.languages |= D.languages + + qdel(D) + + target.species = GLOB.all_species[SPECIES_DIONA] + + target.verbs |= /mob/living/carbon/human/proc/diona_split_nymph + target.verbs |= /mob/living/carbon/human/proc/regenerate + + spawn(0) //Name yourself on your own damn time + var/new_name = "" + while(!new_name) + if(!target) return + var/try_name = input(target,"Pick a name for your new form!", "New Name", target.name) + var/clean_name = sanitizeName(try_name, allow_numbers = TRUE) + if(clean_name) + var/okay = alert(target,"New name will be '[clean_name]', ok?", "Confirmation","Cancel","Ok") + if(okay == "Ok") + new_name = clean_name + + target.name = new_name + target.real_name = target.name + +/datum/surgery_step/robotics/install_nymph/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + user.visible_message("[user]'s hand slips.", \ + "Your hand slips.") diff --git a/code/modules/tables/presets_vr.dm b/code/modules/tables/presets_vr.dm index 16658e19a5..085c4c6d8f 100644 --- a/code/modules/tables/presets_vr.dm +++ b/code/modules/tables/presets_vr.dm @@ -16,4 +16,6 @@ /obj/structure/table/darkglass/dismantle(obj/item/weapon/wrench/W, mob/user) to_chat(user, "You cannot dismantle \the [src].") - return \ No newline at end of file + return +/obj/structure/table/alien/blue + icon = 'icons/turf/shuttle_alien_blue.dmi' diff --git a/code/modules/telesci/quantum_pad.dm b/code/modules/telesci/quantum_pad.dm index c2a61b833b..91b5c19dc2 100644 --- a/code/modules/telesci/quantum_pad.dm +++ b/code/modules/telesci/quantum_pad.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/telescience.dmi' icon_state = "qpad-idle" anchored = TRUE - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 200 active_power_usage = 5000 circuit = /obj/item/weapon/circuitboard/quantumpad diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm index e3f1c91157..a5ee8cbd93 100644 --- a/code/modules/telesci/telepad.dm +++ b/code/modules/telesci/telepad.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/telescience.dmi' icon_state = "pad-idle" anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE circuit = /obj/item/weapon/circuitboard/telesci_pad idle_power_usage = 200 active_power_usage = 5000 diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index efcf72ea65..11fae65b5b 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -28,6 +28,7 @@ var/powerCoefficient = 12.5 var/list/crystals = list() var/obj/item/device/gps/inserted_gps + var/overmap_range = 3 /obj/machinery/computer/telescience/Destroy() eject() @@ -106,8 +107,17 @@ data["tempMsg"] = "Telepad undergoing physical maintenance operations." data["sectorOptions"] = list() - for(var/z in using_map.player_levels) - data["sectorOptions"] += z + //We'll base our options on overmap range + if(using_map.use_overmap) + data["sectorOptions"] += z //Definitely at least our own even if we're not in an overmap sector. + var/obj/effect/overmap/visitable/my_sector = map_sectors["[z]"] + if(my_sector) + for(var/obj/effect/overmap/visitable/S in range(get_turf(my_sector), overmap_range)) + data["sectorOptions"] |= S.map_z + //We'll base our options on player_levels + else + for(var/z in using_map.player_levels) + data["sectorOptions"] += z if(last_tele_data) data["lastTeleData"] = list() diff --git a/code/modules/turbolift/turbolift.dm b/code/modules/turbolift/turbolift.dm index ea9c9e13ab..db1ec9805e 100644 --- a/code/modules/turbolift/turbolift.dm +++ b/code/modules/turbolift/turbolift.dm @@ -14,7 +14,8 @@ var/fire_mode = FALSE // Flag to indicate firefighter mode is active. var/tmp/moving_upwards - var/tmp/busy + var/tmp/busy_state // Used for controller processing. + var/tmp/next_process // world.time process() should next do something /datum/turbolift/proc/emergency_stop() cancel_pending_floors() @@ -97,7 +98,42 @@ door.close() return +#define LIFT_MOVING 1 // Lift will try moving. +#define LIFT_WAITING_A 2 // Waiting 15ds after arrival to announce, then goto LIFT_WAITING_B +#define LIFT_WAITING_B 3 // Waiting floor_wait_delay after announcement before potentially moving again. + +/datum/turbolift/process() + if(world.time < next_process) + return + switch(busy_state) + if(LIFT_MOVING) + if(!do_move()) + if(target_floor) + // TODO - This logic copied from old processor. Would be better to have error states. + target_floor.ext_panel.reset() + target_floor = null + return PROCESS_KILL + else if(!next_process) + log_debug("Turbolift [src] do_move() returned 1 but next_process = null; busy_state=[busy_state]") + return PROCESS_KILL + if(LIFT_WAITING_A) + var/area/turbolift/origin = locate(current_floor.area_ref) + control_panel_interior.visible_message("The elevator announces, \"[origin.lift_announce_str]\"") + next_process = world.time + floor_wait_delay + busy_state = LIFT_WAITING_B + if(LIFT_WAITING_B) + if(queued_floors.len) + busy_state = LIFT_MOVING + else + busy_state = null + return PROCESS_KILL + else + log_debug("Turbolift [src] process() called with unknown busy_state='[busy_state]'") + return PROCESS_KILL + +// Called by process when in LIFT_MOVING /datum/turbolift/proc/do_move() + next_process = null var/current_floor_index = floors.Find(current_floor) @@ -116,6 +152,7 @@ if(!doors_closing) close_doors() doors_closing = 1 + next_process = world.time + 1 SECOND // Wait for doors to close return 1 else // We failed to close the doors - probably, someone is blocking them; stop trying to move doors_closing = 0 @@ -135,10 +172,8 @@ target_floor.arrived(src) target_floor = null - sleep(15) - control_panel_interior.visible_message("The elevator announces, \"[origin.lift_announce_str]\"") - sleep(floor_wait_delay) - + next_process = world.time + 15 + busy_state = LIFT_WAITING_A return 1 // Work out where we're headed. @@ -171,15 +206,21 @@ current_floor = next_floor control_panel_interior.visible_message("The elevator [moving_upwards ? "rises" : "descends"] smoothly.") - return (next_floor.delay_time || move_delay || 30) + next_process = world.time + (next_floor.delay_time || move_delay) + return 1 /datum/turbolift/proc/queue_move_to(var/datum/turbolift_floor/floor) if(!floor || !(floor in floors) || (floor in queued_floors)) return // STOP PRESSING THE BUTTON. floor.pending_move(src) queued_floors |= floor - turbolift_controller.lift_is_moving(src) + busy_state = LIFT_MOVING + START_PROCESSING(SSprocessing, src) // TODO: dummy machine ('lift mechanism') in powered area for functionality/blackout checks. /datum/turbolift/proc/is_functional() return 1 + +#undef LIFT_MOVING +#undef LIFT_WAITING_A +#undef LIFT_WAITING_B diff --git a/code/modules/turbolift/turbolift_process.dm b/code/modules/turbolift/turbolift_process.dm deleted file mode 100644 index 124049d42e..0000000000 --- a/code/modules/turbolift/turbolift_process.dm +++ /dev/null @@ -1,36 +0,0 @@ -var/datum/controller/process/turbolift/turbolift_controller - -/datum/controller/process/turbolift - var/list/moving_lifts = list() - -/datum/controller/process/turbolift/New() - ..() - turbolift_controller = src - -/datum/controller/process/turbolift/setup() - name = "turbolift controller" - schedule_interval = 10 - -/datum/controller/process/turbolift/doWork() - for(var/liftref in moving_lifts) - if(world.time < moving_lifts[liftref]) - continue - var/datum/turbolift/lift = locate(liftref) - if(lift.busy) - continue - spawn(0) - lift.busy = 1 - var/floor_delay - if(!(floor_delay = lift.do_move())) - moving_lifts[liftref] = null - moving_lifts -= liftref - if(lift.target_floor) - lift.target_floor.ext_panel.reset() - lift.target_floor = null - else - lift_is_moving(lift,floor_delay) - lift.busy = 0 - SCHECK - -/datum/controller/process/turbolift/proc/lift_is_moving(var/datum/turbolift/lift,var/floor_delay) - moving_lifts["\ref[lift]"] = world.time + floor_delay diff --git a/code/modules/turbolift/turbolift_turfs.dm b/code/modules/turbolift/turbolift_turfs.dm index 632160efaa..8949f71448 100644 --- a/code/modules/turbolift/turbolift_turfs.dm +++ b/code/modules/turbolift/turbolift_turfs.dm @@ -1,2 +1,2 @@ -/turf/simulated/wall/elevator/New(var/newloc) - ..(newloc,"elevatorium") +/turf/simulated/wall/elevator/Initialize(mapload) + ..(mapload, "elevatorium") diff --git a/code/modules/vchat/html/vchat.html b/code/modules/vchat/html/vchat.html index 6426defa57..a3612d78e4 100644 --- a/code/modules/vchat/html/vchat.html +++ b/code/modules/vchat/html/vchat.html @@ -18,8 +18,8 @@
-

VChat is still loading. If you see this for a very long time, try the OOC 'Reload VChat' verb, or reconnecting.

-

Sometimes if you're still caching resources, it will take longer than usual.

+

You probably shouldn't see this page. This generally means chat is very broken.

+

You can wait a few seconds to see if it loads, or try OOC > Reload VChat.

@@ -78,7 +84,6 @@

Global Settings

-

Clicking anywhere in VChat saves your settings.

@@ -116,19 +121,19 @@
- +
- +
- +
diff --git a/code/modules/vchat/js/vchat.js b/code/modules/vchat/js/vchat.js index 905505bcb8..634cbbfe90 100644 --- a/code/modules/vchat/js/vchat.js +++ b/code/modules/vchat/js/vchat.js @@ -24,10 +24,10 @@ //Options for vchat var vchat_opts = { - pingThisOften: 10000, //ms - pingDropsAllowed: 2, + msBeforeDropped: 30000, //No ping for this long, and the server must be gone cookiePrefix: "vst-", //If you're another server, you can change this if you want. - alwaysShow: ["vc_looc", "vc_system"] //Categories to always display on every tab + alwaysShow: ["vc_looc", "vc_system"], //Categories to always display on every tab + vchatTabsVer: 1.0 //Version of vchat tabs save 'file' }; var DARKMODE_COLORS = { @@ -75,11 +75,8 @@ var vchat_state = { byond_ckey: null, //Ping status - lastPingAttempt: 0, - lastPingReply: 0, - missedPings: 0, - latency: 0, - reconnecting: false, + lastPingReceived: 0, + latency_sent: 0, //Last ID lastId: 0 @@ -99,8 +96,7 @@ function start_vchat() { doWinset("chatloadlabel", {"is-visible": false}); //Commence the pingening - send_ping(); - setInterval(send_ping, vchat_opts.pingThisOften); + setInterval(check_ping, vchat_opts.msBeforeDropped); //For fun send_debug("VChat Loaded!"); @@ -125,6 +121,7 @@ function start_vue() { editing: false, //If we're in settings edit mode paused: false, //Autoscrolling latency: 0, //Not necessarily network latency, since the game server has to align the responses into ticks + reconnecting: false, //If we've lost our connection ext_styles: "", //Styles for chat downloaded files is_admin: false, @@ -155,7 +152,7 @@ function start_vue() { admin: false }, { - matches: ".notice, .adminnotice, .info, .sinister, .cult", + matches: ".notice:not(.pm), .adminnotice, .info, .sinister, .cult", becomes: "vc_info", pretty: "Notices", tooltip: "Non-urgent messages from the game and items", @@ -163,7 +160,7 @@ function start_vue() { admin: false }, { - matches: ".critical, .danger, .userdanger, .warning, .italics", + matches: ".critical, .danger, .userdanger, .warning:not(.pm), .italics", becomes: "vc_warnings", pretty: "Warnings", tooltip: "Urgent messages from the game and items", @@ -261,6 +258,13 @@ function start_vue() { } }, watch: { + reconnecting: function(newSetting, oldSetting) { + if(newSetting == true && oldSetting == false) { + this.internal_message("Your client has lost connection to the server, or there is severe lag. Your client will reconnect if possible."); + } else if (newSetting == false && oldSetting == true) { + this.internal_message("Your client has reconnected to the server."); + } + }, //Save the inverted setting to LS inverted: function (newSetting) { set_storage("darkmode",newSetting); @@ -335,11 +339,15 @@ function start_vue() { }, //What color does the latency pip get? ping_classes: function() { - if(this.latency === 0) { return "grey"; } + if(!this.latency) { + return this.reconnecting ? "red" : "green"; //Standard + } + + if (this.latency == "?") { return "grey"; } //Waiting for latency test reply else if(this.latency < 0 ) {return "red"; } else if(this.latency <= 200) { return "green"; } else if(this.latency <= 400) { return "yellow"; } - else { return "red"; } + else { return "grey"; } }, current_categories: function() { if(this.active_tab == this.tabs[0]) { @@ -361,6 +369,50 @@ function start_vue() { if(isNaN(this.crushing)){this.crushing = 3;} //This used to be a bool (03-02-2020) if(isNaN(this.fontsize)){this.fontsize = 0.9;} //This used to be a string (03-02-2020) + + this.load_tabs(); + }, + load_tabs: function() { + var loadstring = get_storage("tabs") + if(!loadstring) + return; + var loadfile = JSON.parse(loadstring); + //Malformed somehow. + if(!loadfile.version || !loadfile.tabs) { + this.internal_message("There was a problem loading your tabs. Any new ones you make will be saved, however."); + return; + } + //Version is old? Sorry. + if(!loadfile.version == vchat_opts.vchatTabsVer) { + this.internal_message("Your saved tabs are for an older version of VChat and must be recreated, sorry."); + return; + } + + this.tabs.push.apply(this.tabs, loadfile.tabs); + }, + save_tabs: function() { + var savefile = { + version: vchat_opts.vchatTabsVer, + tabs: [] + } + + //The tabs contain a bunch of vue stuff that gets funky when you try to serialize it with stringify, so we 'purify' it + this.tabs.forEach(function(tab){ + if(tab.immutable) + return; + + var name = tab.name; + + var categories = []; + tab.categories.forEach(function(category){categories.push(category);}); + + var cleantab = {name: name, categories: categories, immutable: false, active: false} + + savefile.tabs.push(cleantab); + }); + + var savestring = JSON.stringify(savefile); + set_storage("tabs", savestring); }, //Change to another tab switchtab: function(tab) { @@ -377,6 +429,7 @@ function start_vue() { //Toggle edit mode editmode: function() { this.editing = !this.editing; + this.save_tabs(); }, //Toggle autoscroll pause: function() { @@ -588,21 +641,50 @@ function start_vue() { textToSave += "
\n"; }); textToSave += ""; - var hiddenElement = document.createElement('a'); - hiddenElement.href = 'data:attachment/text,' + encodeURI(textToSave); - hiddenElement.target = '_blank'; - var filename = "chat_export.html"; + var fileprefix = "log"; + var extension =".html"; + + var now = new Date(); + var hours = String(now.getHours()); + if(hours.length < 2) { + hours = "0" + hours; + } + var minutes = String(now.getMinutes()); + if(minutes.length < 2) { + minutes = "0" + minutes; + } + var dayofmonth = String(now.getDate()); + if(dayofmonth.length < 2) { + dayofmonth = "0" + dayofmonth; + } + var month = String(now.getMonth()+1); //0-11 + if(month.length < 2) { + month = "0" + month; + } + var year = String(now.getFullYear()); + var datesegment = " "+year+"-"+month+"-"+dayofmonth+" ("+hours+" "+minutes+")"; + + var filename = fileprefix+datesegment+extension; //Unlikely to work unfortunately, not supported in any version of IE, only Edge - if (hiddenElement.download !== undefined){ - hiddenElement.download = filename; - hiddenElement.click(); - //Probably what will end up getting used - } else { - let blob = new Blob([textToSave], {type: 'text/html;charset=utf8;'}); - saved = window.navigator.msSaveBlob(blob, filename); - } + var hiddenElement = document.createElement('a'); + if (hiddenElement.download !== undefined) { + hiddenElement.href = 'data:attachment/text,' + encodeURI(textToSave); //Has a problem in byond 512 due to weird unicode handling + hiddenElement.target = '_blank'; + hiddenElement.download = filename; + hiddenElement.click(); + //Probably what will end up getting used + } else { + var blob = new Blob([textToSave], {type: 'text/html;charset=utf8;'}); + saved = window.navigator.msSaveOrOpenBlob(blob, filename); + } + }, + do_latency_test: function() { + send_latency_check(); + }, + blur_this: function(event) { + event.target.blur(); } } }); @@ -613,21 +695,37 @@ function start_vue() { * Actual Methods * ************/ -//Send a 'ping' to byond and check to see if we got the last one back in a timely manner -function send_ping() { - vchat_state.latency = (Math.min(Math.max(vchat_state.lastPingReply - vchat_state.lastPingAttempt, -1), 999)); - //If their last reply was in the previous ping window or earlier. - if(vchat_state.latency < 0) { - vchat_state.missedPings++; - if((vchat_state.missedPings >= vchat_opts.pingDropsAllowed) && !vchat_state.reconnecting) { - system_message("Your client has lost connection with the server. It will reconnect automatically if possible."); - vchat_state.reconnecting = true; +function check_ping() { + var time_ago = Date.now() - vchat_state.lastPingReceived; + if(time_ago > vchat_opts.msBeforeDropped) + vueapp.reconnecting = true; +} + +//Send a 'ping' to byond +function send_latency_check() { + if(vchat_state.latency_sent) + return; + + vchat_state.latency_sent = Date.now(); + vueapp.latency = "?"; + push_Topic("ping"); + setTimeout(function() { + if(vchat_state.latency_ms == "?") { + vchat_state.latency_ms = 999; } + }, 1000); // 1 second to reply otherwise we mark it as bad + setTimeout(function() { + vchat_state.latency_sent = 0; + vueapp.latency = 0; + }, 5000); //5 seconds to display ping time overall +} + +function get_latency_check() { + if(!vchat_state.latency_sent) { + return; //Too late } - vueapp.latency = vchat_state.latency; - push_Topic("keepalive_client"); - vchat_state.lastPingAttempt = Date.now(); + vueapp.latency = Date.now() - vchat_state.latency_sent; } //We accept double-url-encoded JSON strings because Byond is garbage and UTF-8 encoded url_encode() text has crazy garbage in it. @@ -678,7 +776,7 @@ function send_debug(message) { //A side-channel to send events over that aren't just chat messages, if necessary. function get_event(event) { if(!vchat_state.ready) { - push_Topic('not_ready'); + push_Topic("not_ready"); return; } @@ -704,10 +802,19 @@ function get_event(event) { break; //Just a ping. - case 'keepalive_server': - vchat_state.lastPingReply = Date.now(); - vchat_state.missedPings = 0; - reconnecting = false; + case 'keepalive': + vchat_state.lastPingReceived = Date.now(); + vueapp.reconnecting = false; + break; + + //Response to a latency test. + case 'pong': + get_latency_check(); + break; + + //The server doesn't know if we're loaded or not (we bail above if we're not, so we must be). + case 'availability': + push_Topic("done_loading"); break; default: diff --git a/code/modules/vchat/vchat_client.dm b/code/modules/vchat/vchat_client.dm index ec32c08118..0e8f005136 100644 --- a/code/modules/vchat/vchat_client.dm +++ b/code/modules/vchat/vchat_client.dm @@ -46,7 +46,6 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic . = ..() owner = C - update_vis() /datum/chatOutput/Destroy() owner = null @@ -78,14 +77,20 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic become_broken() return FALSE + //Could be loaded from a previous round, are you still there? + if(winget(owner,"outputwindow.htmloutput","is-visible") == "true") //Winget returns strings + send_event(event = list("evttype" = "availability")) + sleep(3 SECONDS) + if(!owner) // In case the client vanishes before winexists returns qdel(src) return FALSE - if(!resources_sent) - send_resources() - - load() + if(!loaded) + update_vis() + if(!resources_sent) + send_resources() + load() return TRUE @@ -115,7 +120,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic owner.chatOutputLoadedAt = world.time //update_vis() //It does it's own winsets - + ping_cycle() send_playerinfo() load_database() @@ -135,6 +140,10 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic /datum/chatOutput/proc/become_broken() broken = TRUE loaded = FALSE + + if(!owner) + qdel(src) + return update_vis() @@ -163,9 +172,23 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic /datum/chatOutput/proc/send_event(var/event, var/client/C = owner) C << output(jsEncode(event), "htmloutput:get_event") +//Looping sleeping proc that just pings the client and dies when we die +/datum/chatOutput/proc/ping_cycle() + set waitfor = FALSE + while(!QDELING(src)) + if(!owner) + qdel(src) + return + send_event(event = keep_alive()) + sleep(20 SECONDS) //Make sure this makes sense with what the js client is expecting + //Just produces a message for using in keepalives from the server to the client -/datum/chatOutput/proc/keepalive() - return list("evttype" = "keepalive_server") +/datum/chatOutput/proc/keep_alive() + return list("evttype" = "keepalive") + +//A response to a latency check from the client +/datum/chatOutput/proc/latency_check() + return list("evttype" = "pong") //Redirected from client/Topic when the user clicks a link that pertains directly to the chat (when src == "chat") /datum/chatOutput/Topic(var/href, var/list/href_list) @@ -197,8 +220,8 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic CRASH("Tried to send a message to [owner.ckey] chatOutput before it was ready!") if("done_loading") data = done_loading(arglist(params)) - if("keepalive_client") - data = keepalive(arglist(params)) + if("ping") + data = latency_check(arglist(params)) if("ident") data = bancheck(arglist(params)) if("unloading") diff --git a/code/modules/vchat/vchat_db.dm b/code/modules/vchat/vchat_db.dm index 8f9ba13e92..0dc7e7982d 100644 --- a/code/modules/vchat/vchat_db.dm +++ b/code/modules/vchat/vchat_db.dm @@ -24,7 +24,7 @@ GLOBAL_DATUM(vchatdb, /database) //For INSERT/CREATE/DELETE, etc that return a RowsAffected. /proc/vchat_exec_update(var/query) if(!check_vchat()) - log_debug("There's no vchat database open but you tried to query it with: [query]") + log_world("There's no vchat database open but you tried to query it with: [query]") return FALSE //Solidify our query @@ -35,7 +35,7 @@ GLOBAL_DATUM(vchatdb, /database) //Handle errors if(q.Error()) - log_debug("Query \"[islist(query)?query[1]:query]\" ended in error [q.ErrorMsg()]") + log_world("Query \"[islist(query)?query[1]:query]\" ended in error [q.ErrorMsg()]") return FALSE return q.RowsAffected() @@ -43,7 +43,7 @@ GLOBAL_DATUM(vchatdb, /database) //For SELECT, that return results. /proc/vchat_exec_query(var/query) if(!check_vchat()) - log_debug("There's no vchat database open but you tried to query it!") + log_world("There's no vchat database open but you tried to query it!") return FALSE //Solidify our query @@ -54,7 +54,7 @@ GLOBAL_DATUM(vchatdb, /database) //Handle errors if(q.Error()) - log_debug("Query \"[islist(query)?query[1]:query]\" ended in error [q.ErrorMsg()]") + log_world("Query \"[islist(query)?query[1]:query]\" ended in error [q.ErrorMsg()]") return FALSE //Return any results diff --git a/code/modules/vehicles/bike.dm b/code/modules/vehicles/bike.dm index 8c626a6b46..5d8abe9fbd 100644 --- a/code/modules/vehicles/bike.dm +++ b/code/modules/vehicles/bike.dm @@ -71,7 +71,7 @@ turn_off() src.visible_message("\The [src] putters before turning off.", "You hear something putter slowly.") -/obj/vehicle/bike/verb/kickstand() +/obj/vehicle/bike/verb/kickstand(var/mob/user as mob) //TFF 22/3/20 - Tweaking the visible_message output so it's not "You put kickstand down" to everyone. set name = "Toggle Kickstand" set category = "Vehicle" set src in view(0) @@ -82,12 +82,12 @@ if(usr.incapacitated()) return if(kickstand) - src.visible_message("You put up \the [src]'s kickstand.") + visible_message("[user] puts up \the [src]'s kickstand.") else if(istype(src.loc,/turf/space) || istype(src.loc, /turf/simulated/floor/water)) to_chat(usr, " You don't think kickstands work here...") return - src.visible_message("You put down \the [src]'s kickstand.") + visible_message("[user] puts down \the [src]'s kickstand.") if(pulledby) pulledby.stop_pulling() diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm index 8199c91577..24d24b1179 100644 --- a/code/modules/vehicles/train.dm +++ b/code/modules/vehicles/train.dm @@ -25,7 +25,7 @@ /obj/vehicle/train/Initialize() . = ..() for(var/obj/vehicle/train/T in orange(1, src)) - latch(T) + latch(T, null) /obj/vehicle/train/Move() var/old_loc = get_turf(src) @@ -149,22 +149,26 @@ //Note: there is a modified version of this in code\modules\vehicles\cargo_train.dm specifically for cargo train engines /obj/vehicle/train/proc/attach_to(obj/vehicle/train/T, mob/user) if (get_dist(src, T) > 1) - to_chat(user, "[src] is too far away from [T] to hitch them together.") + if(user) + to_chat(user, "[src] is too far away from [T] to hitch them together.") return if (lead) - to_chat(user, "[src] is already hitched to something.") + if(user) + to_chat(user, "[src] is already hitched to something.") return if (T.tow) - to_chat(user, "[T] is already towing something.") + if(user) + to_chat(user, "[T] is already towing something.") return //check for cycles. var/obj/vehicle/train/next_car = T while (next_car) if (next_car == src) - to_chat(user, "That seems very silly.") + if(user) + to_chat(user, "That seems very silly.") return next_car = next_car.lead diff --git a/code/modules/virus2/admin.dm b/code/modules/virus2/admin.dm index a28d0741c1..84e439e7ef 100644 --- a/code/modules/virus2/admin.dm +++ b/code/modules/virus2/admin.dm @@ -4,7 +4,7 @@ if(href_list["info"]) // spawn or admin privileges to see info about viruses - if(!check_rights(R_ADMIN|R_SPAWN)) return + if(!check_rights(R_ADMIN|R_SPAWN|R_EVENT)) return to_chat(usr, "Infection chance: [infectionchance]; Speed: [speed]; Spread type: [spreadtype]") to_chat(usr, "Affected species: [english_list(affected_species)]") diff --git a/code/modules/vore/appearance/preferences_vr.dm b/code/modules/vore/appearance/preferences_vr.dm index 8d5db2c6f2..3c86146e11 100644 --- a/code/modules/vore/appearance/preferences_vr.dm +++ b/code/modules/vore/appearance/preferences_vr.dm @@ -28,6 +28,9 @@ var/r_wing = 30 var/g_wing = 30 var/b_wing = 30 + var/r_wing2 = 30 + var/g_wing2 = 30 + var/b_wing2 = 30 // Custom Species Name var/custom_species diff --git a/code/modules/vore/appearance/sprite_accessories_vr.dm b/code/modules/vore/appearance/sprite_accessories_vr.dm index a0d459f443..f75b096aaa 100644 --- a/code/modules/vore/appearance/sprite_accessories_vr.dm +++ b/code/modules/vore/appearance/sprite_accessories_vr.dm @@ -406,6 +406,12 @@ color_blend_mode = ICON_MULTIPLY do_colouration = 1 +/datum/sprite_accessory/ears/large_dragon + name = "Large dragon horns" + desc = "" + icon_state = "big_liz" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY // Special snowflake ears go below here. @@ -667,6 +673,31 @@ do_colouration = 1 color_blend_mode = ICON_MULTIPLY +/datum/sprite_accessory/wing/sepulchre_c_yw + name = "demon wings (colorable)" + desc = "" + icon_state = "sepulchre_wingsc" + do_colouration = 1 + +/datum/sprite_accessory/wing/cyberdragon + name = "Cyber dragon wing (colorable)" + desc = "" + icon_state = "cyberdragon_s" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/wing/cyberdragon_red + name = "Cyber dragon wing (red)" + desc = "" + icon_state = "cyberdragon_red_s" + do_colouration = 0 + +/datum/sprite_accessory/wing/cyberdoe + name = "Cyber doe wing" + desc = "" + icon_state = "cyberdoe_s" + do_colouration = 0 + /* //////////////////////////// / =--------------------= / @@ -1601,4 +1632,22 @@ icon_state = "tail_smooth" ani_state = "tail_smooth_w" do_colouration = 1 - color_blend_mode = ICON_MULTIPLY \ No newline at end of file + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/tail/triplekitsune_colorable + icon = 'icons/mob/vore/tails_vr.dmi' + name = "Kitsune 3 tails - colorable" + desc = "" + icon_state = "triplekitsune" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "triplekitsune_tips" + +/datum/sprite_accessory/tail/ninekitsune_colorable + icon = 'icons/mob/vore/tails_vr.dmi' + name = "Kitsune 9 tails - colorable" + desc = "" + icon_state = "ninekitsune" + do_colouration = 1 + color_blend_mode = ICON_MULTIPLY + extra_overlay = "ninekitsune-tips" diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index b3472de774..5c48e5ea22 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -55,11 +55,9 @@ var/tmp/mob/living/owner // The mob whose belly this is. var/tmp/digest_mode = DM_HOLD // Current mode the belly is set to from digest_modes (+transform_modes if human) var/tmp/tf_mode = DM_TRANSFORM_REPLICA // Current transformation mode. - var/tmp/next_process = 0 // Waiting for this SSbellies times_fired to process again. var/tmp/list/items_preserved = list() // Stuff that wont digest so we shouldn't process it again. - var/tmp/next_emote = 0 // When we're supposed to print our next emote, as a belly controller tick # + var/tmp/next_emote = 0 // When we're supposed to print our next emote, as a world.time var/tmp/recent_sound = FALSE // Prevent audio spam - var/tmp/list/hearing_mobs // Don't forget to watch your commas at the end of each line if you change these. var/list/struggle_messages_outside = list( @@ -161,23 +159,23 @@ "wet_loop" ) -/obj/belly/New(var/newloc) - ..(newloc) +/obj/belly/Initialize() + . = ..() //If not, we're probably just in a prefs list or something. - if(isliving(newloc)) + if(isliving(loc)) owner = loc owner.vore_organs |= src - SSbellies.belly_list += src + START_PROCESSING(SSbellies, src) /obj/belly/Destroy() - SSbellies.belly_list -= src + STOP_PROCESSING(SSbellies, src) if(owner) owner.vore_organs -= src owner = null - . = ..() + return ..() // Called whenever an atom enters this belly -/obj/belly/Entered(var/atom/movable/thing,var/atom/OldLoc) +/obj/belly/Entered(atom/movable/thing, atom/OldLoc) if(OldLoc in contents) return //Someone dropping something (or being stripdigested) @@ -207,8 +205,7 @@ // Release all contents of this belly into the owning mob's location. // If that location is another mob, contents are transferred into whichever of its bellies the owning mob is in. // Returns the number of mobs so released. -/obj/belly/proc/release_all_contents(var/include_absorbed = FALSE, var/silent = FALSE) - +/obj/belly/proc/release_all_contents(include_absorbed = FALSE, silent = FALSE) //Don't bother if we don't have contents if(!contents.len) return FALSE @@ -246,7 +243,7 @@ // Release a specific atom from the contents of this belly into the owning mob's location. // If that location is another mob, the atom is transferred into whichever of its bellies the owning mob is in. // Returns the number of atoms so released. -/obj/belly/proc/release_specific_contents(var/atom/movable/M, var/silent = FALSE) +/obj/belly/proc/release_specific_contents(atom/movable/M, silent = FALSE) if (!(M in contents)) return 0 // They weren't in this belly anyway @@ -294,10 +291,10 @@ // Actually perform the mechanics of devouring the tasty prey. // The purpose of this method is to avoid duplicate code, and ensure that all necessary // steps are taken. -/obj/belly/proc/nom_mob(var/mob/prey, var/mob/user) +/obj/belly/proc/nom_mob(mob/prey, mob/user) if(owner.stat == DEAD) return - if (prey.buckled) + if(prey.buckled) prey.buckled.unbuckle_mob() prey.forceMove(src) @@ -316,9 +313,9 @@ var/raw_message = pick(examine_messages) var/total_bulge = 0 - formatted_message = replacetext(raw_message,"%belly",lowertext(name)) - formatted_message = replacetext(formatted_message,"%pred",owner) - formatted_message = replacetext(formatted_message,"%prey",english_list(contents)) + formatted_message = replacetext(raw_message, "%belly" ,lowertext(name)) + formatted_message = replacetext(formatted_message, "%pred" ,owner) + formatted_message = replacetext(formatted_message, "%prey" ,english_list(contents)) for(var/mob/living/P in contents) if(!P.absorbed) //This is required first, in case there's a person absorbed and not absorbed in a stomach. total_bulge += P.size_multiplier @@ -330,10 +327,10 @@ // The next function gets the messages set on the belly, in human-readable format. // This is useful in customization boxes and such. The delimiter right now is \n\n so // in message boxes, this looks nice and is easily delimited. -/obj/belly/proc/get_messages(var/type, var/delim = "\n\n") +/obj/belly/proc/get_messages(type, delim = "\n\n") ASSERT(type == "smo" || type == "smi" || type == "dmo" || type == "dmp" || type == "em") + var/list/raw_messages - switch(type) if("smo") raw_messages = struggle_messages_outside @@ -346,13 +343,13 @@ if("em") raw_messages = examine_messages - var/messages = list2text(raw_messages,delim) + var/messages = list2text(raw_messages, delim) return messages // The next function sets the messages on the belly, from human-readable var // replacement strings and linebreaks as delimiters (two \n\n by default). // They also sanitize the messages. -/obj/belly/proc/set_messages(var/raw_text, var/type, var/delim = "\n\n") +/obj/belly/proc/set_messages(raw_text, type, delim = "\n\n") ASSERT(type == "smo" || type == "smi" || type == "dmo" || type == "dmp" || type == "em") var/list/raw_list = text2list(html_encode(raw_text),delim) @@ -389,12 +386,8 @@ // Called from the process_Life() methods of bellies that digest prey. // Default implementation calls M.death() and removes from internal contents. // Indigestable items are removed, and M is deleted. -/obj/belly/proc/digestion_death(var/mob/living/M) - //M.death(1) // "Stop it he's already dead..." Basically redundant and the reason behind screaming mouse carcasses. - if(M.ckey) - message_admins("[key_name(owner)] has digested [key_name(M)] in their [lowertext(name)] ([owner ? "JMP" : "null"])") - if(M.mind) - M.mind.vore_death = TRUE +/obj/belly/proc/digestion_death(mob/living/M) + message_admins("[key_name(owner)] has digested [key_name(M)] in their [lowertext(name)] ([owner ? ADMIN_JMP(owner) : "null"])") // If digested prey is also a pred... anyone inside their bellies gets moved up. if(is_vore_predator(M)) @@ -403,7 +396,7 @@ //Drop all items into the belly. if(config.items_survive_digestion) for(var/obj/item/W in M) - if(istype(W,/obj/item/organ/internal/mmi_holder/posibrain)) + if(istype(W, /obj/item/organ/internal/mmi_holder/posibrain)) var/obj/item/organ/internal/mmi_holder/MMI = W var/atom/movable/brain = MMI.removed() if(brain) @@ -414,7 +407,7 @@ var/obj/item/I = M.get_equipped_item(slot = slot) if(I) M.unEquip(I,force = TRUE) - if(contaminates || istype(I,/obj/item/weapon/card/id)) + if(contaminates || istype(I, /obj/item/weapon/card/id)) I.gurgle_contaminate(contents, contamination_flavor, contamination_color) //We do an initial contamination pass to get stuff like IDs wet. if(item_digest_mode == IM_HOLD) items_preserved |= I @@ -439,10 +432,10 @@ qdel(M) // Handle a mob being absorbed -/obj/belly/proc/absorb_living(var/mob/living/M) +/obj/belly/proc/absorb_living(mob/living/M) M.absorbed = 1 - to_chat(M,"[owner]'s [lowertext(name)] absorbs your body, making you part of them.") - to_chat(owner,"Your [lowertext(name)] absorbs [M]'s body, making them part of you.") + to_chat(M, "[owner]'s [lowertext(name)] absorbs your body, making you part of them.") + to_chat(owner, "Your [lowertext(name)] absorbs [M]'s body, making them part of you.") if(M.noisy) //Mute drained absorbee hunger if enabled. M.noisy = FALSE @@ -477,7 +470,7 @@ //Digest a single item //Receives a return value from digest_act that's how much nutrition //the item should be worth -/obj/belly/proc/digest_item(var/obj/item/item) +/obj/belly/proc/digest_item(obj/item/item) var/digested = item.digest_act(src, owner) if(!digested) items_preserved |= item @@ -486,6 +479,7 @@ if(isrobot(owner)) var/mob/living/silicon/robot/R = owner R.cell.charge += (50 * digested) + return digested //Determine where items should fall out of us into. //Typically just to the owner's location. @@ -503,20 +497,20 @@ /obj/belly/AllowDrop() return TRUE -/obj/belly/onDropInto(var/atom/movable/AM) +/obj/belly/onDropInto(atom/movable/AM) return null //Handle a mob struggling // Called from /mob/living/carbon/relaymove() -/obj/belly/proc/relay_resist(var/mob/living/R) +/obj/belly/proc/relay_resist(mob/living/R) if (!(R in contents)) return // User is not in this belly R.setClickCooldown(50) if(owner.stat) //If owner is stat (dead, KO) we can actually escape - to_chat(R,"You attempt to climb out of \the [lowertext(name)]. (This will take around [escapetime/10] seconds.)") - to_chat(owner,"Someone is attempting to climb out of your [lowertext(name)]!") + to_chat(R, "You attempt to climb out of \the [lowertext(name)]. (This will take around [escapetime/10] seconds.)") + to_chat(owner, "Someone is attempting to climb out of your [lowertext(name)]!") if(do_after(R, escapetime, owner, incapacitation_flags = INCAPACITATION_DEFAULT & ~INCAPACITATION_RESTRAINED)) if((owner.stat || escapable) && (R.loc == src)) //Can still escape? @@ -532,20 +526,20 @@ var/struggle_outer_message = pick(struggle_messages_outside) var/struggle_user_message = pick(struggle_messages_inside) - struggle_outer_message = replacetext(struggle_outer_message,"%pred",owner) - struggle_outer_message = replacetext(struggle_outer_message,"%prey",R) - struggle_outer_message = replacetext(struggle_outer_message,"%belly",lowertext(name)) + struggle_outer_message = replacetext(struggle_outer_message, "%pred", owner) + struggle_outer_message = replacetext(struggle_outer_message, "%prey", R) + struggle_outer_message = replacetext(struggle_outer_message, "%belly", lowertext(name)) - struggle_user_message = replacetext(struggle_user_message,"%pred",owner) - struggle_user_message = replacetext(struggle_user_message,"%prey",R) - struggle_user_message = replacetext(struggle_user_message,"%belly",lowertext(name)) + struggle_user_message = replacetext(struggle_user_message, "%pred", owner) + struggle_user_message = replacetext(struggle_user_message, "%prey", R) + struggle_user_message = replacetext(struggle_user_message, "%belly", lowertext(name)) - struggle_outer_message = "" + struggle_outer_message + "" - struggle_user_message = "" + struggle_user_message + "" + struggle_outer_message = "[struggle_outer_message]" + struggle_user_message = "[struggle_user_message]" for(var/mob/M in hearers(4, owner)) M.show_message(struggle_outer_message, 2) // hearable - to_chat(R,struggle_user_message) + to_chat(R, struggle_user_message) var/sound/struggle_snuggle var/sound/struggle_rustle = sound(get_sfx("rustle")) @@ -561,8 +555,8 @@ if(escapable) //If the stomach has escapable enabled. if(prob(escapechance)) //Let's have it check to see if the prey escapes first. - to_chat(R,"You start to climb out of \the [lowertext(name)].") - to_chat(owner,"Someone is attempting to climb out of your [lowertext(name)]!") + to_chat(R, "You start to climb out of \the [lowertext(name)].") + to_chat(owner, "Someone is attempting to climb out of your [lowertext(name)]!") if(do_after(R, escapetime)) if((escapable) && (R.loc == src) && !R.absorbed) //Does the owner still have escapable enabled? release_specific_contents(R) @@ -592,26 +586,26 @@ transferlocation = null return - to_chat(R,"Your attempt to escape [lowertext(name)] has failed and your struggles only results in you sliding into [owner]'s [transferlocation]!") - to_chat(owner,"Someone slid into your [transferlocation] due to their struggling inside your [lowertext(name)]!") + to_chat(R, "Your attempt to escape [lowertext(name)] has failed and your struggles only results in you sliding into [owner]'s [transferlocation]!") + to_chat(owner, "Someone slid into your [transferlocation] due to their struggling inside your [lowertext(name)]!") transfer_contents(R, dest_belly) return else if(prob(absorbchance) && digest_mode != DM_ABSORB) //After that, let's have it run the absorb chance. - to_chat(R,"In response to your struggling, \the [lowertext(name)] begins to cling more tightly...") - to_chat(owner,"You feel your [lowertext(name)] start to cling onto its contents...") + to_chat(R, "In response to your struggling, \the [lowertext(name)] begins to cling more tightly...") + to_chat(owner, "You feel your [lowertext(name)] start to cling onto its contents...") digest_mode = DM_ABSORB return else if(prob(digestchance) && digest_mode != DM_DIGEST) //Finally, let's see if it should run the digest chance. - to_chat(R,"In response to your struggling, \the [lowertext(name)] begins to get more active...") - to_chat(owner,"You feel your [lowertext(name)] beginning to become active!") + to_chat(R, "In response to your struggling, \the [lowertext(name)] begins to get more active...") + to_chat(owner, "You feel your [lowertext(name)] beginning to become active!") digest_mode = DM_DIGEST return else //Nothing interesting happened. - to_chat(R,"You make no progress in escaping [owner]'s [lowertext(name)].") - to_chat(owner,"Your prey appears to be unable to make any progress in escaping your [lowertext(name)].") + to_chat(R, "You make no progress in escaping [owner]'s [lowertext(name)].") + to_chat(owner, "Your prey appears to be unable to make any progress in escaping your [lowertext(name)].") return /obj/belly/proc/get_mobs_and_objs_in_belly() @@ -628,7 +622,7 @@ return see //Transfers contents from one belly to another -/obj/belly/proc/transfer_contents(var/atom/movable/content, var/obj/belly/target, silent = 0) +/obj/belly/proc/transfer_contents(atom/movable/content, obj/belly/target, silent = 0) if(!(content in src) || !istype(target)) return content.forceMove(target) @@ -640,16 +634,6 @@ I.decontaminate() I.gurgle_contaminate(target.contents, target.contamination_flavor, target.contamination_color) items_preserved -= content - /* Disabling this part due to redundancy. Entered() on target belly will make the sound anyway. - if(!silent && target.vore_sound && !recent_sound) - var/soundfile - if(!target.fancy_vore) - soundfile = classic_vore_sounds[target.vore_sound] - else - soundfile = fancy_vore_sounds[target.vore_sound] - if(soundfile) - playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises) - */ owner.updateVRPanel() for(var/mob/living/M in contents) M.updateVRPanel() diff --git a/code/modules/vore/eating/bellymodes_tf_vr.dm b/code/modules/vore/eating/bellymodes_tf_vr.dm index d2a379a336..32a6e91a4c 100644 --- a/code/modules/vore/eating/bellymodes_tf_vr.dm +++ b/code/modules/vore/eating/bellymodes_tf_vr.dm @@ -1,4 +1,4 @@ -/obj/belly/proc/process_tf(var/mode,var/list/touchable_mobs) //We pass mode so it's mega-ultra local. +/obj/belly/proc/process_tf(mode, list/touchable_mobs) //We pass mode so it's mega-ultra local. /* May not be necessary... Transform only shows up in the panel for humans. if(!ishuman(owner)) return //Need DNA and junk for this. @@ -7,231 +7,86 @@ //Cast here for reduced duplication var/mob/living/carbon/human/O = owner -///////////////////////////// DM_TRANSFORM_HAIR_AND_EYES ///////////////////////////// - if(mode == DM_TRANSFORM_HAIR_AND_EYES) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue + var/stabilize_nutrition = FALSE + var/changes_eyes = FALSE + var/changes_hair_solo = FALSE + var/changes_hairandskin = FALSE + var/changes_gender = FALSE + var/changes_gender_to = null + var/changes_species = FALSE + var/changes_ears_tail_wing_nocolor = FALSE + var/changes_ears_tail_wing_color = FALSE + var/eggs = FALSE - if(O.nutrition > 400 && P.nutrition < 400) + switch(mode) + if(DM_TRANSFORM_HAIR_AND_EYES) + stabilize_nutrition = TRUE + changes_eyes = TRUE + changes_hair_solo = TRUE + if(DM_TRANSFORM_MALE, DM_TRANSFORM_FEMALE, DM_TRANSFORM_MALE_EGG, DM_TRANSFORM_FEMALE_EGG) + changes_eyes = TRUE + changes_hairandskin = TRUE + changes_gender = TRUE + changes_gender_to = (mode == DM_TRANSFORM_MALE || mode == DM_TRANSFORM_MALE_EGG) ? MALE : FEMALE + stabilize_nutrition = TRUE + eggs = (mode == DM_TRANSFORM_MALE_EGG || mode == DM_TRANSFORM_FEMALE_EGG) + if(DM_TRANSFORM_KEEP_GENDER, DM_TRANSFORM_KEEP_GENDER_EGG) + changes_eyes = TRUE + changes_hairandskin = TRUE + stabilize_nutrition = TRUE + eggs = (mode == DM_TRANSFORM_KEEP_GENDER_EGG) + if(DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR, DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR_EGG) + changes_species = TRUE + changes_ears_tail_wing_nocolor = TRUE + stabilize_nutrition = TRUE + eggs = (mode == DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR_EGG) + if(DM_TRANSFORM_REPLICA, DM_TRANSFORM_REPLICA_EGG) + changes_eyes = TRUE + changes_hairandskin = TRUE + changes_species = TRUE + changes_ears_tail_wing_color = TRUE + eggs = (mode == DM_TRANSFORM_REPLICA_EGG) + if(DM_EGG) + eggs = TRUE + + /* This is designed to do *gradual* transformations. + * For each human in the TF belly per cycle, they can only have one "stage" of transformation applied to them. + * Some transformation modes have different amounts of stages than others and that's okay. + * All stages in order: Eyes, Hair & Skin, Ears & Tail & Wings & Species, Gender, Egg + */ + for(var/mob/living/carbon/human/H in touchable_mobs) + if(H.stat == DEAD) + continue + if(stabilize_nutrition) + if(O.nutrition > 400 && H.nutrition < 400) O.nutrition -= 2 - P.nutrition += 1.5 - - if(check_eyes(P) || check_hair(P)) - change_eyes(P) - change_hair(P,1) - -///////////////////////////// DM_TRANSFORM_MALE ///////////////////////////// - else if(mode == DM_TRANSFORM_MALE) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) + H.nutrition += 1.5 + if(changes_eyes && check_eyes(H)) + change_eyes(H, 1) + continue + if(changes_hair_solo && check_hair(H)) + change_hair(H) + continue + if(changes_hairandskin && (check_hair(H) || check_skin(H))) + change_hair(H) + change_skin(H, 1) + continue + if(changes_species) + if(changes_ears_tail_wing_nocolor && (check_ears(H) || check_tail_nocolor(H) || check_wing_nocolor(H) || check_species(H))) + change_ears(H) + change_tail_nocolor(H) + change_wing_nocolor(H) + change_species(H, 1, 1) // ,1) preserves coloring continue - - if(O.nutrition > 400 && P.nutrition < 400) - O.nutrition -= 2 - P.nutrition += 1.5 - - if(check_eyes(P)) - change_eyes(P,1) + if(changes_ears_tail_wing_color && (check_ears(H) || check_tail(H) || check_wing(H) || check_species(H))) + change_ears(H) + change_tail(H) + change_wing(H) + change_species(H, 1, 2) // ,2) does not preserve coloring. continue - - if(check_hair(P) || check_skin(P)) - change_hair(P) - change_skin(P,1) - continue - - if(check_gender(P,MALE)) - change_gender(P,MALE,1) - -///////////////////////////// DM_TRANSFORM_FEMALE ///////////////////////////// - else if(mode == DM_TRANSFORM_FEMALE) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue - - if(O.nutrition > 400 && P.nutrition < 400) - O.nutrition -= 2 - P.nutrition += 1.5 - - if(check_eyes(P)) - change_eyes(P,1) - continue - - if(check_hair(P) || check_skin(P)) - change_hair(P) - change_skin(P,1) - continue - - if(check_gender(P,FEMALE)) - change_gender(P,FEMALE,1) - -///////////////////////////// DM_TRANSFORM_KEEP_GENDER ///////////////////////////// - else if(mode == DM_TRANSFORM_KEEP_GENDER) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue - - if(O.nutrition > 400 && P.nutrition < 400) - O.nutrition -= 2 - P.nutrition += 1.5 - - if(check_eyes(P)) - change_eyes(P,1) - continue - - if(check_hair(P) || check_skin(P)) - change_hair(P) - change_skin(P,1) - -///////////////////////////// DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR ///////////////////////////// - else if(mode == DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue - - if(O.nutrition > 400 && P.nutrition < 400) - O.nutrition -= 2 - P.nutrition += 1.5 - - if(check_ears(P) || check_tail_nocolor(P) || check_wing_nocolor(P) || check_species(P)) - change_ears(P) - change_tail_nocolor(P) - change_wing_nocolor(P) - change_species(P,1,1) - -///////////////////////////// DM_TRANSFORM_REPLICA ///////////////////////////// - else if(mode == DM_TRANSFORM_REPLICA) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue - - if(O.nutrition > 400 && P.nutrition < 400) - O.nutrition -= 2 - P.nutrition += 1.5 - - if(check_eyes(P)) - change_eyes(P,1) - continue - - if(check_hair(P) || check_skin(P)) - change_hair(P) - change_skin(P,1) - continue - - if(check_ears(P) || check_tail(P) || check_wing(P) || check_species(P)) - change_ears(P) - change_tail(P) - change_wing(P) - change_species(P,1,2) - -///////////////////////////// DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR_EGG ///////////////////////////// - else if(mode == DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR_EGG) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue - - if(check_ears(P) || check_tail_nocolor(P) || check_wing_nocolor(P)|| check_species(P)) - change_ears(P) - change_tail_nocolor(P) - change_wing_nocolor(P) - change_species(P,1,1) - continue - - if(!P.absorbed) - put_in_egg(P,1) - -///////////////////////////// DM_TRANSFORM_KEEP_GENDER_EGG ///////////////////////////// - else if(mode == DM_TRANSFORM_KEEP_GENDER_EGG) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue - - if(check_eyes(P)) - change_eyes(P,1) - continue - - if(check_hair(P) || check_skin(P)) - change_hair(P) - change_skin(P,1) - continue - - if(!P.absorbed) - put_in_egg(P,1) - -///////////////////////////// DM_TRANSFORM_REPLICA_EGG ///////////////////////////// - else if(mode == DM_TRANSFORM_REPLICA_EGG) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue - - if(check_eyes(P)) - change_eyes(P,1) - continue - - if(check_hair(P) || check_skin(P)) - change_hair(P) - change_skin(P,1) - continue - - if(check_ears(P) || check_tail(P) || check_wing(P) || check_species(P)) - change_ears(P) - change_tail(P) - change_wing(P) - change_species(P,1,2) - continue - - if(!P.absorbed) - put_in_egg(P,1) - -///////////////////////////// DM_TRANSFORM_MALE_EGG ///////////////////////////// - else if(mode == DM_TRANSFORM_MALE_EGG) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue - - if(check_eyes(P)) - change_eyes(P,1) - continue - - if(check_hair(P) || check_skin(P)) - change_hair(P) - change_skin(P,1) - continue - - if(check_gender(P,MALE)) - change_gender(P,MALE,1) - continue - - if(!P.absorbed) - put_in_egg(P,1) - -///////////////////////////// DM_TRANSFORM_FEMALE_EGG ///////////////////////////// - else if(mode == DM_TRANSFORM_FEMALE_EGG) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.stat == DEAD) - continue - - if(check_eyes(P)) - change_eyes(P,1) - continue - - if(check_hair(P) || check_skin(P)) - change_hair(P) - change_skin(P,1) - continue - - if(check_gender(P,MALE)) - change_gender(P,MALE,1) - continue - - if(!P.absorbed) - put_in_egg(P,1) - -///////////////////////////// DM_EGG ///////////////////////////// - else if(mode == DM_EGG) - for (var/mob/living/carbon/human/P in touchable_mobs) - if(P.absorbed || P.stat == DEAD) - continue - - put_in_egg(P,1) - + if(changes_gender && check_gender(H, changes_gender_to)) + change_gender(H, changes_gender_to, 1) + continue + if(eggs && (!H.absorbed)) + put_in_egg(H, 1) + continue \ No newline at end of file diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 605fea6cd9..40d2b32a4e 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -1,41 +1,19 @@ // Process the predator's effects upon the contents of its belly (i.e digestion/transformation etc) -/obj/belly/proc/process_belly(var/times_fired,var/wait) //Passed by controller - if((times_fired < next_process) || !contents.len) - recent_sound = FALSE - return SSBELLIES_IGNORED +/obj/belly/process(wait) //Passed by controller + recent_sound = FALSE if(loc != owner) if(istype(owner)) loc = owner else qdel(src) - return SSBELLIES_PROCESSED + return - next_process = times_fired + (6 SECONDS/wait) //Set up our next process time. var/play_sound //Potential sound to play at the end to avoid code duplication. var/to_update = FALSE //Did anything update worthy happen? -/////////////////////////// Auto-Emotes /////////////////////////// - if(contents.len && next_emote <= times_fired) - next_emote = times_fired + round(emote_time/wait,1) - var/list/EL = emote_lists[digest_mode] - if(LAZYLEN(EL)) - for(var/mob/living/M in contents) - if(M.digestable || digest_mode != DM_DIGEST) // don't give digesty messages to indigestible people - to_chat(M,"[pick(EL)]") - ///////////////////// Prey Loop Refresh/hack ////////////////////// - for(var/mob/living/M in contents) - M.stop_sound_channel(CHANNEL_PREYLOOP) // sanity just in case, because byond is whack and you can't trust it - if(isbelly(M.loc)) //sanity check - if(world.time > M.next_preyloop) //We don't want it to overlap, but we also want it to replay. - if(is_wet && wet_loop) // Is it a fleshy environment, and does the pred have a fleshy heartbeat loop to play? - if(!M.client) - continue - if(M.is_preference_enabled(/datum/client_preference/digestion_noises)) //then we check if the mob has sounds enabled at all - var/sound/preyloop = sound('sound/vore/sunesound/prey/loop.ogg') - M.playsound_local(get_turf(src),preyloop, 80,0, channel = CHANNEL_PREYLOOP) - M.next_preyloop = (world.time + (52 SECONDS)) + prey_loop() /////////////////////////// Sound Selections /////////////////////////// var/sound/prey_digest @@ -56,36 +34,35 @@ /////////////////////////// Exit Early //////////////////////////// var/list/touchable_atoms = contents - items_preserved if(!length(touchable_atoms)) - return SSBELLIES_PROCESSED + return var/list/touchable_mobs = list() ///////////////////// Early Non-Mode Handling ///////////////////// - var/did_an_item = FALSE + if(contents.len && next_emote <= world.time) + next_emote = world.time + emote_time + var/list/EL = emote_lists[digest_mode] + if(LAZYLEN(EL)) + for(var/mob/living/M in contents) + if(M.digestable || digest_mode != DM_DIGEST) // don't give digesty messages to indigestible people + to_chat(M, "[pick(EL)]") + + var/did_an_item = FALSE // Only do one item per cycle. + var/digestion_noise_chance = 0 + for(var/A in touchable_atoms) //Handle stray items if(isitem(A) && !did_an_item) - var/obj/item/I = A - if(contaminates || istype(I,/obj/item/weapon/card/id)) - I.gurgle_contaminate(src, contamination_flavor, contamination_color) - if(item_digest_mode == IM_HOLD) - items_preserved |= I - else if(item_digest_mode == IM_DIGEST_FOOD) - if(istype(I,/obj/item/weapon/reagent_containers/food) || istype(I,/obj/item/organ)) - digest_item(I) - else - items_preserved |= I - if(prob(25)) //Less often than with normal digestion - play_sound = pick(pred_digest) - else if(item_digest_mode == IM_DIGEST) - if(I.digest_stage && I.digest_stage > 0) - digest_item(I) - else - digest_item(I) - did_an_item = TRUE + did_an_item = handle_digesting_item(A) + if(did_an_item) to_update = TRUE - if(prob(25)) //Less often than with normal digestion - play_sound = pick(pred_digest) + + //Less often than with normal digestion + if((item_digest_mode == IM_DIGEST_FOOD || item_digest_mode == IM_DIGEST) && prob(25)) + // This is a little weird, but the point of it is that we don't want to repeat code + // but we also want the prob(25) chance to run for -every- item we look at, not just once + // More gurgles the better~ + digestion_noise_chance = 25 //Handle eaten mobs else if(isliving(A)) @@ -105,278 +82,218 @@ H.bloodstr.add_reagent("numbenzyme",4) //Thickbelly flag - if(mode_flags & DM_FLAG_THICKBELLY) - if(!(H.muffled)) - H.muffled = 1 + if((mode_flags & DM_FLAG_THICKBELLY) && !H.muffled) + H.muffled = TRUE //Stripping flag if(mode_flags & DM_FLAG_STRIPPING) for(var/slot in slots) var/obj/item/I = H.get_equipped_item(slot = slot) - if(I) - H.unEquip(I,force = FALSE) - if(contaminates || istype(I,/obj/item/weapon/card/id)) - I.gurgle_contaminate(contents, contamination_flavor, contamination_color) - if(item_digest_mode == IM_HOLD) - items_preserved |= I - else if(item_digest_mode == IM_DIGEST_FOOD) - if(istype(I,/obj/item/weapon/reagent_containers/food) || istype(I,/obj/item/organ)) - digest_item(I) - else - items_preserved |= I - if(prob(25)) //Less often than with normal digestion - if(L && L.client && L.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(L,prey_digest) - play_sound = pick(pred_digest) - else if(item_digest_mode == IM_DIGEST) - digest_item(I) - if(prob(25)) //Less often than with normal digestion - if(L && L.client && L.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(L,prey_digest) - play_sound = pick(pred_digest) + if(I && H.unEquip(I, force = FALSE)) + handle_digesting_item(I) + digestion_noise_chance = 25 to_update = TRUE - break + break // Digest off one by one, not all at once + //get rid of things like blood drops and gibs that end up in there - else if(istype(A,/obj/effect/decal/cleanable/)) + else if(istype(A, /obj/effect/decal/cleanable)) qdel(A) -///////////////////////////// DM_HOLD ///////////////////////////// if(digest_mode == DM_HOLD) - return SSBELLIES_PROCESSED //Pretty boring, huh + //We deliberately do not want any gurgly noises if the belly is in DM_HOLD + if(to_update) + updateVRPanels() + return -//////////////////////////// DM_DIGEST //////////////////////////// - else if(digest_mode == DM_DIGEST) - - if(prob(50)) //Was SO OFTEN. AAAA. - for(var/mob/M in contents) - if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(M,prey_digest) - play_sound = pick(pred_digest) - - for (var/target in touchable_mobs) - var/mob/living/M = target - //Pref protection! - if (!M.digestable || M.absorbed) - continue - - //Person just died in guts! - if(M.stat == DEAD) - var/digest_alert_owner = pick(digest_messages_owner) - var/digest_alert_prey = pick(digest_messages_prey) - var/compensation = M.getOxyLoss() //How much of the prey's damage was caused by passive crit oxyloss to compensate the lost nutrition. - - //Replace placeholder vars - digest_alert_owner = replacetext(digest_alert_owner,"%pred",owner) - digest_alert_owner = replacetext(digest_alert_owner,"%prey",M) - digest_alert_owner = replacetext(digest_alert_owner,"%belly",lowertext(name)) - - digest_alert_prey = replacetext(digest_alert_prey,"%pred",owner) - digest_alert_prey = replacetext(digest_alert_prey,"%prey",M) - digest_alert_prey = replacetext(digest_alert_prey,"%belly",lowertext(name)) - - //Send messages - to_chat(owner,"" + digest_alert_owner + "") - to_chat(M,"" + digest_alert_prey + "") - - play_sound = pick(pred_death) - if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(M,prey_death) - if((mode_flags & DM_FLAG_LEAVEREMAINS) && M.digest_leave_remains) - handle_remains_leaving(M) - digestion_death(M) - if(!ishuman(owner)) - owner.update_icons() - if(compensation == 0) //Slightly sloppy way at making sure certain mobs don't give ZERO nutrition (fish and so on) - compensation = 21 //This reads as 20*4.5 due to the calculations afterward, making the backup nutrition value 94.5 per mob. Not op compared to regular prey. - if(compensation > 0) - if(isrobot(owner)) - var/mob/living/silicon/robot/R = owner - R.cell.charge += 25*compensation - else - owner.nutrition += (nutrition_percent / 100)*4.5*compensation - to_update = TRUE - - continue - - // Deal digestion damage (and feed the pred) - var/old_brute = M.getBruteLoss() - var/old_burn = M.getFireLoss() - M.adjustBruteLoss(digest_brute) - M.adjustFireLoss(digest_burn) - var/actual_brute = M.getBruteLoss() - old_brute - var/actual_burn = M.getFireLoss() - old_burn - var/damage_gain = actual_brute + actual_burn - - var/offset = (1 + ((M.weight - 137) / 137)) // 130 pounds = .95 140 pounds = 1.02 - var/difference = owner.size_multiplier / M.size_multiplier - if(isrobot(owner)) - var/mob/living/silicon/robot/R = owner - R.cell.charge += 25*damage_gain - if(offset) // If any different than default weight, multiply the % of offset. - owner.nutrition += offset*((nutrition_percent / 100)*4.5*(damage_gain)/difference) //4.5 nutrition points per health point. Normal same size 100+100 health prey with average weight would give 900 points if the digestion was instant. With all the size/weight offset taxes plus over time oxyloss+hunger taxes deducted with non-instant digestion, this should be enough to not leave the pred starved. - else - owner.nutrition += (nutrition_percent / 100)*4.5*(damage_gain)/difference - - -//////////////////////////// DM_ABSORB //////////////////////////// - else if(digest_mode == DM_ABSORB) - - for (var/target in touchable_mobs) - var/mob/living/M = target - if(M.absorbable == FALSE) - return - else - if(prob(10)) //Less often than gurgles. People might leave this on forever. - if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(M,prey_digest) - play_sound = pick(pred_digest) - - if(M.absorbed) - continue - - if(M.nutrition >= 100) //Drain them until there's no nutrients left. Slowly "absorb" them. - var/oldnutrition = (M.nutrition * 0.05) - M.nutrition = (M.nutrition * 0.95) - owner.nutrition += oldnutrition - else if(M.nutrition < 100) //When they're finally drained. - absorb_living(M) - to_update = TRUE - -//////////////////////////// DM_UNABSORB //////////////////////////// - else if(digest_mode == DM_UNABSORB) - - for (var/target in touchable_mobs) - var/mob/living/M = target - - if(M.absorbed && owner.nutrition >= 100) - M.absorbed = 0 - to_chat(M,"You suddenly feel solid again ") - to_chat(owner,"You feel like a part of you is missing.") - owner.nutrition -= 100 - to_update = TRUE - -//////////////////////////// DM_DRAIN //////////////////////////// - else if(digest_mode == DM_DRAIN) - - for (var/target in touchable_mobs) - var/mob/living/M = target - - if(prob(10)) //Less often than gurgles. People might leave this on forever. - if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(M,prey_digest) - play_sound = pick(pred_digest) - - if(M.nutrition >= 100) //Drain them until there's no nutrients left. - var/oldnutrition = (M.nutrition * 0.05) - M.nutrition = (M.nutrition * 0.95) - owner.nutrition += oldnutrition - -//////////////////////////// DM_SHRINK //////////////////////////// - else if(digest_mode == DM_SHRINK) - - for (var/target in touchable_mobs) - var/mob/living/M = target - - if(prob(10)) //Infinite gurgles! - if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(M,prey_digest) - play_sound = pick(pred_digest) - - if(M.size_multiplier > shrink_grow_size) //Shrink until smol. - M.resize(M.size_multiplier-0.01) //Shrink by 1% per tick. - - if(M.nutrition >= 100) //Absorbing bodymass results in nutrition if possible. - var/oldnutrition = (M.nutrition * 0.05) - M.nutrition = (M.nutrition * 0.95) - owner.nutrition += oldnutrition - -//////////////////////////// DM_GROW //////////////////////////// - else if(digest_mode == DM_GROW) - - for (var/target in touchable_mobs) - var/mob/living/M = target - - if(prob(10)) - if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(M,prey_digest) - play_sound = pick(pred_digest) - - if(M.size_multiplier < shrink_grow_size) //Grow until large. - M.resize(M.size_multiplier+0.01) //Grow by 1% per tick. - if(M.nutrition >= 100) - owner.nutrition = (owner.nutrition * 0.95) - -//////////////////////////// DM_SIZE_STEAL //////////////////////////// - else if(digest_mode == DM_SIZE_STEAL) - - for (var/target in touchable_mobs) - var/mob/living/M = target - - if(prob(10)) - if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(M,prey_digest) - play_sound = pick(pred_digest) - - if(M.size_multiplier > shrink_grow_size && owner.size_multiplier < 2) //Grow until either pred is large or prey is small. - owner.resize(owner.size_multiplier+0.01) //Grow by 1% per tick. - M.resize(M.size_multiplier-0.01) //Shrink by 1% per tick - - if(M.nutrition >= 100) - var/oldnutrition = (M.nutrition * 0.05) - M.nutrition = (M.nutrition * 0.95) - owner.nutrition += oldnutrition - -///////////////////////////// DM_HEAL ///////////////////////////// - else if(digest_mode == DM_HEAL) - - if(prob(50)) //Wet heals! The secret is you can leave this on for gurgle noises for fun. - for(var/mob/M in contents) - if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises)) - SEND_SOUND(M,prey_digest) - play_sound = pick(pred_digest) - - for (var/target in touchable_mobs) - var/mob/living/M = target - - if(M.stat == DEAD) - continue - - if(owner.nutrition > 90 && (M.health < M.maxHealth)) - M.adjustBruteLoss(-2.5) - M.adjustFireLoss(-2.5) - M.adjustToxLoss(-5) - M.adjustOxyLoss(-5) - M.adjustCloneLoss(-1.25) - owner.nutrition -= 2 - if(M.nutrition <= 400) - M.nutrition += 1 - else if(owner.nutrition > 90 && (M.nutrition <= 400)) - owner.nutrition -= 1 - M.nutrition += 1 - -/////////////////////////// DM_TRANSFORM /////////////////////////// - else if(digest_mode == DM_TRANSFORM) + if(digest_mode == DM_TRANSFORM) process_tf(tf_mode, touchable_mobs) + for(var/target in touchable_mobs) + var/mob/living/L = target + if(!istype(L)) + continue + switch(digest_mode) + if(DM_DIGEST) + digestion_noise_chance = 50 + //Pref protection! + if(!L.digestable || L.absorbed) + continue + + //Person just died in guts! + if(L.stat == DEAD) + play_sound = pred_death + if(L.is_preference_enabled(/datum/client_preference/digestion_noises)) + SEND_SOUND(L, prey_death) + handle_digestion_death(L) + to_update = TRUE + continue + + // Deal digestion damage (and feed the pred) + var/old_brute = L.getBruteLoss() + var/old_burn = L.getFireLoss() + L.adjustBruteLoss(digest_brute) + L.adjustFireLoss(digest_burn) + var/actual_brute = L.getBruteLoss() - old_brute + var/actual_burn = L.getFireLoss() - old_burn + var/damage_gain = actual_brute + actual_burn + + var/offset = (1 + ((L.weight - 137) / 137)) // 130 pounds = .95 140 pounds = 1.02 + var/difference = owner.size_multiplier / L.size_multiplier + if(isrobot(owner)) + var/mob/living/silicon/robot/R = owner + R.cell.charge += 25 * damage_gain + if(offset) // If any different than default weight, multiply the % of offset. + owner.nutrition += offset*((nutrition_percent / 100) * 4.5 * (damage_gain) / difference) //4.5 nutrition points per health point. Normal same size 100+100 health prey with average weight would give 900 points if the digestion was instant. With all the size/weight offset taxes plus over time oxyloss+hunger taxes deducted with non-instant digestion, this should be enough to not leave the pred starved. + else + owner.nutrition += (nutrition_percent / 100) * 4.5 * (damage_gain) / difference + if(DM_ABSORB) + if(!L.absorbable || L.absorbed) + continue + digestion_noise_chance = 10 + steal_nutrition(L) + if(L.nutrition < 100) + absorb_living(L) + to_update = TRUE + if(DM_UNABSORB) + if(L.absorbed && owner.nutrition >= 100) + L.absorbed = FALSE + to_chat(L, "You suddenly feel solid again.") + to_chat(owner,"You feel like a part of you is missing.") + owner.nutrition -= 100 + to_update = TRUE + if(DM_DRAIN) + digestion_noise_chance = 10 + steal_nutrition(L) + if(DM_SHRINK) + digestion_noise_chance = 10 + if(L.size_multiplier > shrink_grow_size) + L.resize(L.size_multiplier - 0.01) // Shrink by 1% per tick + steal_nutrition(L) + if(DM_GROW) + digestion_noise_chance = 10 + if(L.size_multiplier < shrink_grow_size) + L.resize(L.size_multiplier - 0.01) // Grow by 1% per tick + if(DM_SIZE_STEAL) + digestion_noise_chance = 10 + if(L.size_multiplier > shrink_grow_size && owner.size_multiplier < 2) //Grow until either pred is large or prey is small. + owner.resize(owner.size_multiplier+0.01) //Grow by 1% per tick. + L.resize(L.size_multiplier-0.01) //Shrink by 1% per tick + steal_nutrition(L) + if(DM_HEAL) + digestion_noise_chance = 50 //Wet heals! The secret is you can leave this on for gurgle noises for fun. + if(L.stat == DEAD) + continue // Can't heal the dead with healbelly + if(owner.nutrition > 90 && (L.health < L.maxHealth)) + L.adjustBruteLoss(-2.5) + L.adjustFireLoss(-2.5) + L.adjustToxLoss(-5) + L.adjustOxyLoss(-5) + L.adjustCloneLoss(-1.25) + owner.nutrition -= 2 + if(L.nutrition <= 400) + L.nutrition += 1 + else if(owner.nutrition > 90 && (L.nutrition <= 400)) + owner.nutrition -= 1 + L.nutrition += 1 + /////////////////////////// Make any noise /////////////////////////// + if(digestion_noise_chance && prob(digestion_noise_chance)) + for(var/mob/M in contents) + if(M && M.is_preference_enabled(/datum/client_preference/digestion_noises)) + SEND_SOUND(M, prey_digest) + play_sound = pred_digest + if(play_sound) - LAZYCLEARLIST(hearing_mobs) - for(var/mob/M in hearers(VORE_SOUND_RANGE, owner)) - if(!M.client || !(M.is_preference_enabled(/datum/client_preference/digestion_noises))) + for(var/mob/M in hearers(VORE_SOUND_RANGE, owner)) //so we don't fill the whole room with the sound effect + if(!M.is_preference_enabled(/datum/client_preference/digestion_noises)) continue - LAZYADD(hearing_mobs, M) - for(var/mob/M in hearing_mobs) //so we don't fill the whole room with the sound effect - if(M && M.client && (isturf(M.loc) || (M.loc != src.contents))) //to avoid people on the inside getting the outside sounds and their direct sounds + built in sound pref check + if(isturf(M.loc) || (M.loc != src)) //to avoid people on the inside getting the outside sounds and their direct sounds + built in sound pref check if(fancy_vore) M.playsound_local(owner.loc, play_sound, vol = 75, vary = 1, falloff = VORE_SOUND_FALLOFF) else M.playsound_local(owner.loc, play_sound, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF) //these are all external sound triggers now, so it's ok. + if(to_update) - for(var/mob/living/M in contents) - if(M.client) - M.updateVRPanel() - if(owner.client) - owner.updateVRPanel() + updateVRPanels() - return SSBELLIES_PROCESSED + return + +/obj/belly/proc/prey_loop() + for(var/mob/living/M in contents) + //We don't bother executing any other code if the prey doesn't want to hear the noises. + if(!M.is_preference_enabled(/datum/client_preference/digestion_noises)) + M.stop_sound_channel(CHANNEL_PREYLOOP) // sanity just in case, because byond is whack and you can't trust it + continue + + // We don't want the sounds to overlap, but we do want them to steadily replay. + // We also don't want the sounds to play if the pred hasn't marked this belly as fleshy, or doesn't + // have the right sounds to play. + if(isbelly(M.loc) && is_wet && wet_loop && (world.time > M.next_preyloop)) + M.stop_sound_channel(CHANNEL_PREYLOOP) + var/sound/preyloop = sound('sound/vore/sunesound/prey/loop.ogg') + M.playsound_local(get_turf(src), preyloop, 80, 0, channel = CHANNEL_PREYLOOP) + M.next_preyloop = (world.time + (52 SECONDS)) + +/obj/belly/proc/handle_digesting_item(obj/item/I) + var/did_an_item = FALSE + // We always contaminate IDs. + if(contaminates || istype(I, /obj/item/weapon/card/id)) + I.gurgle_contaminate(src, contamination_flavor, contamination_color) + + switch(item_digest_mode) + if(IM_HOLD) + items_preserved |= I + if(IM_DIGEST_FOOD) + if(istype(I,/obj/item/weapon/reagent_containers/food) || istype(I, /obj/item/organ)) + did_an_item = digest_item(I) + else + items_preserved |= I + if(IM_DIGEST) + did_an_item = digest_item(I) + return did_an_item + +/obj/belly/proc/handle_digestion_death(mob/living/M) + var/digest_alert_owner = pick(digest_messages_owner) + var/digest_alert_prey = pick(digest_messages_prey) + var/compensation = M.getOxyLoss() //How much of the prey's damage was caused by passive crit oxyloss to compensate the lost nutrition. + + //Replace placeholder vars + digest_alert_owner = replacetext(digest_alert_owner, "%pred", owner) + digest_alert_owner = replacetext(digest_alert_owner, "%prey", M) + digest_alert_owner = replacetext(digest_alert_owner, "%belly", lowertext(name)) + + digest_alert_prey = replacetext(digest_alert_prey, "%pred", owner) + digest_alert_prey = replacetext(digest_alert_prey, "%prey", M) + digest_alert_prey = replacetext(digest_alert_prey, "%belly", lowertext(name)) + + //Send messages + to_chat(owner, "[digest_alert_owner]") + to_chat(M, "[digest_alert_prey]") + + if((mode_flags & DM_FLAG_LEAVEREMAINS) && M.digest_leave_remains) + handle_remains_leaving(M) + digestion_death(M) + if(!ishuman(owner)) + owner.update_icons() + if(compensation == 0) //Slightly sloppy way at making sure certain mobs don't give ZERO nutrition (fish and so on) + compensation = 21 //This reads as 20*4.5 due to the calculations afterward, making the backup nutrition value 94.5 per mob. Not op compared to regular prey. + if(compensation > 0) + if(isrobot(owner)) + var/mob/living/silicon/robot/R = owner + R.cell.charge += 25*compensation + else + owner.nutrition += (nutrition_percent / 100)*4.5*compensation + +/obj/belly/proc/steal_nutrition(mob/living/L) + if(L.nutrition >= 100) + var/oldnutrition = (L.nutrition * 0.05) + L.nutrition = (L.nutrition * 0.95) + owner.nutrition += oldnutrition + +/obj/belly/proc/updateVRPanels() + for(var/mob/living/M in contents) + if(M.client) + M.updateVRPanel() + if(owner.client) + owner.updateVRPanel() \ No newline at end of file diff --git a/code/modules/vore/eating/contaminate_vr.dm b/code/modules/vore/eating/contaminate_vr.dm index 774d33331a..5bbbe902c7 100644 --- a/code/modules/vore/eating/contaminate_vr.dm +++ b/code/modules/vore/eating/contaminate_vr.dm @@ -22,7 +22,7 @@ var/list/gurgled_overlays = list( var/cleandesc var/gurgled_color -/obj/item/proc/gurgle_contaminate(var/atom/movable/item_storage = null, var/contamination_flavor = "Generic", var/contamination_color = "green") +/obj/item/proc/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green") if(!can_gurgle()) return FALSE @@ -65,28 +65,16 @@ var/list/gurgled_overlays = list( if(gurgled) decontaminate() -/obj/structure/sink/attackby(obj/item/O as obj, mob/user as mob) //Wash the soggy item before it can interact with the sink. - if(O.gurgled) - var/turf/location = user.loc - if(!isturf(location)) return - - var/obj/item/I = O - if(!I || !istype(I,/obj/item)) return - - to_chat(usr, "You start washing \the [I].") +/obj/structure/sink/attackby(obj/item/I, mob/user) //Wash the soggy item before it can interact with the sink. + if(istype(I) && I.gurgled) + to_chat(user, "You start washing [I].") busy = TRUE - sleep(40) + if(do_after(user, 40, src)) + I.clean_blood() + user.visible_message("[user] washes [I] using [src].", + "You wash [I] using [src].") busy = FALSE - - if(user.loc != location) return //User has moved - if(!I) return //Item's been destroyed while washing - if(user.get_active_hand() != I) return //Person has switched hands or the item in their hands - - O.clean_blood() - user.visible_message( \ - "[user] washes \a [I] using \the [src].", \ - "You wash \a [I] using \the [src].") else ..() diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm index e9cf239e66..df59ffb35d 100644 --- a/code/modules/vore/eating/digest_act_vr.dm +++ b/code/modules/vore/eating/digest_act_vr.dm @@ -3,10 +3,10 @@ //return non-negative integer: Amount of nutrition/charge gained (scaled to nutrition, other end can multiply for charge scale). // Ye default implementation. -/obj/item/proc/digest_act(var/atom/movable/item_storage = null) - if(istype(item_storage,/obj/item/device/dogborg/sleeper)) +/obj/item/proc/digest_act(atom/movable/item_storage = null) + if(istype(item_storage, /obj/item/device/dogborg/sleeper)) for(var/obj/item/O in contents) - if(istype(O,/obj/item/weapon/storage/internal)) //Dump contents from dummy pockets. + if(istype(O, /obj/item/weapon/storage/internal)) //Dump contents from dummy pockets. for(var/obj/item/SO in O) if(item_storage) SO.forceMove(item_storage) @@ -15,12 +15,15 @@ O.forceMove(item_storage) qdel(src) return w_class + var/g_damage = 1 if(digest_stage == null) digest_stage = w_class + if(isbelly(item_storage)) var/obj/belly/B = item_storage g_damage = 0.25 * (B.digest_brute + B.digest_burn) + if(digest_stage > 0) if(g_damage > digest_stage) g_damage = digest_stage @@ -65,16 +68,16 @@ // Some special treatment ///////////// //PDAs need to lose their ID to not take it with them, so we can get a digested ID -/obj/item/device/pda/digest_act(var/atom/movable/item_storage = null) +/obj/item/device/pda/digest_act(atom/movable/item_storage = null) if(id) - if(istype(item_storage,/obj/item/device/dogborg/sleeper) || (!isnull(digest_stage) && digest_stage <= 0)) + if(istype(item_storage, /obj/item/device/dogborg/sleeper) || (!isnull(digest_stage) && digest_stage <= 0)) id = null . = ..() /obj/item/weapon/card/id var/lost_access = list() -/obj/item/weapon/card/id/digest_act(var/atom/movable/item_storage = null) +/obj/item/weapon/card/id/digest_act(atom/movable/item_storage = null) desc = "A partially digested card that has seen better days. The damage appears to be only cosmetic, but the access codes need to be reprogrammed at the HoP office." icon = 'icons/obj/card_vr.dmi' icon_state = "[initial(icon_state)]_digested" @@ -83,7 +86,7 @@ access = list() // Then lose it return FALSE -/obj/item/weapon/reagent_containers/food/digest_act(var/atom/movable/item_storage = null) +/obj/item/weapon/reagent_containers/food/digest_act(atom/movable/item_storage = null) if(isbelly(item_storage)) var/obj/belly/B = item_storage if(ishuman(B.owner)) @@ -96,7 +99,7 @@ return w_class . = ..() -/obj/item/weapon/holder/digest_act(var/atom/movable/item_storage = null) +/obj/item/weapon/holder/digest_act(atom/movable/item_storage = null) for(var/mob/living/M in contents) if(item_storage) M.forceMove(item_storage) @@ -104,7 +107,7 @@ . = ..() -/obj/item/organ/digest_act(var/atom/movable/item_storage = null) +/obj/item/organ/digest_act(atom/movable/item_storage = null) if((. = ..())) if(isbelly(item_storage)) var/obj/belly/B = item_storage @@ -112,7 +115,7 @@ else . += 30 //Organs give a little more -/obj/item/weapon/storage/digest_act(var/atom/movable/item_storage = null) +/obj/item/weapon/storage/digest_act(atom/movable/item_storage = null) for(var/obj/item/I in contents) I.screen_loc = null @@ -121,7 +124,7 @@ ///////////// // Some more complicated stuff ///////////// -/obj/item/device/mmi/digital/posibrain/digest_act(var/atom/movable/item_storage = null) +/obj/item/device/mmi/digital/posibrain/digest_act(atom/movable/item_storage = null) //Replace this with a VORE setting so all types of posibrains can/can't be digested on a whim return FALSE diff --git a/code/modules/vore/eating/leave_remains_vr.dm b/code/modules/vore/eating/leave_remains_vr.dm index be515f51c3..a95adb094b 100644 --- a/code/modules/vore/eating/leave_remains_vr.dm +++ b/code/modules/vore/eating/leave_remains_vr.dm @@ -1,75 +1,62 @@ +/datum/species + var/skull_type = /obj/item/weapon/digestion_remains/skull +/datum/species/tajaran + skull_type = /obj/item/weapon/digestion_remains/skull/tajaran +/datum/species/unathi + skull_type = /obj/item/weapon/digestion_remains/skull/unathi +/datum/species/skrell + skull_type = /obj/item/weapon/digestion_remains/skull/skrell +/datum/species/spider + skull_type = /obj/item/weapon/digestion_remains/skull/vasilissan +/datum/species/akula + skull_type = /obj/item/weapon/digestion_remains/skull/akula +/datum/species/harpy + skull_type = /obj/item/weapon/digestion_remains/skull/rapala +/datum/species/vulpkanin + skull_type = /obj/item/weapon/digestion_remains/skull/vulpkanin +/datum/species/sergal + skull_type = /obj/item/weapon/digestion_remains/skull/sergal +/datum/species/hi_zorren + skull_type = /obj/item/weapon/digestion_remains/skull/zorren +/datum/species/nevrean + skull_type = /obj/item/weapon/digestion_remains/skull/nevrean +/datum/species/teshari + skull_type = /obj/item/weapon/digestion_remains/skull/teshari +/datum/species/vox + skull_type = /obj/item/weapon/digestion_remains/skull/vox + /obj/belly/proc/handle_remains_leaving(var/mob/living/M) - - if(istype(M,/mob/living/carbon/human)) //Are we even humanoid? - var/mob/living/carbon/human/H = M - - if((H.species.name in remainless_species) || H.isSynthetic()) //Don't leave anything if there is nothing to leave - return - - else - var/bones_amount = rand(2,3) //some random variety in amount of bones left - - if(prob(20)) //ribcage surviving whole is some luck - new /obj/item/weapon/digestion_remains/ribcage(src,owner) - bones_amount-- - - while(bones_amount) //throw in the rest - new /obj/item/weapon/digestion_remains(src,owner) - bones_amount-- - - var/skull_amount = 1 - switch(H.species.name) //oh boy here we go, finding us a right skull - if(SPECIES_HUMAN) - new /obj/item/weapon/digestion_remains/skull(src,owner) - skull_amount-- - if(SPECIES_TAJ) - new /obj/item/weapon/digestion_remains/skull/tajaran(src,owner) - skull_amount-- - if(SPECIES_UNATHI) - new /obj/item/weapon/digestion_remains/skull/unathi(src,owner) - skull_amount-- - if(SPECIES_SKRELL) - new /obj/item/weapon/digestion_remains/skull/skrell(src,owner) - skull_amount-- - if(SPECIES_VASILISSAN) - new /obj/item/weapon/digestion_remains/skull/vasilissan(src,owner) - skull_amount-- - if(SPECIES_AKULA) - new /obj/item/weapon/digestion_remains/skull/akula(src,owner) - skull_amount-- - if(SPECIES_RAPALA) - new /obj/item/weapon/digestion_remains/skull/rapala(src,owner) - skull_amount-- - if(SPECIES_VULPKANIN) - new /obj/item/weapon/digestion_remains/skull/vulpkanin(src,owner) - skull_amount-- - if(SPECIES_SERGAL) - new /obj/item/weapon/digestion_remains/skull/sergal(src,owner) - skull_amount-- - if(SPECIES_ZORREN_FLAT || SPECIES_ZORREN_HIGH) - new /obj/item/weapon/digestion_remains/skull/zorren(src,owner) - skull_amount-- - if(SPECIES_NEVREAN) - new /obj/item/weapon/digestion_remains/skull/nevrean(src,owner) - skull_amount-- - if(SPECIES_TESHARI) - new /obj/item/weapon/digestion_remains/skull/teshari(src,owner) - skull_amount-- - if(SPECIES_VOX) - new /obj/item/weapon/digestion_remains/skull/vox(src,owner) - skull_amount-- - if(SPECIES_XENOHYBRID) - new /obj/item/weapon/digestion_remains/skull/xenohybrid(src,owner) - skull_amount-- - if(skull_amount && H.species.selects_bodytype) //We still haven't found correct skull... - if(H.species.base_species == SPECIES_HUMAN) - new /obj/item/weapon/digestion_remains/skull/unknown(src,owner) - else - new /obj/item/weapon/digestion_remains/skull/unknown/anthro(src,owner) - else if(skull_amount) //Something entirely different... - new /obj/item/weapon/digestion_remains/skull/unknown(src,owner) - else + if(!ishuman(M)) //Are we even humanoid? return + var/mob/living/carbon/human/H = M + + if((H.species.name in remainless_species) || H.isSynthetic()) //Don't leave anything if there is nothing to leave + return + + var/bones_amount = rand(2,3) //some random variety in amount of bones left + if(prob(20)) //ribcage surviving whole is some luck + new /obj/item/weapon/digestion_remains/ribcage(src,owner) + bones_amount-- + + while(bones_amount) //throw in the rest + new /obj/item/weapon/digestion_remains(src,owner) + bones_amount-- + + var/skull_amount = 1 + if(H.species.skull_type) + new H.species.skull_type(src, owner) + skull_amount-- + + if(skull_amount && H.species.selects_bodytype) + // We still haven't found correct skull... + if(H.species.base_species == SPECIES_HUMAN) + new /obj/item/weapon/digestion_remains/skull/unknown(src,owner) + else + new /obj/item/weapon/digestion_remains/skull/unknown/anthro(src,owner) + else if(skull_amount) + // Something entirely different... + new /obj/item/weapon/digestion_remains/skull/unknown(src,owner) + /obj/item/weapon/digestion_remains name = "bone" @@ -83,7 +70,7 @@ var/pred_ckey var/pred_name -/obj/item/weapon/digestion_remains/New(var/newloc,var/mob/living/pred) +/obj/item/weapon/digestion_remains/New(newloc, mob/living/pred) ..(newloc) pred_ckey = pred.ckey pred_name = pred.name @@ -157,7 +144,3 @@ /obj/item/weapon/digestion_remains/skull/unknown/anthro icon_state = "skull_taj" - -/obj/item/weapon/digestion_remains/skull/xenohybrid - desc = "A bleached skull. It looks very weakened. Seems like it belonged to something with an elongated head." - icon_state = "skull_xenohybrid" \ No newline at end of file diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 298b1dd926..dc22534786 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -19,7 +19,6 @@ var/metabolism = 0.0015 var/vore_taste = null // What the character tastes like var/no_vore = FALSE // If the character/mob can vore. - var/openpanel = FALSE // Is the vore panel open? var/noisy = FALSE // Toggle audible hunger. var/absorbing_prey = 0 // Determines if the person is using the succubus drain or not. See station_special_abilities_vr. var/drain_finalized = 0 // Determines if the succubus drain will be KO'd/absorbed. Can be toggled on at any time. @@ -41,6 +40,7 @@ M.verbs += /mob/living/proc/switch_scaling if(M.no_vore) //If the mob isn't supposed to have a stomach, let's not give it an insidepanel so it can make one for itself, or a stomach. return TRUE + M.vorePanel = new M.verbs += /mob/living/proc/insidePanel //Tries to load prefs if a client is present otherwise gives freebie stomach @@ -88,26 +88,25 @@ // // Handle being clicked, perhaps with something to devour // -/mob/living/proc/vore_attackby(obj/item/I,mob/user) +/mob/living/proc/vore_attackby(obj/item/I, mob/user) //Handle case: /obj/item/weapon/grab - if(istype(I,/obj/item/weapon/grab)) + if(istype(I, /obj/item/weapon/grab)) var/obj/item/weapon/grab/G = I //Has to be aggressive grab, has to be living click-er and non-silicon grabbed - if((G.state >= GRAB_AGGRESSIVE) && (isliving(user) && !issilicon(G.affecting))) - + if(G.state >= GRAB_AGGRESSIVE && (isliving(user) && !issilicon(G.affecting))) var/mob/living/attacker = user // Typecast to living // src is the mob clicked on and attempted predator ///// If user clicked on themselves - if((src == G.assailant) && (is_vore_predator(src))) - if(!(G.affecting.devourable)) + if(src == G.assailant && is_vore_predator(src)) + if(!G.affecting.devourable) to_chat(user, "They aren't able to be devoured.") - log_and_message_admins("[key_name(src)] ([src.real_name]) attempted to devour [key_name(G.affecting)] ([G.affecting.real_name]) against their prefs ([G.affecting ? "JMP" : "null"])") - + log_and_message_admins("[key_name_admin(src)] attempted to devour [key_name_admin(G.affecting)] against their prefs ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])") return FALSE - if(src.feed_grabbed_to_self(src, G.affecting)) + + if(feed_grabbed_to_self(src, G.affecting)) qdel(G) return TRUE else @@ -115,57 +114,62 @@ ///// If user clicked on their grabbed target else if((src == G.affecting) && (attacker.a_intent == I_GRAB) && (attacker.zone_sel.selecting == BP_TORSO) && (is_vore_predator(G.affecting))) - if(!(G.affecting.feeding)) + if(!G.affecting.feeding) to_chat(user, "[G.affecting] isn't willing to be fed.") - log_and_message_admins("[key_name(src)] ([src.real_name]) attempted to feed themselves to [key_name(G.affecting)] ([G.affecting.real_name]) against their prefs ([G.affecting ? "JMP" : "null"])") + log_and_message_admins("[key_name_admin(src)] attempted to feed themselves to [key_name_admin(G.affecting)] against their prefs ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])") return FALSE - if (attacker.feed_self_to_grabbed(attacker, G.affecting)) + + if(attacker.feed_self_to_grabbed(attacker, G.affecting)) qdel(G) return TRUE else - log_debug("[attacker] attempted to feed [user] to [G.affecting] ([G.affecting.type]) but it failed.") + log_debug("[attacker] attempted to feed [user] to [G.affecting] ([G.affecting ? G.affecting.type : "null"]) but it failed.") ///// If user clicked on anyone else but their grabbed target else if((src != G.affecting) && (src != G.assailant) && (is_vore_predator(src))) - if(!(src.feeding)) + if(!feeding) to_chat(user, "[src] isn't willing to be fed.") - log_and_message_admins("[key_name(attacker)] ([attacker.real_name]) attempted to feed [key_name(G.affecting)] ([G.affecting.real_name]) to [key_name(src)] ([src.real_name]) against predator's prefs ([src ? "JMP" : "null"])") + log_and_message_admins("[key_name_admin(attacker)] attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] against predator's prefs ([src ? ADMIN_JMP(src) : "null"])") return FALSE if(!(G.affecting.devourable)) to_chat(user, "[G.affecting] isn't able to be devoured.") - log_and_message_admins("[key_name(attacker)] ([attacker.real_name]) attempted to feed [key_name(G.affecting)] ([G.affecting.real_name]) to [key_name(src)] ([src.real_name]) against prey's prefs ([G.affecting ? "JMP" : "null"])") + log_and_message_admins("[key_name_admin(attacker)] attempted to feed [key_name_admin(G.affecting)] to [key_name_admin(src)] against prey's prefs ([G.affecting ? ADMIN_JMP(G.affecting) : "null"])") return FALSE - - if (attacker.feed_grabbed_to_other(attacker, G.affecting, src)) + if(attacker.feed_grabbed_to_other(attacker, G.affecting, src)) qdel(G) return TRUE else - log_debug("[attacker] attempted to feed [G.affecting] to [src] ([src.type]) but it failed.") + log_debug("[attacker] attempted to feed [G.affecting] to [src] ([type]) but it failed.") //Handle case: /obj/item/weapon/holder - else if(istype(I,/obj/item/weapon/holder)) + else if(istype(I, /obj/item/weapon/holder)) var/obj/item/weapon/holder/H = I - if(!isliving(user)) return FALSE // return FALSE to continue upper procs - var/mob/living/attacker = user // Typecast to living + if(!isliving(user)) + return FALSE // return FALSE to continue upper procs - if (is_vore_predator(src)) - for (var/mob/living/M in H.contents) - if (attacker.eat_held_mob(attacker, M, src)) - if (H.held_mob == M) + var/mob/living/attacker = user // Typecast to living + if(is_vore_predator(src)) + for(var/mob/living/M in H.contents) + if(attacker.eat_held_mob(attacker, M, src)) + if(H.held_mob == M) H.held_mob = null return TRUE //return TRUE to exit upper procs else - log_debug("[attacker] attempted to feed [H.contents] to [src] ([src.type]) but it failed.") + log_debug("[attacker] attempted to feed [H.contents] to [src] ([type]) but it failed.") //Handle case: /obj/item/device/radio/beacon else if(istype(I,/obj/item/device/radio/beacon)) - var/confirm = alert(user, "[src == user ? "Eat the beacon?" : "Feed the beacon to [src]?"]", "Confirmation", "Yes!", "Cancel") + var/confirm = alert(user, + "[src == user ? "Eat the beacon?" : "Feed the beacon to [src]?"]", + "Confirmation", + "Yes!", "Cancel") if(confirm == "Yes!") - var/obj/belly/B = input("Which belly?","Select A Belly") as null|anything in vore_organs + var/obj/belly/B = input("Which belly?", "Select A Belly") as null|anything in vore_organs if(!istype(B)) return TRUE - visible_message("[user] is trying to stuff a beacon into [src]'s [lowertext(B.name)]!","[user] is trying to stuff a beacon into you!") + visible_message("[user] is trying to stuff a beacon into [src]'s [lowertext(B.name)]!", + "[user] is trying to stuff a beacon into you!") if(do_after(user,30,src)) user.drop_item() I.forceMove(B) @@ -179,7 +183,6 @@ // Our custom resist catches for /mob/living // /mob/living/proc/vore_process_resist() - //Are we resisting from inside a belly? if(isbelly(loc)) var/obj/belly/B = loc @@ -187,7 +190,6 @@ return TRUE //resist() on living does this TRUE thing. //Other overridden resists go here - return FALSE // @@ -243,7 +245,7 @@ // // Proc for applying vore preferences, given bellies // -/mob/living/proc/copy_from_prefs_vr() +/mob/living/proc/copy_from_prefs_vr(var/bellies = TRUE) if(!client || !client.prefs_vr) to_chat(src,"You attempted to apply your vore prefs but somehow you're in this character without a client.prefs_vr variable. Tell a dev.") return FALSE @@ -261,10 +263,11 @@ can_be_drop_prey = P.can_be_drop_prey can_be_drop_pred = P.can_be_drop_pred - release_vore_contents(silent = TRUE) - vore_organs.Cut() - for(var/entry in P.belly_prefs) - list_to_object(entry,src) + if(bellies) + release_vore_contents(silent = TRUE) + vore_organs.Cut() + for(var/entry in P.belly_prefs) + list_to_object(entry,src) return TRUE @@ -309,13 +312,12 @@ if(suit.hides_bulges) return FALSE - return ..() // // Clearly super important. Obviously. // -/mob/living/proc/lick(var/mob/living/tasted in living_mobs(1)) +/mob/living/proc/lick(mob/living/tasted in living_mobs(1)) set name = "Lick" set category = "IC" set desc = "Lick someone nearby!" @@ -401,11 +403,11 @@ // // Eating procs depending on who clicked what // -/mob/living/proc/feed_grabbed_to_self(var/mob/living/user, var/mob/living/prey) +/mob/living/proc/feed_grabbed_to_self(mob/living/user, mob/living/prey) var/belly = user.vore_selected return perform_the_nom(user, prey, user, belly) -/mob/living/proc/eat_held_mob(var/mob/living/user, var/mob/living/prey, var/mob/living/pred) +/mob/living/proc/eat_held_mob(mob/living/user, mob/living/prey, mob/living/pred) var/belly if(user != pred) belly = input("Choose Belly") in pred.vore_organs @@ -413,18 +415,18 @@ belly = pred.vore_selected return perform_the_nom(user, prey, pred, belly) -/mob/living/proc/feed_self_to_grabbed(var/mob/living/user, var/mob/living/pred) +/mob/living/proc/feed_self_to_grabbed(mob/living/user, mob/living/pred) var/belly = input("Choose Belly") in pred.vore_organs return perform_the_nom(user, user, pred, belly) -/mob/living/proc/feed_grabbed_to_other(var/mob/living/user, var/mob/living/prey, var/mob/living/pred) +/mob/living/proc/feed_grabbed_to_other(mob/living/user, mob/living/prey, mob/living/pred) var/belly = input("Choose Belly") in pred.vore_organs return perform_the_nom(user, prey, pred, belly) // // Master vore proc that actually does vore procedures // -/mob/living/proc/perform_the_nom(var/mob/living/user, var/mob/living/prey, var/mob/living/pred, var/obj/belly/belly, var/delay) +/mob/living/proc/perform_the_nom(mob/living/user, mob/living/prey, mob/living/pred, obj/belly/belly, delay) //Sanity if(!user || !prey || !pred || !istype(belly) || !(belly in pred.vore_organs)) log_debug("[user] attempted to feed [prey] to [pred], via [belly ? lowertext(belly.name) : "*null*"] but it went wrong.") @@ -443,11 +445,11 @@ // Prepare messages if(user == pred) //Feeding someone to yourself - attempt_msg = text("[] is attempting to [] [] into their []!",pred,lowertext(belly.vore_verb),prey,lowertext(belly.name)) - success_msg = text("[] manages to [] [] into their []!",pred,lowertext(belly.vore_verb),prey,lowertext(belly.name)) + attempt_msg = "[pred] is attempting to [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!" + success_msg = "[pred] manages to [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!" else //Feeding someone to another person - attempt_msg = text("[] is attempting to make [] [] [] into their []!",user,pred,lowertext(belly.vore_verb),prey,lowertext(belly.name)) - success_msg = text("[] manages to make [] [] [] into their []!",user,pred,lowertext(belly.vore_verb),prey,lowertext(belly.name)) + attempt_msg = "[user] is attempting to make [pred] [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!" + success_msg = "[user] manages to make [pred] [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!" // Announce that we start the attempt! user.visible_message(attempt_msg) @@ -476,10 +478,10 @@ to_chat(belly.owner, "[prey] tastes of [prey.get_taste_message(FALSE)].") // Inform Admins - if (pred == user) - add_attack_logs(pred,prey,"Eaten via [belly.name]") + if(pred == user) + add_attack_logs(pred, prey, "Eaten via [belly.name]") else - add_attack_logs(user,pred,"Forced to eat [key_name(prey)]") + add_attack_logs(user, pred, "Forced to eat [key_name(prey)]") return TRUE // @@ -521,7 +523,7 @@ to_chat(src,"You're pinned back underfoot!") to_chat(H,"You pin the escapee back underfoot!") return - if(src.loc != C) + if(loc != C) return sleep(1) @@ -537,7 +539,7 @@ to_chat(src,"You're pinned underfoot!") to_chat(H,"You pin the escapee underfoot!") return - if(src.loc != C) + if(loc != C) return sleep(1) to_chat(src,"You manage to escape \the [C]!") @@ -598,7 +600,7 @@ if(is_type_in_list(I,edible_trash) | adminbus_trash) if(I.hidden_uplink) to_chat(src, "You really should not be eating this.") - message_admins("[key_name(src)] has attempted to ingest an uplink item. ([src ? "JMP" : "null"])") + message_admins("[key_name(src)] has attempted to ingest an uplink item. ([src ? ADMIN_JMP(src) : "null"])") return if(istype(I,/obj/item/device/pda)) var/obj/item/device/pda/P = I @@ -687,6 +689,60 @@ to_chat(src, "This item is not appropriate for ethical consumption.") return +/mob/living/proc/eat_ore(var/obj/item/snack) + set name = "Eat Ore" + set category = "Abilities" + set desc = "Consume held ore and gems. Snack time!" + + if(!vore_selected) + to_chat(src, "You either don't have a belly selected, or don't have a belly!") + return + + var/obj/item/I = (snack ? snack : get_active_hand()) + if(!I) + to_chat(src, "You are not holding anything.") + return + + var/obj/item/weapon/ore/O = I + if(istype(O)) + //Eat the ore using the vorebelly for the sound then get rid of the ore to prevent infinite nutrition. + drop_item() + O.forceMove(vore_selected) + qdel(O) + + log_admin("VORE: [src] used Eat Ore to swallow [O].") + + //List in list, define by material property of ore in code/mining/modules/ore.dm. + //50 nutrition = 5 ore to get 250 nutrition. 250 is the beginning of the 'well fed' range. + var/list/rock_munch = list( + "uranium" = list("nutrition" = 30, "remark" = "Crunching [O] in your jaws almost makes you wince, a horridly tangy and sour flavour radiating through your mouth. It goes down all the same."), + "hematite" = list("nutrition" = 15, "remark" = "The familiar texture and taste of [O] does the job but leaves little to the imagination and hardly sates your appetite."), + "carbon" = list("nutrition" = 15, "remark" = "Utterly bitter, crunching down on [O] only makes you long for better things. But a snack's a snack..."), + "marble" = list("nutrition" = 40, "remark" = "A fitting dessert, the sweet and savoury [O] lingers on the palate and satisfies your hunger."), + "sand" = list("nutrition" = 0, "remark" = "You crunch on [O] but its texture is almost gag-inducing. Stifling a cough, you somehow manage to swallow both [O] and your regrets."), + "phoron" = list("nutrition" = 30, "remark" = "Crunching [O] to dust between your jaws, a warmth fills your mouth that briefly spreads down the throat to your chest as you swallow."), + "silver" = list("nutrition" = 40, "remark" = "[O] tastes quite nice indeed as you munch on it. A little tarnished, but that's just fine aging."), + "gold" = list("nutrition" = 40, "remark" = "You taste supreme richness that exceeds expectations and satisfies your hunger."), + "diamond" = list("nutrition" = 50, "remark" = "The heavenly taste of [O] almost brings a tear to your eye. Its glimmering gloriousness is even better on the tongue than you imagined, so you savour it fondly."), + "platinum" = list("nutrition" = 40, "remark" = "A bit tangy but elegantly balanced with a long faintly sour finish. Delectible."), + "mhydrogen" = list("nutrition" = 30, "remark" = "Quite sweet on the tongue, you savour the light and easy to chew [O], finishing it quickly."), + MAT_VERDANTIUM = list("nutrition" = 50, "remark" = "You taste scientific mystery and a rare delicacy. Your tastebuds tingle pleasantly as you eat [O] and the feeling warmly blossoms in your chest for a moment."), + MAT_LEAD = list("nutrition" = 40, "remark" = "It takes some work to break down [O] but you manage it, unlocking lasting tangy goodness in the process. Yum."), + ) + if(O.material in rock_munch) + var/S = rock_munch[O.material] + to_chat(src, "[S["remark"]]") + nutrition += S["nutrition"] + else //Handle everything else. + if(istype(O, /obj/item/weapon/ore/slag/)) + to_chat(src, "You taste dusty, crunchy mistakes. This is a travesty... but at least it is an edible one.") + nutrition += 15 + else //Random rock. + to_chat(src, "You taste stony, gravelly goodness - but you crave something with actual nutritional value.") + return + to_chat(src, "You pause for a moment to examine [I] and realize it's not even worth the energy to chew.") + return + /mob/living/proc/switch_scaling() set name = "Switch scaling mode" set category = "Preferences" diff --git a/code/modules/vore/eating/silicon_vr.dm b/code/modules/vore/eating/silicon_vr.dm index 9c8b2b3387..ba9e279043 100644 --- a/code/modules/vore/eating/silicon_vr.dm +++ b/code/modules/vore/eating/silicon_vr.dm @@ -37,7 +37,7 @@ playsound('sound/effects/stealthoff.ogg',50,0) bellied.forceMove(get_turf(src)) bellied.Weaken(2) - bellied.visible_message("[bellied] flops out of \the [src].","You flop out of \the [src].","You hear a thud.") + bellied.visible_message("[bellied] flops out of [src].","You flop out of [src].","You hear a thud.") bellied = null desc = "[initial(desc)]" @@ -64,7 +64,7 @@ //Already full if (hologram.bellied) - var/choice = alert("You can only contain one person. [hologram.bellied] is in you.","Already Full","Drop Mob","Cancel") + var/choice = alert("You can only contain one person. [hologram.bellied] is in you.", "Already Full", "Drop Mob", "Cancel") if(choice == "Drop Mob") hologram.drop_prey() return @@ -93,7 +93,7 @@ /mob/living/AIShiftClick(var/mob/user) //Shift-click as AI overridden on mobs to examine. if(user.client) - src.examine(user) + examine(user) return //This can go here with all the references. diff --git a/code/modules/vore/eating/simple_animal_vr.dm b/code/modules/vore/eating/simple_animal_vr.dm index 05e8e84601..9e68ad631a 100644 --- a/code/modules/vore/eating/simple_animal_vr.dm +++ b/code/modules/vore/eating/simple_animal_vr.dm @@ -6,21 +6,22 @@ // // Simple nom proc for if you get ckey'd into a simple_mob mob! Avoids grabs. // -/mob/living/simple_mob/proc/animal_nom(var/mob/living/T in living_mobs(1)) +/mob/living/simple_mob/proc/animal_nom(mob/living/T in living_mobs(1)) set name = "Animal Nom" set category = "IC" set desc = "Since you can't grab, you get a verb!" - if (stat != CONSCIOUS) + if(stat != CONSCIOUS) return - if (istype(src,/mob/living/simple_mob/animal/passive/mouse) && T.ckey == null) + // Verbs are horrifying. They don't call overrides. So we're stuck with this. + if(istype(src, /mob/living/simple_mob/animal/passive/mouse) && !T.ckey) + // Mice can't eat logged out players! return - if (client && IsAdvancedToolUser()) + if(client && IsAdvancedToolUser()) to_chat(src, "Put your hands to good use instead!") return feed_grabbed_to_self(src,T) update_icon() - return // // Simple proc for animals to have their digestion toggled on/off externally @@ -45,8 +46,7 @@ var/confirm = alert(user, "Enabling digestion on [name] will cause it to digest all stomach contents. Using this to break OOC prefs is against the rules. Digestion will reset after 20 minutes.", "Enabling [name]'s Digestion", "Enable", "Cancel") if(confirm == "Enable") vore_selected.digest_mode = DM_DIGEST - spawn(20 MINUTES) - if(src) vore_selected.digest_mode = vore_default_mode + addtimer(VARSET_CALLBACK(vore_selected, digest_mode, vore_default_mode), 20 MINUTES) else var/confirm = alert(user, "This mob is currently set to process all stomach contents. Do you want to disable this?", "Disabling [name]'s Digestion", "Disable", "Cancel") if(confirm == "Disable") @@ -69,28 +69,31 @@ to_chat(user, "[src] is now using [vore_selected.fancy_vore ? "Fancy" : "Classic"] vore sounds.") /mob/living/simple_mob/attackby(var/obj/item/O, var/mob/user) - if (istype(O, /obj/item/weapon/newspaper) && !(ckey || (ai_holder.hostile && faction != user.faction)) && isturf(user.loc)) - if (ai_holder.retaliate && prob(vore_pounce_chance/2)) // This is a gamble! + if(istype(O, /obj/item/weapon/newspaper) && !(ckey || (ai_holder.hostile && faction != user.faction)) && isturf(user.loc)) + if(ai_holder.retaliate && prob(vore_pounce_chance/2)) // This is a gamble! user.Weaken(5) //They get tackled anyway whether they're edible or not. - user.visible_message("\the [user] swats \the [src] with \the [O] and promptly gets tackled!!") - if (will_eat(user)) + user.visible_message("[user] swats [src] with [O] and promptly gets tackled!!") + if(will_eat(user)) set_AI_busy(TRUE) animal_nom(user) update_icon() set_AI_busy(FALSE) - else if (!ai_holder.target) // no using this to clear a retaliate mob's target + else if(!ai_holder.target) // no using this to clear a retaliate mob's target ai_holder.target = user //just because you're not tasty doesn't mean you get off the hook. A swat for a swat. //AttackTarget() //VOREStation AI Temporary Removal //LoseTarget() // only make one attempt at an attack rather than going into full rage mode else - user.visible_message("\the [user] swats \the [src] with \the [O]!!") + user.visible_message("[user] swats [src] with [O]!") release_vore_contents() for(var/mob/living/L in living_mobs(0)) //add everyone on the tile to the do-not-eat list for a while if(!(L in prey_excludes)) // Unless they're already on it, just to avoid fuckery. prey_excludes += L - spawn(5 MINUTES) - if(src && L) - prey_excludes -= L + addtimer(CALLBACK(src, .proc/removeMobFromPreyExcludes, weakref(L)), 5 MINUTES) else ..() +/mob/living/simple_mob/proc/removeMobFromPreyExcludes(weakref/target) + if(isweakref(target)) + var/mob/living/L = target.resolve() + if(L) + LAZYREMOVE(prey_excludes, L) diff --git a/code/modules/vore/eating/transforming_vr.dm b/code/modules/vore/eating/transforming_vr.dm index 2f261980ec..3e78920419 100644 --- a/code/modules/vore/eating/transforming_vr.dm +++ b/code/modules/vore/eating/transforming_vr.dm @@ -241,7 +241,6 @@ BI.forceMove(torso) torso.implants += BI - if(message) to_chat(M, "You lose sensation of your body, feeling only the warmth of everything around you... ") to_chat(O, "Your body shifts as you make dramatic changes to your captive's body.") diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm index ea77dd5c6b..9aaa4b0cef 100644 --- a/code/modules/vore/eating/vore_vr.dm +++ b/code/modules/vore/eating/vore_vr.dm @@ -70,7 +70,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE // // Check if an object is capable of eating things, based on vore_organs // -/proc/is_vore_predator(var/mob/living/O) +/proc/is_vore_predator(mob/living/O) if(istype(O,/mob/living)) if(O.vore_organs.len > 0) return TRUE @@ -87,8 +87,9 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE // // Save/Load Vore Preferences // -/datum/vore_preferences/proc/load_path(ckey,slot,filename="character",ext="json") - if(!ckey || !slot) return +/datum/vore_preferences/proc/load_path(ckey, slot, filename="character", ext="json") + if(!ckey || !slot) + return path = "data/player_saves/[copytext(ckey,1,2)]/[ckey]/vore/[filename][slot].[ext]" @@ -102,7 +103,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE load_path(client_ckey,slot) - if(!path) return FALSE //Path couldn't be set? + if(!path) + return FALSE //Path couldn't be set? if(!fexists(path)) //Never saved before save_vore() //Make the file first return TRUE @@ -151,7 +153,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE return TRUE /datum/vore_preferences/proc/save_vore() - if(!path) return FALSE + if(!path) + return FALSE var/version = VORE_VERSION //For "good times" use in the future var/list/settings_list = list( diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index d1800bb61e..5caf70d602 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -2,74 +2,78 @@ // Vore management panel for players // -#define BELLIES_MAX 30 +#define BELLIES_MAX 40 #define BELLIES_NAME_MIN 2 #define BELLIES_NAME_MAX 20 #define BELLIES_DESC_MAX 2048 #define FLAVOR_MAX 40 +/mob/living + var/datum/vore_look/vorePanel + /mob/living/proc/insidePanel() set name = "Vore Panel" set category = "IC" - var/datum/vore_look/picker_holder = new() - picker_holder.loop = picker_holder - picker_holder.selected = vore_selected + if(!vorePanel) + log_debug("[src] ([type], \ref[src]) didn't have a vorePanel and tried to use the verb.") + vorePanel = new - var/dat = picker_holder.gen_ui(src) - - picker_holder.popup = new(src, "insidePanel","Inside!", 450, 700, picker_holder) - picker_holder.popup.set_content(dat) - picker_holder.popup.open() - src.openpanel = 1 + vorePanel.selected = vore_selected + vorePanel.show(src) /mob/living/proc/updateVRPanel() //Panel popup update call from belly events. - if(src.openpanel == 1) - var/datum/vore_look/picker_holder = new() - picker_holder.loop = picker_holder - picker_holder.selected = vore_selected + if(!vorePanel) + log_debug("[src] ([type], \ref[src]) didn't have a vorePanel and something tried to update it.") + vorePanel = new - var/dat = picker_holder.gen_ui(src) - - picker_holder.popup = new(src, "insidePanel","Inside!", 450, 700, picker_holder) - picker_holder.popup.set_content(dat) - picker_holder.popup.open() + if(vorePanel.open) + vorePanel.selected = vore_selected + vorePanel.show(src) // // Callback Handler for the Inside form // /datum/vore_look + var/datum/browser/popup var/obj/belly/selected var/show_interacts = 0 - var/datum/browser/popup - var/loop = null; // Magic self-reference to stop the handler from being GC'd before user takes action. + var/open = FALSE /datum/vore_look/Destroy() - loop = null selected = null - return QDEL_HINT_HARDDEL // TODO - Until I can better analyze how this weird thing works, lets be safe + QDEL_NULL(popup) + . = ..() /datum/vore_look/Topic(href,href_list[]) - if (vp_interact(href, href_list)) + if(vp_interact(href, href_list)) popup.set_content(gen_ui(usr)) usr << output(popup.get_content(), "insidePanel.browser") +/datum/vore_look/proc/show(mob/living/user) + if(popup) + QDEL_NULL(popup) + popup = new(user, "insidePanel", "Inside!", 450, 700, src) + popup.set_content(gen_ui(user)) + popup.open() + open = TRUE + /datum/vore_look/proc/gen_ui(var/mob/living/user) var/dat var/atom/userloc = user.loc - if (isbelly(userloc)) + if(isbelly(userloc)) var/obj/belly/inside_belly = userloc var/mob/living/eater = inside_belly.owner //Don't display this part if we couldn't find the belly since could be held in hand. if(inside_belly) - dat += "You are currently [user.absorbed ? "absorbed into " : "inside "] [eater]'s [inside_belly]!

" + dat += "You are currently [user.absorbed ? "absorbed into " : "inside "] [eater]'s [inside_belly]!

" if(inside_belly.desc) dat += "[inside_belly.desc]

" - if (inside_belly.contents.len > 1) + if(inside_belly.contents.len > 1) dat += "You can see the following around you:
" for (var/atom/movable/O in inside_belly) if(istype(O,/mob/living)) @@ -374,11 +378,9 @@ /datum/vore_look/proc/vp_interact(href, href_list) var/mob/living/user = usr - for(var/H in href_list) - if(href_list["close"]) - qdel(src) // Cleanup - user.openpanel = 0 + open = FALSE + QDEL_NULL(popup) return if(href_list["show_int"]) diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index e4e4a08ac1..be065f66f4 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -1902,20 +1902,15 @@ Departamental Swimsuits, for general use return FALSE //Indigestible //Bacon12366:Elly Brown -/obj/item/clothing/accessory/sweater/fluff/star - name = "Star Sweater" - desc = "It's a black long sweater with a big blue star at the chest area. It was made to show person's left shoulder." +/obj/item/clothing/suit/storage/star + name = "Star hoodie" + desc = "It's a black long hoodie with a big blue star at the chest area. It's made of pretty soft material." icon = 'icons/vore/custom_clothes_vr.dmi' - icon_state = "star_sweater" + icon_state = "star_hoodie" icon_override = 'icons/vore/custom_clothes_vr.dmi' - item_state = "star_sweater" - - slot_flags = SLOT_OCLOTHING | SLOT_TIE - body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS - w_class = ITEMSIZE_NORMAL - slot = ACCESSORY_SLOT_OVER + item_state = "star_hoodie" //KillerDragn:Excess /obj/item/clothing/accessory/collar/pink/fluff/warning @@ -1945,4 +1940,18 @@ Departamental Swimsuits, for general use /obj/item/clothing/accessory/poncho/roles/cloak/hop/fluff/pip/equipped() //Because otherwise it gets reset every time ..() - icon_override = 'icons/vore/custom_clothes_vr.dmi' \ No newline at end of file + icon_override = 'icons/vore/custom_clothes_vr.dmi' + +//CappyCat:Cappy Fuzzlyfeathers +/obj/item/clothing/accessory/watch + name = "silver pocket watch" + desc = "A fancy silver-plated digital pocket watch. Looks expensive." + icon = 'icons/obj/deadringer.dmi' + icon_state = "deadringer" + w_class = ITEMSIZE_SMALL + slot_flags = SLOT_ID | SLOT_BELT | SLOT_TIE + +//Pimientopyro:Zaku Fyodorovna +/obj/item/clothing/suit/varsity/green/sweater_vest + name = "green sweater vest" + desc = "A green argyle sweater vest with a white undershirt, a must for long winter nights and looking like a dork." diff --git a/code/modules/vore/fluffstuff/custom_permits_vr.dm b/code/modules/vore/fluffstuff/custom_permits_vr.dm index 635b9831d4..e70b272cf6 100644 --- a/code/modules/vore/fluffstuff/custom_permits_vr.dm +++ b/code/modules/vore/fluffstuff/custom_permits_vr.dm @@ -6,19 +6,6 @@ to_chat(user, "You cannot reset the naming locks on [src]. It's issued by CentCom and totally tamper-proof!") return -//TFF 28/11/19 - Remove expired permit -/* -// jertheace:Jeremiah 'Ace' Acacius -/obj/item/clothing/accessory/permit/gun/fluff/ace - name = "Jeremiah Acacius's Sidearm Permit" - desc = "A card indicating that the owner is allowed to carry a sidearm. It is issued by CentCom, so it is valid until it expires on November 10th, 2563." -*/ - -// ValiTheWolf: Vakashi -/obj/item/clothing/accessory/permit/gun/fluff/Vakashi - name = "Vakashi's Sidearm Permit" - desc = "A card indicating that the owner is allowed to carry a sidearm that uses less-than-lethal munitions. It is issued by CentCom, so it is valid until it expires on March 1st, 2564." - /* Legacy Permits // BEGIN - PROTOTYPE /obj/item/clothing/accessory/permit/gun/fluff diff --git a/code/modules/vore/resizing/grav_pull_vr.dm b/code/modules/vore/resizing/grav_pull_vr.dm index 921d1ab2b9..64b8581aff 100644 --- a/code/modules/vore/resizing/grav_pull_vr.dm +++ b/code/modules/vore/resizing/grav_pull_vr.dm @@ -18,8 +18,8 @@ /datum/effect/effect/system/grav_pull/start() spawn(0) if(holder) - src.location = get_turf(holder) - for(var/i=0, i < number, i++) + location = get_turf(holder) + for(var/i = 0, i < number, i++) do_pull() sleep(25) @@ -29,35 +29,35 @@ defer_powernet_rebuild = 1 // Let's just make this one loop. - for(var/atom/X in orange(pull_radius, location)) + for(var/X in orange(pull_radius, location)) // Movable atoms only - if(istype(X, /atom/movable)) - if(istype(X, /obj/effect/overlay)) continue - if(X && !istype(X, /mob/living/carbon/human)) - if(break_windows && istype(X, /obj/structure/window)) //shatter windows - var/obj/structure/window/W = X - W.ex_act(2.0) + if(!ismovableatom(X) || istype(X, /obj/effect/overlay)) + continue - if(istype(X, /obj)) - var/obj/O = X - if(O.anchored) - if (!pull_anchored) continue // Don't pull anchored stuff unless configured - step_towards(X, location) // step just once if anchored - continue + if(ishuman(X)) + var/mob/living/carbon/human/H = X + if(istype(H.shoes, /obj/item/clothing/shoes/magboots)) + var/obj/item/clothing/shoes/magboots/M = H.shoes + if(M.magpulse) + step_towards(H, location) //step just once with magboots + continue + step_towards(H, location) //step twice + step_towards(H, location) + else + if(break_windows && istype(X, /obj/structure/window)) //shatter windows + var/obj/structure/window/W = X + W.ex_act(2.0) - step_towards(X, location) // Step twice - step_towards(X, location) + if(isobj(X)) + var/obj/O = X + if(O.anchored) + if(!pull_anchored) + continue // Don't pull anchored stuff unless configured + step_towards(X, location) // step just once if anchored + continue - else if(istype(X,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = X - if(istype(H.shoes,/obj/item/clothing/shoes/magboots)) - var/obj/item/clothing/shoes/magboots/M = H.shoes - if(M.magpulse) - step_towards(H, location) //step just once with magboots - continue - step_towards(H, location) //step twice - step_towards(H, location) + step_towards(X, location) // Step twice + step_towards(X, location) if(defer_powernet_rebuild != 2) defer_powernet_rebuild = 0 - return diff --git a/code/modules/vore/resizing/holder_micro_vr.dm b/code/modules/vore/resizing/holder_micro_vr.dm index 574be02e0f..b797ef4f5f 100644 --- a/code/modules/vore/resizing/holder_micro_vr.dm +++ b/code/modules/vore/resizing/holder_micro_vr.dm @@ -10,36 +10,34 @@ item_icons = list() // No in-hand sprites (for now, anyway, we could totally add some) pixel_y = 0 // Override value from parent. -/obj/item/weapon/holder/micro/examine(var/mob/user) +/obj/item/weapon/holder/micro/examine(mob/user) for(var/mob/living/M in contents) M.examine(user) -/obj/item/weapon/holder/MouseDrop(mob/M as mob) +/obj/item/weapon/holder/MouseDrop(mob/M) ..() if(M != usr) return if(usr == src) return if(!Adjacent(usr)) return - if(istype(M,/mob/living/silicon/ai)) return + if(isAI(M)) return for(var/mob/living/carbon/human/O in contents) O.show_inv(usr) /obj/item/weapon/holder/micro/attack_self(mob/living/carbon/user) //reworked so it works w/ nonhumans for(var/L in contents) - if(!isliving(L)) - continue - if(ishuman(L) && user.canClick()) + if(ishuman(L) && user.canClick()) // These canClicks() are repeated here to make sure users can't avoid the click delay var/mob/living/carbon/human/H = L H.help_shake_act(user) user.setClickCooldown(user.get_attack_speed()) //uses the same cooldown as regular attack_hand return - if(istype(L, /mob/living/simple_mob) && user.canClick()) + if(isanimal(L) && user.canClick()) var/mob/living/simple_mob/S = L user.visible_message("[user] [S.response_help] \the [S].") user.setClickCooldown(user.get_attack_speed()) /obj/item/weapon/holder/micro/update_state() - if(istype(loc,/turf) || !(held_mob) || !(held_mob.loc == src)) + if(isturf(loc) || !held_mob || held_mob.loc != src) qdel(src) /obj/item/weapon/holder/micro/Destroy() diff --git a/code/modules/vore/resizing/resize_vr.dm b/code/modules/vore/resizing/resize_vr.dm index e43ce011d0..f30ba72251 100644 --- a/code/modules/vore/resizing/resize_vr.dm +++ b/code/modules/vore/resizing/resize_vr.dm @@ -43,7 +43,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 var/matrix/M = matrix() M.Scale(size_multiplier) M.Translate(0, 16*(size_multiplier-1)) - src.transform = M + transform = M /** * Get the effective size of a mob. @@ -55,7 +55,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 return 100000 //Whatever it is, it's too big to pick up, or it's a ghost, or something. /mob/living/get_effective_size() - return src.size_multiplier + return size_multiplier /** * Resizes the mob immediately to the desired mod, animating it growing/shrinking. @@ -111,10 +111,11 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 var/nagmessage = "Adjust your mass to be a size between 25 to 200% (DO NOT ABUSE)" var/new_size = input(nagmessage, "Pick a Size") as num|null - if(new_size && ISINRANGE(new_size,25,200)) - src.resize(new_size/100) - message_admins("[key_name(src)] used the resize command in-game to be [new_size]% size. \ - ([src ? "JMP" : "null"])") + if(new_size && ISINRANGE(new_size, 25, 200)) + resize(new_size/100) + // I'm not entirely convinced that `src ? ADMIN_JMP(src) : "null"` here does anything + // but just in case it does, I'm leaving the null-src checking + message_admins("[key_name(src)] used the resize command in-game to be [new_size]% size. [src ? ADMIN_JMP(src) : "null"]") /* //Add the set_size() proc to usable verbs. By commenting this out, we can leave the proc and hand it to species that need it. @@ -127,7 +128,7 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 * Attempt to scoop up this mob up into H's hands, if the size difference is large enough. * @return false if normal code should continue, 1 to prevent normal code. */ -/mob/living/proc/attempt_to_scoop(var/mob/living/M, var/mob/living/G) //second one is for the Grabber, only exists for animals to self-grab +/mob/living/proc/attempt_to_scoop(mob/living/M, mob/living/G) //second one is for the Grabber, only exists for animals to self-grab var/size_diff = M.get_effective_size() - get_effective_size() if(!holder_default && holder_type) holder_default = holder_type @@ -156,37 +157,42 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 * Called from /mob/living/Bump() in the 'brohugs all around' section. * @return false if normal code should continue, true to prevent normal code. */ -/mob/living/proc/handle_micro_bump_helping(var/mob/living/tmob) +/mob/living/proc/handle_micro_bump_helping(mob/living/tmob) //Both small! Go ahead and go. - if(src.get_effective_size() <= RESIZE_A_SMALLTINY && tmob.get_effective_size() <= RESIZE_A_SMALLTINY) + if(get_effective_size() <= RESIZE_A_SMALLTINY && tmob.get_effective_size() <= RESIZE_A_SMALLTINY) return TRUE //Worthy of doing messages at all if(abs(get_effective_size() - tmob.get_effective_size()) >= 0.50) + var/src_message = null + var/tmob_message = null //Smaller person being stepped onto if(get_effective_size() > tmob.get_effective_size() && ishuman(src)) + src_message = "You carefully step over [tmob]." + tmob_message = "[src] steps over you carefully!" var/mob/living/carbon/human/H = src if(H.flying) return TRUE //Silently pass without a message. if(isTaurTail(H.tail_style)) var/datum/sprite_accessory/tail/taur/tail = H.tail_style - to_chat(src,STEP_TEXT_OWNER(tail.msg_owner_help_run)) - to_chat(tmob,STEP_TEXT_PREY(tail.msg_prey_help_run)) - else - to_chat(src,"You carefully step over [tmob].") - to_chat(tmob,"[src] steps over you carefully!") + src_message = tail.msg_owner_help_run + tmob_message = tail.msg_prey_help_run //Smaller person stepping under larger person - else if(tmob.get_effective_size() > get_effective_size() && ishuman(tmob)) + else if(get_effective_size() < tmob.get_effective_size() && ishuman(tmob)) + src_message = "You run between [tmob]'s legs." + tmob_message = "[src] runs between your legs." var/mob/living/carbon/human/H = tmob if(isTaurTail(H.tail_style)) var/datum/sprite_accessory/tail/taur/tail = H.tail_style - to_chat(src,STEP_TEXT_OWNER(tail.msg_prey_stepunder)) - to_chat(tmob,STEP_TEXT_PREY(tail.msg_owner_stepunder)) - else - to_chat(src,"You run between [tmob]'s legs.") - to_chat(tmob,"[src] runs between your legs.") + src_message = tail.msg_prey_stepunder + tmob_message = tail.msg_owner_stepunder + + if(src_message) + to_chat(src, STEP_TEXT_OWNER(src_message)) + if(tmob_message) + to_chat(tmob, STEP_TEXT_PREY(tmob_message)) return TRUE return FALSE @@ -196,202 +202,124 @@ var/const/RESIZE_A_SMALLTINY = (RESIZE_SMALL + RESIZE_TINY) / 2 * * @return false if normal code should continue, 1 to prevent normal code. */ -/mob/living/proc/handle_micro_bump_other(var/mob/living/tmob) +/mob/living/proc/handle_micro_bump_other(mob/living/tmob) ASSERT(istype(tmob)) - - //If they're flying, don't do any special interactions. - if(ishuman(src)) - var/mob/living/carbon/human/P = src - if(P.flying) - return - + //If we're flying, don't do any special interactions. + if(flying) + return //If the prey is flying, don't smush them. - if(ishuman(tmob)) - var/mob/living/carbon/human/D = tmob - if(D.flying) - return - - //They can't be stepping on anyone + if(tmob.flying) + return + //We can't be stepping on anyone if(!canmove || buckled) return //Test/set if human - var/mob/living/carbon/human/H - if(ishuman(src)) - H = src - else + var/mob/living/carbon/human/pred = src + if(!istype(pred)) //If we're not human, can't do the steppy return FALSE - var/mob/living/carbon/human/Ht - if(ishuman(tmob)) - Ht = tmob - else + var/mob/living/carbon/human/prey = tmob + if(!istype(prey)) //If they're not human, steppy shouldn't happen return FALSE - //Depending on intent... - switch(a_intent) + // We need to be above a certain size ratio in order to do anything to the prey. + // For DISARM and HURT intent, this is >=0.75, for GRAB it is >=0.5 + var/size_ratio = get_effective_size() - tmob.get_effective_size() + if(a_intent == I_GRAB && size_ratio < 0.5) + return FALSE + if((a_intent == I_DISARM || a_intent == I_HURT) && size_ratio < 0.75) + return FALSE + if(a_intent == I_HELP) // Theoretically not possible, but just in case. + return FALSE - //src stepped on someone with disarm intent - if(I_DISARM) - // If bigger than them by at least 0.75, move onto them and print message. - if((get_effective_size() - tmob.get_effective_size()) >= 0.75) - now_pushing = 0 - forceMove(tmob.loc) + now_pushing = 0 + forceMove(tmob.loc) + if(a_intent == I_GRAB || a_intent == I_DISARM) + tmob.resting = 1 - //Running on I_DISARM - if(m_intent == "run") - tmob.resting = 1 //Force them down to the ground. + var/size_damage_multiplier = size_multiplier - tmob.size_multiplier + // This technically means that I_GRAB will set this value to the same as I_HARM, but + // I_GRAB won't ever trigger the damage-giving code, so it doesn't matter. + // I_HARM: Rand 1-3 multiplied by 1 min or 1.75 max. 1 min 5.25 max damage to each limb. + // I_DISARM: Perform some HALLOSS damage to the smaller. + // Since stunned is broken, let's do this. Rand 15-30 multiplied by 1 min or 1.75 max. 15 holo to 52.5 holo, depending on RNG and size differnece. + var/damage = (a_intent == I_DISARM) ? (rand(15, 30) * size_damage_multiplier) : (rand(1, 3) * size_damage_multiplier) + // I_HARM only + var/calculated_damage = damage / 2 //This will sting, but not kill. Does .5 to 2.625 damage, randomly, to each limb. - //Log it for admins (as opposed to walk which logs damage) - add_attack_logs(src,tmob,"Pinned underfoot (run, no halloss)") + var/message_pred = null + var/message_prey = null + var/datum/sprite_accessory/tail/taur/tail = null + if(isTaurTail(pred.tail_style)) + tail = pred.tail_style - //Not a human, or not a taur, generic message only - if(!H || !isTaurTail(H.tail_style)) - to_chat(src,"You quickly push [tmob] to the ground with your foot!") - to_chat(tmob,"[src] pushes you down to the ground with their foot!") + if(a_intent == I_GRAB) + // You can only grab prey if you have no shoes on. + if(pred.shoes) + message_pred = "You step down onto [prey], squishing them and forcing them down to the ground!" + message_prey = "[pred] steps down and squishes you with their foot, forcing you down to the ground!" + if(tail) + message_pred = STEP_TEXT_OWNER(tail.msg_owner_grab_fail) + message_prey = STEP_TEXT_PREY(tail.msg_prey_grab_fail) + add_attack_logs(pred, prey,"Grabbed underfoot ([tail ? "taur" : "nontaur"], shoes)") + else + message_pred = "You pin [prey] down onto the floor with your foot and curl your toes up around their body, trapping them inbetween them!" + message_prey = "[pred] pins you down to the floor with their foot and curls their toes up around your body, trapping you inbetween them!" + if(tail) + message_pred = STEP_TEXT_OWNER(tail.msg_owner_grab_success) + message_prey = STEP_TEXT_PREY(tail.msg_prey_grab_success) + equip_to_slot_if_possible(prey.get_scooped(pred), slot_shoes, 0, 1) + add_attack_logs(pred, prey, "Grabbed underfoot ([tail ? "taur" : "nontaur"], no shoes)") - //Human with taur tail, special messages are sent - else - var/datum/sprite_accessory/tail/taur/tail = H.tail_style - to_chat(src,STEP_TEXT_OWNER("[tail.msg_owner_disarm_run]")) - to_chat(tmob,STEP_TEXT_PREY("[tail.msg_prey_disarm_run]")) + if(m_intent == "run") + switch(a_intent) + if(I_DISARM) + message_pred = "You quickly push [prey] to the ground with your foot!" + message_prey = "[pred] pushes you down to the ground with their foot!" + if(tail) + message_pred = STEP_TEXT_OWNER(tail.msg_owner_disarm_run) + message_prey = STEP_TEXT_PREY(tail.msg_prey_disarm_run) + add_attack_logs(pred, prey, "Pinned underfoot (run, no halloss)") + if(I_HURT) + message_pred = "You carelessly step down onto [prey], crushing them!" + message_prey = "[pred] steps carelessly on your body, crushing you!" + if(tail) + message_pred = STEP_TEXT_OWNER(tail.msg_owner_harm_run) + message_prey = STEP_TEXT_PREY(tail.msg_prey_harm_run) - //Walking on I_DISARM - else - //Perform some HALLOSS damage to the smaller. - var/size_damage_multiplier = (src.size_multiplier - tmob.size_multiplier) - var/damage = (rand(15,30)* size_damage_multiplier) //Since stunned is broken, let's do this. Rand 15-30 multiplied by 1 min or 1.75 max. 15 holo to 52.5 holo, depending on RNG and size differnece. - tmob.apply_damage(damage, HALLOSS) - tmob.resting = 1 + for(var/obj/item/organ/external/I in prey.organs) + I.take_damage(calculated_damage, 0) // 5 damage min, 26.25 damage max, depending on size & RNG. If they're only stepped on once, the damage will (probably not...) heal over time. + prey.drip(0.1) + add_attack_logs(pred, prey, "Crushed underfoot (run, about [calculated_damage] damage)") + else + switch(a_intent) + if(I_DISARM) + message_pred = "You firmly push your foot down on [prey], painfully but harmlessly pinning them to the ground!" + message_prey = "[pred] firmly pushes their foot down on you, quite painfully but harmlessly pinning you to the ground!" + if(tail) + message_pred = STEP_TEXT_OWNER(tail.msg_owner_disarm_walk) + message_prey = STEP_TEXT_PREY(tail.msg_prey_disarm_walk) + add_attack_logs(pred, prey, "Pinned underfoot (walk, about [damage] halloss)") + tmob.apply_damage(damage, HALLOSS) + if(I_HURT) + message_pred = "You methodically place your foot down upon [prey]'s body, slowly applying pressure, crushing them against the floor below!" + message_prey = "[pred] methodically places their foot upon your body, slowly applying pressure, crushing you against the floor below!" + if(tail) + message_pred = STEP_TEXT_OWNER(tail.msg_owner_harm_walk) + message_prey = STEP_TEXT_PREY(tail.msg_prey_harm_walk) + // Multiplies the above damage by 3.5. This means a min of 1.75 damage, or a max of 9.1875. damage to each limb, depending on size and RNG. + calculated_damage *= 3.5 + for(var/obj/item/organ/I in prey.organs) + I.take_damage(calculated_damage, 0) + prey.drip(3) + add_attack_logs(pred, prey, "Crushed underfoot (walk, about [calculated_damage] damage)") - //Log it for admins (as opposed to run which logs no damage) - add_attack_logs(src,tmob,"Pinned underfoot (walk, about [damage] halloss)") - - //Not a human, or not a taur, generic message only - if(!H || !isTaurTail(H.tail_style)) - to_chat(src,"You firmly push your foot down on [tmob], painfully but harmlessly pinning them to the ground!") - to_chat(tmob,"[src] firmly pushes their foot down on you, quite painfully but harmlessly pinning you to the ground!") - - //Human with taur tail, special messages are sent - else - var/datum/sprite_accessory/tail/taur/tail = H.tail_style - to_chat(src,STEP_TEXT_OWNER("[tail.msg_owner_disarm_walk]")) - to_chat(tmob,STEP_TEXT_PREY("[tail.msg_prey_disarm_walk]")) - - //Return true, the sizediff was enough that we handled it. - return TRUE - - //Not enough sizediff for I_DISARM to do anything. - else - return FALSE - - //src stepped on someone with harm intent - if(I_HURT) - // If bigger than them by at least 0.75, move onto them and print message. - if((get_effective_size() - tmob.get_effective_size()) >= 0.75) - now_pushing = 0 - forceMove(tmob.loc) - - //Precalculate base damage - var/size_damage_multiplier = (src.size_multiplier - tmob.size_multiplier) - var/damage = (rand(1,3)* size_damage_multiplier) //Rand 1-3 multiplied by 1 min or 1.75 max. 1 min 5.25 max damage to each limb. - var/calculated_damage = damage/2 //This will sting, but not kill. Does .5 to 2.625 damage, randomly, to each limb. - - //Running on I_HURT - if(m_intent == "run") - - //Not a human, or not a taur, generic message only - if(!H || !isTaurTail(H.tail_style)) - to_chat(src,"You carelessly step down onto [tmob], crushing them!") - to_chat(tmob,"[src] steps carelessly on your body, crushing you!") - - //Human with taur tail, special messages are sent - else - var/datum/sprite_accessory/tail/taur/tail = H.tail_style - to_chat(src,STEP_TEXT_OWNER("[tail.msg_owner_harm_run]")) - to_chat(tmob,STEP_TEXT_PREY("[tail.msg_prey_harm_run]")) - - //If they are a human, do damage (doesn't hurt other mobs...?) - if(Ht) - for(var/obj/item/organ/external/I in Ht.organs) - I.take_damage(calculated_damage, 0) // 5 damage min, 26.25 damage max, depending on size & RNG. If they're only stepped on once, the damage will (probably not...) heal over time. - Ht.drip(0.1) - add_attack_logs(src,tmob,"Crushed underfoot (run, about [calculated_damage] damage)") - - //Walking on I_HURT - else - //Multiplies the above damage by 3.5. This means a min of 1.75 damage, or a max of 9.1875. damage to each limb, depending on size and RNG. - calculated_damage *= 3.5 - - //If they are a human, do damage (doesn't hurt other mobs...?) - if(Ht) - for(var/obj/item/organ/I in Ht.organs) - I.take_damage(calculated_damage, 0) - Ht.drip(3) - add_attack_logs(src,tmob,"Crushed underfoot (walk, about [calculated_damage] damage)") - - //Not a human, or not a taur, generic message only - if(!H || !isTaurTail(H.tail_style)) - to_chat(src,"You methodically place your foot down upon [tmob]'s body, slowly applying pressure, crushing them against the floor below!") - to_chat(tmob,"[src] methodically places their foot upon your body, slowly applying pressure, crushing you against the floor below!") - - //Human with taur tail, special messages are sent - else - var/datum/sprite_accessory/tail/taur/tail = H.tail_style - to_chat(src,STEP_TEXT_OWNER("[tail.msg_owner_harm_walk]")) - to_chat(tmob,STEP_TEXT_PREY("[tail.msg_prey_harm_walk]")) - - //Return true, the sizediff was enough that we handled it. - return TRUE - - //Not enough sizediff for I_HURT to do anything. - else - return FALSE - - //src stepped on someone with grab intent - if(I_GRAB) - // If bigger than them by at least 0.50, move onto them and print message. - if((get_effective_size() - tmob.get_effective_size()) >= 0.50) - now_pushing = 0 - tmob.resting = 1 - forceMove(tmob.loc) - - //Not a human, or not a taur while wearing shoes = no grab - if(!H || (!isTaurTail(H.tail_style) && H.shoes)) - to_chat(src,"You step down onto [tmob], squishing them and forcing them down to the ground!") - to_chat(tmob,"[src] steps down and squishes you with their foot, forcing you down to the ground!") - add_attack_logs(src,tmob,"Grabbed underfoot (nontaur, shoes)") - - //Human, not a taur, but not wearing shoes = yes grab - else if(H && (!isTaurTail(H.tail_style) && !H.shoes)) - to_chat(src,"You pin [tmob] down onto the floor with your foot and curl your toes up around their body, trapping them inbetween them!") - to_chat(tmob,"[src] pins you down to the floor with their foot and curls their toes up around your body, trapping you inbetween them!") - equip_to_slot_if_possible(tmob.get_scooped(H), slot_shoes, 0, 1) - add_attack_logs(src,tmob,"Grabbed underfoot (nontaur, no shoes)") - - //Human, taur, shoes = no grab, special message - else if(H.shoes) - var/datum/sprite_accessory/tail/taur/tail = H.tail_style - to_chat(src,STEP_TEXT_OWNER("[tail.msg_owner_grab_fail]")) - to_chat(tmob,STEP_TEXT_PREY("[tail.msg_prey_grab_fail]")) - add_attack_logs(src,tmob,"Grabbed underfoot (taur, shoes)") - - //Human, taur, no shoes = yes grab, special message - else - var/datum/sprite_accessory/tail/taur/tail = H.tail_style - to_chat(src,STEP_TEXT_OWNER("[tail.msg_owner_grab_success]")) - to_chat(tmob,STEP_TEXT_PREY("[tail.msg_prey_grab_success]")) - equip_to_slot_if_possible(tmob.get_scooped(H), slot_shoes, 0, 1) - add_attack_logs(src,tmob,"Grabbed underfoot (taur, no shoes)") - - //Return true, the sizediff was enough that we handled it. - return TRUE - - //Not enough sizediff for I_GRAB to do anything. - else - return FALSE + to_chat(pred, "[message_pred]") + to_chat(prey, "[message_prey]") + return TRUE #undef STEP_TEXT_OWNER #undef STEP_TEXT_PREY \ No newline at end of file diff --git a/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm index 2c1dbe8d04..491ffdf7de 100644 --- a/code/modules/vore/resizing/sizegun_vr.dm +++ b/code/modules/vore/resizing/sizegun_vr.dm @@ -41,8 +41,8 @@ set category = "Object" set src in view(1) - var/size_select = input("Put the desired size (25-200%)", "Set Size", size_set_to*100) as num - if(size_select>200 || size_select<25) + var/size_select = input("Put the desired size (25-200%)", "Set Size", size_set_to * 100) as num + if(size_select > 200 || size_select < 25) to_chat(usr, "Invalid size.") return size_set_to = (size_select/100) @@ -69,24 +69,17 @@ tracer_type = /obj/effect/projectile/tracer/xray impact_type = /obj/effect/projectile/impact/xray - on_hit(var/atom/target) - var/mob/living/M = target - if(ishuman(target)) - var/mob/living/carbon/human/H = M - H.resize(set_size) - H.show_message(" The beam fires into your body, changing your size!") - H.updateicon() - else if (istype(target, /mob/living/)) - var/mob/living/H = M - H.resize(set_size) - H.updateicon() - else - return 1 - +/obj/item/projectile/beam/sizelaser/on_hit(var/atom/target) + var/mob/living/M = target + if(istype(M)) + M.resize(set_size) + to_chat(M, " The beam fires into your body, changing your size!") + M.updateicon() + return + return 1 /obj/item/projectile/beam/sizelaser/shrink set_size = 0.5 //50% of current size - /obj/item/projectile/beam/sizelaser/grow - set_size = 2.0 //200% of current size \ No newline at end of file + set_size = 2.0 //200% of current size diff --git a/code/modules/vore/trycatch_vr.dm b/code/modules/vore/trycatch_vr.dm index 78e91e91eb..396352aadc 100644 --- a/code/modules/vore/trycatch_vr.dm +++ b/code/modules/vore/trycatch_vr.dm @@ -25,6 +25,7 @@ The proc you're attemping should return nonzero values on success. catch(var/exception/e) error("attempt_vr runtimed when calling [procname] on [callon].") error("attempt_vr catch: [e] on [e.file]:[e.line]") + log_runtime(e) return 0 /* diff --git a/code/modules/vore/weight/fitness_machines_vr.dm b/code/modules/vore/weight/fitness_machines_vr.dm index 4a7c5fe2bb..733cb2faca 100644 --- a/code/modules/vore/weight/fitness_machines_vr.dm +++ b/code/modules/vore/weight/fitness_machines_vr.dm @@ -3,7 +3,7 @@ desc = "A utility often used to lose weight." icon = 'icons/obj/machines/fitness_machines_vr.dmi' anchored = 1 - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 0 active_power_usage = 0 var/messages @@ -11,7 +11,7 @@ var/cooldown = 10 var/weightloss_power = 1 -/obj/machinery/fitness/attack_hand(var/mob/living/user) +/obj/machinery/fitness/attack_hand(mob/living/user) if(user.nutrition < 70) to_chat(user, "You need more energy to workout with the [src]!") @@ -21,12 +21,12 @@ else //If they have enough nutrition and body weight, they can exercise. user.setClickCooldown(cooldown) user.nutrition -= 10 * weightloss_power - user.weight -= 0.025 * weightloss_power * (0.01*user.weight_loss) - flick("[icon_state]2",src) + user.weight -= 0.025 * weightloss_power * (0.01 * user.weight_loss) + flick("[icon_state]2", src) var/message = pick(messages) to_chat(user, "[message].") for(var/s in workout_sounds) - playsound(src.loc, s, 50, 1) + playsound(loc, s, 50, 1) /obj/machinery/fitness/punching_bag name = "punching bag" @@ -54,20 +54,20 @@ "You hammer the clown right in it's face with your fist", "A honk emits from the punching bag as you hit it") -/obj/machinery/fitness/heavy/attackby(obj/item/W, var/mob/living/user) +/obj/machinery/fitness/heavy/attackby(obj/item/W, mob/living/user) if(W.is_wrench()) - src.add_fingerprint(user) + add_fingerprint(user) user.visible_message("[user] has [anchored ? "un" : ""]secured \the [src].", "You [anchored ? "un" : ""]secure \the [src].") anchored = !anchored - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) return -/obj/machinery/fitness/heavy/attack_hand(var/mob/living/user) +/obj/machinery/fitness/heavy/attack_hand(mob/living/user) if(!anchored) to_chat(user, "For safety reasons, you are required to have this equipment wrenched down before using it!") return - else if(user.loc != src.loc) + else if(user.loc != loc) to_chat(user, "For safety reasons, you need to be sitting in the [src] for it to work!") return @@ -88,7 +88,7 @@ icon_state = "scale" desc = "A scale used to measure ones weight relative to their size and species." anchored = 1 // Set to 0 when we can construct or dismantle these. - use_power = 0 + use_power = USE_POWER_OFF idle_power_usage = 0 active_power_usage = 0 diff --git a/code/modules/xenoarcheaology/artifacts/artifact.dm b/code/modules/xenoarcheaology/artifacts/artifact.dm index 43ccbd9f3c..840c2096c5 100644 --- a/code/modules/xenoarcheaology/artifacts/artifact.dm +++ b/code/modules/xenoarcheaology/artifacts/artifact.dm @@ -271,7 +271,36 @@ warn = 1 if(warn) - to_chat(M, "You accidentally touch [src].") + to_chat(M, "You accidentally touch \the [src].") + ..() + +/obj/machinery/artifact/Bump(var/atom/bumped) + if(istype(bumped,/obj)) + if(bumped:throwforce >= 10) + if(my_effect.trigger == TRIGGER_FORCE) + my_effect.ToggleActivate() + if(secondary_effect && secondary_effect.trigger == TRIGGER_FORCE && prob(25)) + secondary_effect.ToggleActivate(0) + else if(ishuman(bumped) && GetAnomalySusceptibility(bumped) >= 0.5) + var/warn = 0 + + if (my_effect.trigger == TRIGGER_TOUCH && prob(50)) + my_effect.ToggleActivate() + warn = 1 + if(secondary_effect && secondary_effect.trigger == TRIGGER_TOUCH && prob(25)) + secondary_effect.ToggleActivate(0) + warn = 1 + + if (my_effect.effect == EFFECT_TOUCH && prob(50)) + my_effect.DoEffectTouch(bumped) + warn = 1 + if(secondary_effect && secondary_effect.effect == EFFECT_TOUCH && secondary_effect.activated && prob(50)) + secondary_effect.DoEffectTouch(bumped) + warn = 1 + + if(warn) + to_chat(bumped, "You accidentally touch \the [src] as it hits you.") + ..() /obj/machinery/artifact/bullet_act(var/obj/item/projectile/P) diff --git a/code/modules/xenoarcheaology/artifacts/autocloner.dm b/code/modules/xenoarcheaology/artifacts/autocloner.dm index ee774b31f9..28cb0a7360 100644 --- a/code/modules/xenoarcheaology/artifacts/autocloner.dm +++ b/code/modules/xenoarcheaology/artifacts/autocloner.dm @@ -10,7 +10,7 @@ density = 1 var/previous_power_state = 0 - use_power = 1 + use_power = USE_POWER_IDLE active_power_usage = 2000 idle_power_usage = 1000 @@ -55,7 +55,7 @@ //if we've finished growing... if(time_spent_spawning >= time_per_spawn) time_spent_spawning = 0 - use_power = 1 + update_use_power(USE_POWER_IDLE) src.visible_message("[bicon(src)] [src] pings!") icon_state = "cellold1" desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow." @@ -64,11 +64,11 @@ //if we're getting close to finished, kick into overdrive power usage if(time_spent_spawning / time_per_spawn > 0.75) - use_power = 2 + update_use_power(USE_POWER_ACTIVE) icon_state = "cellold2" desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow. A dark shape appears to be forming inside..." else - use_power = 1 + update_use_power(USE_POWER_IDLE) icon_state = "cellold1" desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow." diff --git a/code/modules/xenoarcheaology/artifacts/replicator.dm b/code/modules/xenoarcheaology/artifacts/replicator.dm index f28d5c2ef0..da5b123c16 100644 --- a/code/modules/xenoarcheaology/artifacts/replicator.dm +++ b/code/modules/xenoarcheaology/artifacts/replicator.dm @@ -7,7 +7,7 @@ idle_power_usage = 100 active_power_usage = 1000 - use_power = 1 + use_power = USE_POWER_IDLE var/spawn_progress_time = 0 var/max_spawn_time = 50 @@ -105,7 +105,7 @@ max_spawn_time = rand(30,100) if(!spawning_types.len || !stored_materials.len) - use_power = 1 + update_use_power(USE_POWER_IDLE) icon_state = "borgcharger0(old)" else if(prob(5)) @@ -146,7 +146,7 @@ spawning_types.Add(construction[construction[index]]) spawn_progress_time = 0 - use_power = 2 + update_use_power(USE_POWER_ACTIVE) icon_state = "borgcharger1(old)" else src.visible_message(fail_message) diff --git a/code/modules/xenoarcheaology/effects/animate_anomaly.dm b/code/modules/xenoarcheaology/effects/animate_anomaly.dm new file mode 100644 index 0000000000..c0c17e4aaf --- /dev/null +++ b/code/modules/xenoarcheaology/effects/animate_anomaly.dm @@ -0,0 +1,60 @@ + +/datum/artifact_effect/animate_anomaly + name = "animate anomaly" + effect_type = EFFECT_PSIONIC + var/mob/living/target = null + +/datum/artifact_effect/animate_anomaly/ToggleActivate(var/reveal_toggle = 1) + ..() + find_target() + +/datum/artifact_effect/animate_anomaly/New() + ..() + effectrange = max(3, effectrange) + +/datum/artifact_effect/animate_anomaly/proc/find_target() + if(!target || target.z != holder.z || get_dist(target, holder) > effectrange) + var/mob/living/ClosestMob = null + for(var/mob/living/L in range(effectrange, holder)) + if(!L.mind) + continue + if(!ClosestMob) + ClosestMob = L + continue + if(!L.stat) + if(get_dist(holder, L) < get_dist(holder, ClosestMob)) + ClosestMob = L + + target = ClosestMob + +/datum/artifact_effect/animate_anomaly/DoEffectTouch(var/mob/living/user) + var/obj/O = holder + var/turf/T = get_step_away(O, user) + + if(target && istype(T) && istype(O.loc, /turf)) + O.Move(T) + O.visible_message("\The [holder] lurches away from [user]") + +/datum/artifact_effect/animate_anomaly/DoEffectAura() + var/obj/O = holder + if(!target || target.z != O.z || get_dist(target, O) > effectrange) + target = null + find_target() + var/turf/T = get_step_to(O, target) + + if(target && istype(T) && istype(O.loc, /turf)) + if(get_dist(O, T) > 1) + O.Move(T) + O.visible_message("\The [holder] lurches toward [target]") + +/datum/artifact_effect/animate_anomaly/DoEffectPulse() + var/obj/O = holder + if(!target || target.z != O.z || get_dist(target, O) > effectrange) + target = null + find_target() + var/turf/T = get_step_to(O, target) + + if(target && istype(T) && istype(O.loc, /turf)) + if(get_dist(O, T) > 1) + O.Move(T) + O.visible_message("\The [holder] lurches toward [target]") diff --git a/code/modules/xenoarcheaology/effects/cannibal.dm b/code/modules/xenoarcheaology/effects/cannibal.dm new file mode 100644 index 0000000000..04a0b5a9e8 --- /dev/null +++ b/code/modules/xenoarcheaology/effects/cannibal.dm @@ -0,0 +1,75 @@ +/datum/artifact_effect/cannibalfeeling + name = "cannibalfeeling" + effect_type = EFFECT_PSIONIC + var/list/messages = list("You feel peckish.", + "Something doesn't feel right.", + "You get a strange feeling in your gut.", + "You feel particularly hungry.", + "You taste blood.", + "There's a strange feeling in the air.", + "There's a strange smell in the air.", + "The tips of your fingers feel tingly.", + "You feel twitchy.", + "You feel empty.", + "You've got a good feeling about this.", + "Your tongue prickles.", + "Are they clean?", + "You feel weak.", + "The ground is getting closer.", + "Something is missing.") + + var/list/drastic_messages = list("They look delicious.", + "They'll take what's yours!", + "They're full of meat.", + "What's happening to you?", + "Butcher them!", + "Feast!") + +/datum/artifact_effect/cannibalfeeling/DoEffectTouch(var/mob/user) + if(user) + if (istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + if(H.is_sentient()) + if(prob(50)) + if(prob(75)) + to_chat(H, "[pick(drastic_messages)]") + else + to_chat(H, "[pick(messages)]") + + if(prob(50)) + H.dizziness += rand(3,5) + H.nutrition = H.nutrition / 1.5 + +/datum/artifact_effect/cannibalfeeling/DoEffectAura() + if(holder) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/human/H in range(src.effectrange,T)) + if(H.is_sentient()) + if(prob(5)) + if(prob(75)) + to_chat(H, "[pick(messages)]") + else + to_chat(H, "[pick(drastic_messages)]") + + if(prob(10)) + H.dizziness += rand(3,5) + H.nutrition = H.nutrition / 2 + return 1 + +/datum/artifact_effect/cannibalfeeling/DoEffectPulse() + if(holder) + var/turf/T = get_turf(holder) + for (var/mob/living/carbon/human/H in range(src.effectrange,T)) + if(H.is_sentient()) + if(prob(50)) + if(prob(95)) + to_chat(H, "[pick(drastic_messages)]") + else + to_chat(H, "[pick(messages)]") + + if(prob(50)) + H.dizziness += rand(3,5) + else if(prob(25)) + H.dizziness += rand(5,15) + H.nutrition = H.nutrition / 4 + return 1 diff --git a/code/modules/xenoarcheaology/effects/electric_field.dm b/code/modules/xenoarcheaology/effects/electric_field.dm new file mode 100644 index 0000000000..3b27e8fe42 --- /dev/null +++ b/code/modules/xenoarcheaology/effects/electric_field.dm @@ -0,0 +1,69 @@ + +/datum/artifact_effect/electric_field + name = "electric field" + effect_type = EFFECT_ENERGY + +/datum/artifact_effect/electric_field/DoEffectTouch(var/mob/user) + var/list/nearby_mobs = list() + for(var/mob/living/L in oview(effectrange, get_turf(holder))) + if(L == user) // You're "grounded" when you contact the artifact. + continue + if(!L.stat) + nearby_mobs |= L + + for(var/obj/machinery/light/light in range(effectrange, get_turf(holder))) + light.flicker() + + for(var/mob/living/L in nearby_mobs) + if(L.isSynthetic()) + to_chat(L, "ERROR: Electrical fault detected!") + L.stuttering += 3 + + if(ishuman(L)) + var/mob/living/carbon/human/H = L + var/obj/item/organ/external/affected = H.get_organ(check_zone(BP_TORSO)) + H.electrocute_act(rand(25, 40), holder, H.get_siemens_coefficient_organ(affected), affected) + else + L.electrocute_act(rand(25, 40), holder, 0.75, BP_TORSO) + +/datum/artifact_effect/electric_field/DoEffectAura() + var/list/nearby_mobs = list() + for(var/mob/living/L in oview(effectrange, get_turf(holder))) + if(!L.stat) + nearby_mobs |= L + + for(var/obj/machinery/light/light in range(effectrange, get_turf(holder))) + light.flicker() + + for(var/mob/living/L in nearby_mobs) + if(L.isSynthetic()) + to_chat(L, "ERROR: Electrical fault detected!") + L.stuttering += 3 + + if(ishuman(L)) + var/mob/living/carbon/human/H = L + var/obj/item/organ/external/affected = H.get_organ(check_zone(BP_TORSO)) + H.electrocute_act(rand(1, 10), holder, H.get_siemens_coefficient_organ(affected), affected) + else + L.electrocute_act(rand(1, 10), holder, 0.75, BP_TORSO) + +/datum/artifact_effect/electric_field/DoEffectPulse() + var/list/nearby_mobs = list() + for(var/mob/living/L in oview(effectrange, get_turf(holder))) + if(!L.stat) + nearby_mobs |= L + + for(var/obj/machinery/light/light in range(effectrange, get_turf(holder))) + light.flicker() + + for(var/mob/living/L in nearby_mobs) + if(L.isSynthetic()) + to_chat(L, "ERROR: Electrical fault detected!") + L.stuttering += 3 + + if(ishuman(L)) + var/mob/living/carbon/human/H = L + var/obj/item/organ/external/affected = H.get_organ(check_zone(BP_TORSO)) + H.electrocute_act(rand(10, 30), holder, H.get_siemens_coefficient_organ(affected), affected) + else + L.electrocute_act(rand(10, 30), holder, 0.75, BP_TORSO) diff --git a/code/modules/xenoarcheaology/effects/feysight.dm b/code/modules/xenoarcheaology/effects/feysight.dm new file mode 100644 index 0000000000..379dc0cc54 --- /dev/null +++ b/code/modules/xenoarcheaology/effects/feysight.dm @@ -0,0 +1,43 @@ +/datum/artifact_effect/feysight + name = "feysight" + effect_type = EFFECT_PSIONIC + +/datum/artifact_effect/feysight/proc/apply_modifier(var/mob/living/L) + if(!istype(L)) + return FALSE + + if(!L.is_sentient()) + return FALSE // Drons are presumably deaf to any psionic things. + + if(L.add_modifier(/datum/modifier/feysight, 30 SECONDS)) + to_chat(L, "An otherworldly feeling seems to enter your mind, and you feel at peace.") + L.adjustHalLoss(10) + to_chat(L, "The inside of your head hurts...") + return TRUE + else + if(L.has_modifier_of_type(/datum/modifier/feysight)) + to_chat(L, "An otherworldly feeling seems to enter your mind again, and it holds the visions in place.") + else + to_chat(L, "An otherworldly feeling seems to enter your mind, and you briefly feel peace, but \ + it quickly passes.") + return FALSE + +/datum/artifact_effect/feysight/DoEffectTouch(var/mob/toucher) + if(toucher && isliving(toucher)) + apply_modifier(toucher) + return TRUE + +/datum/artifact_effect/feysight/DoEffectAura() + if(holder) + var/turf/T = get_turf(holder) + for(var/mob/living/L in range(src.effectrange,T)) + if(prob(10)) + apply_modifier(L) + return TRUE + +/datum/artifact_effect/feysight/DoEffectPulse() + if(holder) + var/turf/T = get_turf(holder) + for(var/mob/living/L in range(src.effectrange,T)) + apply_modifier(L) + return TRUE \ No newline at end of file diff --git a/code/modules/xenoarcheaology/effects/gaia.dm b/code/modules/xenoarcheaology/effects/gaia.dm new file mode 100644 index 0000000000..1a89149818 --- /dev/null +++ b/code/modules/xenoarcheaology/effects/gaia.dm @@ -0,0 +1,81 @@ + +/datum/artifact_effect/gaia + name = "gaia" + effect_type = EFFECT_ORGANIC + + var/list/my_glitterflies = list() + +/datum/artifact_effect/gaia/proc/age_plantlife(var/obj/machinery/portable_atmospherics/hydroponics/Tray = null) + if(istype(Tray) && Tray.seed) + Tray.health += rand(1,3) * HYDRO_SPEED_MULTIPLIER + Tray.age += 1 + + if(Tray.health > 0 && Tray.dead) + Tray.dead = FALSE + + Tray.check_health() + + if(!Tray.dead) + if((Tray.age > Tray.seed.get_trait(TRAIT_MATURATION)) && \ + ((Tray.age - Tray.lastproduce) > Tray.seed.get_trait(TRAIT_PRODUCTION)) && \ + (!Tray.harvest && !Tray.dead)) + Tray.harvest = 1 + Tray.lastproduce = Tray.age + + else if(istype(Tray, /obj/effect/plant)) + var/obj/effect/plant/P = Tray + Tray = P.plant + if(Tray) + age_plantlife(Tray) + P.update_icon() + +/datum/artifact_effect/gaia/DoEffectTouch(var/mob/user) + to_chat(user, "You feel the presence of something long forgotten.") + for(var/obj/machinery/portable_atmospherics/hydroponics/Tray in view(world.view,get_turf(holder))) + age_plantlife(Tray) + if(prob(30)) + var/mob/living/simple_mob/animal/sif/glitterfly/G = new(get_turf(Tray)) + + my_glitterflies |= G + + G.ai_holder.returns_home = TRUE + + for(var/obj/effect/plant/P in view(world.view,get_turf(holder))) + age_plantlife(P) + +/datum/artifact_effect/gaia/DoEffectAura() + for(var/obj/machinery/portable_atmospherics/hydroponics/Tray in view(effectrange,holder)) + age_plantlife(Tray) + if(prob(2)) + var/mob/living/simple_mob/animal/sif/glitterfly/G = new(get_turf(Tray)) + + my_glitterflies |= G + + G.ai_holder.returns_home = TRUE + + for(var/obj/effect/plant/P in view(effectrange,get_turf(holder))) + age_plantlife(P) + +/datum/artifact_effect/gaia/DoEffectPulse() + for(var/obj/machinery/portable_atmospherics/hydroponics/Tray in view(effectrange,holder)) + age_plantlife(Tray) + if(prob(10)) + var/mob/living/simple_mob/animal/sif/glitterfly/G = new(get_turf(Tray)) + + my_glitterflies |= G + + G.ai_holder.returns_home = TRUE + + for(var/obj/effect/plant/P in view(effectrange,get_turf(holder))) + age_plantlife(P) + +/datum/artifact_effect/gaia/process() + ..() + + listclearnulls(my_glitterflies) + + for(var/mob/living/L in my_glitterflies) + if(L.stat == DEAD) + my_glitterflies -= L + + L.ai_holder.home_turf = get_turf(holder) diff --git a/code/modules/xenoarcheaology/effects/gravitational_waves.dm b/code/modules/xenoarcheaology/effects/gravitational_waves.dm new file mode 100644 index 0000000000..8483d23d4b --- /dev/null +++ b/code/modules/xenoarcheaology/effects/gravitational_waves.dm @@ -0,0 +1,25 @@ + +/datum/artifact_effect/gravity_wave + name = "gravity wave" + effect_type = EFFECT_ENERGY + + var/last_wave_pull = 0 + +/datum/artifact_effect/gravity_wave/DoEffectTouch(var/mob/user) + gravwave(user, effectrange, STAGE_TWO) + +/datum/artifact_effect/gravity_wave/DoEffectAura() + var/seconds_since_last_pull = max(0, round((last_wave_pull - world.time) / 10)) + + if(prob(10 + seconds_since_last_pull)) + holder.visible_message("\The [holder] distorts as local gravity intensifies, and shifts toward it.") + last_wave_pull = world.time + gravwave(get_turf(holder), effectrange, STAGE_TWO) + +/datum/artifact_effect/gravity_wave/DoEffectPulse() + holder.visible_message("\The [holder] distorts as local gravity intensifies, and shifts toward it.") + gravwave(get_turf(holder), effectrange, STAGE_TWO) + +proc/gravwave(var/atom/target, var/pull_range = 7, var/pull_power = STAGE_TWO) + for(var/atom/A in oview(pull_range, target)) + A.singularity_pull(target, pull_power) diff --git a/code/modules/xenoarcheaology/effects/poltergeist.dm b/code/modules/xenoarcheaology/effects/poltergeist.dm new file mode 100644 index 0000000000..189c0ea4cd --- /dev/null +++ b/code/modules/xenoarcheaology/effects/poltergeist.dm @@ -0,0 +1,47 @@ + +/datum/artifact_effect/poltergeist + name = "poltergeist" + effect_type = EFFECT_ENERGY + +/datum/artifact_effect/poltergeist/proc/throw_at_mob(var/mob/living/target, var/damage = 20) + var/list/valid_targets = list() + + for(var/obj/O in oview(world.view, target)) + if(!O.anchored && isturf(O.loc)) + valid_targets |= O + + if(valid_targets.len) + var/obj/obj_to_throw = pick(valid_targets) + obj_to_throw.visible_message("\The [obj_to_throw] levitates, befure hurtling toward [target]!") + obj_to_throw.throw_at(target, world.view, min(40, damage * GetAnomalySusceptibility(target))) + +/datum/artifact_effect/poltergeist/DoEffectTouch(var/mob/user) + throw_at_mob(user, rand(10, 30)) + +/datum/artifact_effect/poltergeist/DoEffectAura() + var/mob/living/target = null + for(var/mob/living/L in oview(get_turf(holder), effectrange)) + if(L.stat || !L.mind) + continue + + if(target && get_dist(get_turf(holder), L) > get_dist(get_turf(holder), target)) + continue + + target = L + + if(target) + throw_at_mob(target, rand(15, 30)) + +/datum/artifact_effect/poltergeist/DoEffectPulse() + var/mob/living/target = null + for(var/mob/living/L in oview(get_turf(holder), effectrange)) + if(L.stat || !L.mind) + continue + + if(target && get_dist(get_turf(holder), L) > get_dist(get_turf(holder), target)) + continue + + target = L + + if(target) + throw_at_mob(target, chargelevelmax) diff --git a/code/modules/xenoarcheaology/effects/resurrect.dm b/code/modules/xenoarcheaology/effects/resurrect.dm new file mode 100644 index 0000000000..e54ca276ea --- /dev/null +++ b/code/modules/xenoarcheaology/effects/resurrect.dm @@ -0,0 +1,100 @@ +/datum/artifact_effect/resurrect + name = "resurrect" + effect_type = EFFECT_ORGANIC + + var/stored_life = 0 + +/datum/artifact_effect/resurrect/proc/steal_life(var/mob/living/target = null) + if(!istype(target)) + return 0 + + if(target.stat != DEAD && stored_life < 200) + holder.Beam(target, icon_state = "drain_life", time = 1 SECOND) + target.apply_damage(5, SEARING, BP_TORSO) + return 5 + + return 0 + +/datum/artifact_effect/resurrect/proc/give_life(var/mob/living/target = null) + if(!istype(target)) + return + + if(target.stat == DEAD && stored_life) + holder.Beam(target, icon_state = "lichbeam", time = 1 SECOND) + target.adjustBruteLoss(-5) + target.adjustFireLoss(-5) + target.adjustCloneLoss(-5) + target.adjustOxyLoss(-5) + target.adjustHalLoss(-5) + target.adjustToxLoss(-5) + stored_life = max(0, stored_life - 5) + + if(target.health > (target.maxHealth / 4)) + attempt_revive(target) + stored_life = 0 + +/datum/artifact_effect/resurrect/proc/attempt_revive(var/mob/living/L = null) + spawn() + if(istype(L, /mob/living/simple_mob)) + var/mob/living/simple_mob/SM = L + SM.adjustBruteLoss(-40) + SM.adjustFireLoss(-40) + SM.health = SM.getMaxHealth() / 3 + SM.stat = CONSCIOUS + dead_mob_list -= SM + living_mob_list += SM + SM.update_icon() + SM.revive() + holder.visible_message("\The [SM]'s eyes open in a flash of light!") + else if(ishuman(L)) + var/mob/living/carbon/human/H = L + + if(!H.client && H.mind) + for(var/mob/observer/dead/ghost in player_list) + if(ghost.mind == H.mind) + to_chat(ghost, "An artifact is trying to \ + revive you. Return to your body if you want to be resurrected! \ + (Verbs -> Ghost -> Re-enter corpse)") + break + + H.adjustBruteLoss(-40) + H.adjustFireLoss(-40) + + sleep(10 SECONDS) + if(H.client) + L.stat = CONSCIOUS + dead_mob_list -= H + living_mob_list += H + H.timeofdeath = null + + holder.visible_message("\The [H]'s eyes open in a flash of light!") + +/datum/artifact_effect/resurrect/DoEffectTouch(var/mob/user) + for(var/mob/living/L in oview(effectrange, get_turf(holder))) + stored_life += 4 * steal_life(L) + + var/turf/T = get_turf(holder) + for(var/mob/living/L in T) + if(L.stat == DEAD) + give_life(L) + break + +/datum/artifact_effect/resurrect/DoEffectAura() + for(var/mob/living/L in oview(effectrange, get_turf(holder))) + stored_life += steal_life(L) + + var/turf/T = get_turf(holder) + for(var/mob/living/L in T) + if(L.stat == DEAD) + give_life(L) + break + +/datum/artifact_effect/resurrect/DoEffectPulse() + for(var/mob/living/L in oview(effectrange, get_turf(holder))) + stored_life += 2 * steal_life(L) + + var/turf/T = get_turf(holder) + for(var/mob/living/L in T) + if(L.stat == DEAD) + give_life(L) + break diff --git a/code/modules/xenoarcheaology/effects/vampire.dm b/code/modules/xenoarcheaology/effects/vampire.dm new file mode 100644 index 0000000000..ee75ea5ba1 --- /dev/null +++ b/code/modules/xenoarcheaology/effects/vampire.dm @@ -0,0 +1,86 @@ + +/datum/artifact_effect/vampire + name = "vampire" + effect_type = EFFECT_ORGANIC + var/last_bloodcall = 0 + var/bloodcall_interval = 50 + var/last_eat = 0 + var/eat_interval = 100 + var/charges = 0 + var/list/nearby_mobs = list() + +/datum/artifact_effect/vampire/proc/bloodcall(var/mob/living/carbon/human/M) + last_bloodcall = world.time + if(istype(M)) + playsound(holder.loc, pick('sound/hallucinations/wail.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/far_noise.ogg'), 50, 1, -3) + + var/target = pick(M.organs_by_name) + M.apply_damage(rand(5, 10), SEARING, target) + to_chat(M, "The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out.") + var/obj/effect/decal/cleanable/blood/splatter/animated/B = new(M.loc) + B.basecolor = M.species.get_blood_colour(M) + B.color = M.species.get_blood_colour(M) + B.target_turf = pick(range(1, get_turf(holder))) + B.blood_DNA = list() + B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type + M.vessel.remove_reagent("blood",rand(25,50)) + +/datum/artifact_effect/vampire/DoEffectTouch(var/mob/user) + bloodcall(user) + DoEffectAura() + +/datum/artifact_effect/vampire/DoEffectAura() + nearby_mobs.Cut() + + var/turf/T = get_turf(holder) + + for(var/mob/living/L in oview(effectrange, T)) + if(!L.stat && L.mind) + nearby_mobs |= L + + if(world.time - last_bloodcall > bloodcall_interval && nearby_mobs.len) + var/mob/living/carbon/human/M = pick(nearby_mobs) + if(M in view(effectrange,holder) && M.health > 20) + if(prob(50)) + bloodcall(M) + holder.Beam(M, icon_state = "drainbeam", time = 1 SECOND) + + if(world.time - last_eat > eat_interval) + var/obj/effect/decal/cleanable/blood/B = locate() in range(2,holder) + if(B) + last_eat = world.time + B.loc = null + if(istype(B, /obj/effect/decal/cleanable/blood/drip)) + charges += 0.25 + else + charges += 1 + playsound(holder.loc, 'sound/effects/splat.ogg', 50, 1, -3) + + qdel(B) + + if(charges >= 10) + charges -= 10 + var/manifestation = pick(/obj/item/device/soulstone, /mob/living/simple_mob/faithless/cult/strong, /mob/living/simple_mob/creature/cult/strong, /mob/living/simple_mob/animal/space/bats/cult/strong) + new manifestation(get_turf(pick(view(1,T)))) + + if(charges >= 3) + if(prob(5)) + charges -= 1 + var/spawn_type = pick(/mob/living/simple_mob/animal/space/bats, /mob/living/simple_mob/creature, /mob/living/simple_mob/faithless) + new spawn_type(get_turf(pick(view(1,T)))) + playsound(holder.loc, pick('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg'), 50, 1, -3) + + if(charges >= 1 && nearby_mobs.len && prob(15 * nearby_mobs.len)) + var/mob/living/L = pick(nearby_mobs) + + holder.Beam(L, icon_state = "drainbeam", time = 1 SECOND) + + L.add_modifier(/datum/modifier/agonize, 5 SECONDS) + + if(charges >= 0.1) + if(prob(5)) + holder.visible_message("\icon[holder] \The [holder] gleams a bloody red!") + charges -= 0.1 + +/datum/artifact_effect/vampire/DoEffectPulse() + DoEffectAura() diff --git a/code/modules/xenoarcheaology/finds/find_spawning.dm b/code/modules/xenoarcheaology/finds/find_spawning.dm index 4c091200ca..20f10e91da 100644 --- a/code/modules/xenoarcheaology/finds/find_spawning.dm +++ b/code/modules/xenoarcheaology/finds/find_spawning.dm @@ -21,7 +21,7 @@ var/apply_prefix = 1 if(prob(40)) - material_descriptor = pick("rusted ","dusty ","archaic ","fragile ") + material_descriptor = pick("rusted ","dusty ","archaic ","fragile ", "damaged", "pristine") source_material = pick("cordite","quadrinium",DEFAULT_WALL_MATERIAL,"titanium","aluminium","ferritic-alloy","plasteel","duranium") var/talkative = 0 @@ -32,7 +32,7 @@ //icon_state //item_state switch(find_type) - if(1) + if(ARCHAEO_BOWL) item_type = "bowl" if(prob(33)) new_item = new /obj/item/weapon/reagent_containers/glass/replenishing(src.loc) @@ -46,7 +46,7 @@ new_item.color = rgb(rand(0,255),rand(0,255),rand(0,255)) if(prob(20)) additional_desc = "There appear to be [pick("dark","faintly glowing","pungent","bright")] [pick("red","purple","green","blue")] stains inside." - if(2) + if(ARCHAEO_URN) item_type = "urn" if(prob(33)) new_item = new /obj/item/weapon/reagent_containers/glass/replenishing(src.loc) @@ -58,7 +58,7 @@ apply_image_decorations = 1 if(prob(20)) additional_desc = "It [pick("whispers faintly","makes a quiet roaring sound","whistles softly","thrums quietly","throbs")] if you put it to your ear." - if(3) + if(ARCHAEO_CUTLERY) item_type = "[pick("fork","spoon","knife")]" if(prob(25)) new_item = new /obj/item/weapon/material/kitchen/utensil/fork(src.loc) @@ -71,7 +71,7 @@ additional_desc = "[pick("It's like no [item_type] you've ever seen before",\ "It's a mystery how anyone is supposed to eat with this",\ "You wonder what the creator's mouth was shaped like")]." - if(4) + if(ARCHAEO_STATUETTE) name = "statuette" icon = 'icons/obj/xenoarchaeology.dmi' item_type = "statuette" @@ -82,7 +82,7 @@ if(prob(25)) new_item = new /obj/item/weapon/vampiric(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) - if(5) + if(ARCHAEO_INSTRUMENT) name = "instrument" icon = 'icons/obj/xenoarchaeology.dmi' item_type = "instrument" @@ -93,13 +93,13 @@ "You wonder how many mouths the creator had",\ "You wonder what it sounds like",\ "You wonder what kind of music was made with it")]." - if(6) + if(ARCHAEO_KNIFE) item_type = "[pick("bladed knife","serrated blade","sharp cutting implement")]" new_item = new /obj/item/weapon/material/knife(src.loc) additional_desc = "[pick("It doesn't look safe.",\ "It looks wickedly jagged",\ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along the edges")]." - if(7) + if(ARCHAEO_COIN) //assuming there are 12 types of coins var/chance = 8 for(var/type in typesof(/obj/item/weapon/coin)) @@ -112,11 +112,11 @@ apply_prefix = 0 apply_material_decorations = 0 apply_image_decorations = 1 - if(8) + if(ARCHAEO_HANDCUFFS) item_type = "handcuffs" new_item = new /obj/item/weapon/handcuffs(src.loc) additional_desc = "[pick("They appear to be for securing two things together","Looks kinky","Doesn't seem like a children's toy")]." - if(9) + if(ARCHAEO_BEARTRAP) item_type = "[pick("wicked","evil","byzantine","dangerous")] looking [pick("device","contraption","thing","trap")]" apply_prefix = 0 new_item = new /obj/item/weapon/beartrap(src.loc) @@ -125,13 +125,13 @@ additional_desc = "[pick("It looks like it could take a limb off",\ "Could be some kind of animal trap",\ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along part of it")]." - if(10) + if(ARCHAEO_LIGHTER) item_type = "[pick("cylinder","tank","chamber")]" new_item = new /obj/item/weapon/flame/lighter(src.loc) additional_desc = "There is a tiny device attached." if(prob(30)) apply_image_decorations = 1 - if(11) + if(ARCHAEO_BOX) item_type = "box" new_item = new /obj/item/weapon/storage/box(src.loc) new_item.icon = 'icons/obj/xenoarchaeology.dmi' @@ -143,7 +143,7 @@ if(prob(30)) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) apply_image_decorations = 1 - if(12) + if(ARCHAEO_GASTANK) item_type = "[pick("cylinder","tank","chamber")]" if(prob(25)) new_item = new /obj/item/weapon/tank/air(src.loc) @@ -153,7 +153,7 @@ new_item = new /obj/item/weapon/tank/phoron(src.loc) icon_state = pick("oxygen","oxygen_fr","oxygen_f","phoron","anesthetic") additional_desc = "It [pick("gloops","sloshes")] slightly when you shake it." - if(13) + if(ARCHAEO_TOOL) item_type = "tool" if(prob(25)) new_item = new /obj/item/weapon/tool/wrench(src.loc) @@ -167,7 +167,7 @@ additional_desc = "[pick("It doesn't look safe.",\ "You wonder what it was used for",\ "There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains on it")]." - if(14) + if(ARCHAEO_METAL) apply_material_decorations = 0 var/list/possible_spawns = list() possible_spawns += /obj/item/stack/material/steel @@ -184,7 +184,7 @@ var/new_type = pick(possible_spawns) new_item = new new_type(src.loc) new_item:amount = rand(5,45) - if(15) + if(ARCHAEO_PEN) if(prob(75)) new_item = new /obj/item/weapon/pen(src.loc) else @@ -194,7 +194,7 @@ icon_state = "pen1" LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) apply_image_decorations = 1 - if(16) + if(ARCHAEO_CRYSTAL) apply_prefix = 0 if(prob(25)) icon = 'icons/obj/xenoarchaeology.dmi' @@ -218,27 +218,28 @@ new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = icon_state LAZYSET(new_item.origin_tech, TECH_ARCANE, 2) - if(17) + if(ARCHAEO_CULTBLADE) //cultblade apply_prefix = 0 new_item = new /obj/item/weapon/melee/cultblade(src.loc) apply_material_decorations = 0 apply_image_decorations = 0 - if(18) + if(ARCHAEO_TELEBEACON) new_item = new /obj/item/device/radio/beacon(src.loc) talkative = 0 new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "unknown[rand(1,4)]" new_item.desc = "" - if(19) + if(ARCHAEO_CLAYMORE) apply_prefix = 0 new_item = new /obj/item/weapon/material/sword(src.loc) new_item.force = 10 + new_item.name = pick("great-sword","claymore","longsword","broadsword","shortsword","gladius") item_type = new_item.name if(prob(30)) new_item.icon = 'icons/obj/xenoarchaeology.dmi' new_item.icon_state = "blade1" - if(20) + if(ARCHAEO_CULTROBES) //arcane clothing apply_prefix = 0 var/list/possible_spawns = list(/obj/item/clothing/head/culthood, @@ -249,14 +250,14 @@ var/new_type = pick(possible_spawns) new_item = new new_type(src.loc) LAZYSET(new_item.origin_tech, TECH_ARCANE, 1) - if(21) + if(ARCHAEO_SOULSTONE) //soulstone apply_prefix = 0 new_item = new /obj/item/device/soulstone(src.loc) item_type = new_item.name apply_material_decorations = 0 LAZYSET(new_item.origin_tech, TECH_ARCANE, 2) - if(22) + if(ARCHAEO_SHARD) if(prob(50)) new_item = new /obj/item/weapon/material/shard(src.loc) else @@ -264,12 +265,12 @@ apply_prefix = 0 apply_image_decorations = 0 apply_material_decorations = 0 - if(23) + if(ARCHAEO_RODS) apply_prefix = 0 new_item = new /obj/item/stack/rods(src.loc) apply_image_decorations = 0 apply_material_decorations = 0 - if(24) + if(ARCHAEO_STOCKPARTS) var/list/possible_spawns = typesof(/obj/item/weapon/stock_parts) possible_spawns -= /obj/item/weapon/stock_parts possible_spawns -= /obj/item/weapon/stock_parts/subspace @@ -278,12 +279,13 @@ new_item = new new_type(src.loc) item_type = new_item.name apply_material_decorations = 0 - if(25) + if(ARCHAEO_KATANA) apply_prefix = 0 new_item = new /obj/item/weapon/material/sword/katana(src.loc) new_item.force = 10 + new_item.name = "katana" item_type = new_item.name - if(26) + if(ARCHAEO_LASER) //energy gun var/spawn_type = pick(\ /obj/item/weapon/gun/energy/laser/practice/xenoarch,\ @@ -311,7 +313,7 @@ new_gun.power_supply.charge = 0 item_type = "gun" - if(27) + if(ARCHAEO_GUN) //revolver var/obj/item/weapon/gun/projectile/new_gun = new /obj/item/weapon/gun/projectile/revolver(src.loc) new_item = new_gun @@ -346,11 +348,11 @@ I.loc = null item_type = "gun" - if(28) + if(ARCHAEO_UNKNOWN) //completely unknown alien device if(prob(50)) apply_image_decorations = 0 - if(29) + if(ARCHAEO_FOSSIL) //fossil bone/skull //new_item = new /obj/item/weapon/fossil/base(src.loc) @@ -364,7 +366,7 @@ additional_desc = "A fossilised part of an alien, long dead." apply_image_decorations = 0 apply_material_decorations = 0 - if(30) + if(ARCHAEO_SHELL) //fossil shell new_item = new /obj/item/weapon/fossil/shell(src.loc) apply_prefix = 0 @@ -373,7 +375,7 @@ apply_material_decorations = 0 if(prob(10)) apply_image_decorations = 1 - if(31) + if(ARCHAEO_PLANT) //fossil plant new_item = new /obj/item/weapon/fossil/plant(src.loc) item_type = new_item.name @@ -381,7 +383,7 @@ apply_image_decorations = 0 apply_material_decorations = 0 apply_prefix = 0 - if(32) + if(ARCHAEO_REMAINS_HUMANOID) //humanoid remains apply_prefix = 0 item_type = "humanoid [pick("remains","skeleton")]" @@ -396,7 +398,7 @@ "The mouth is wide open in a death rictus, the victim would appear to have died screaming.") apply_image_decorations = 0 apply_material_decorations = 0 - if(33) + if(ARCHAEO_REMAINS_ROBOT) //robot remains apply_prefix = 0 item_type = "[pick("mechanical","robotic","cyborg")] [pick("remains","chassis","debris")]" @@ -411,7 +413,7 @@ "A pile of wires and crap metal that looks vaguely robotic.") apply_image_decorations = 0 apply_material_decorations = 0 - if(34) + if(ARCHAEO_REMAINS_XENO) //xenos remains apply_prefix = 0 item_type = "alien [pick("remains","skeleton")]" @@ -427,7 +429,7 @@ "It doesn't look human.") apply_image_decorations = 0 apply_material_decorations = 0 - if(35) + if(ARCHAEO_GASMASK) //gas mask if(prob(25)) new_item = new /obj/item/clothing/mask/gas/poltergeist(src.loc) @@ -436,7 +438,7 @@ new_item = new /obj/item/clothing/mask/gas(src.loc) if(prob(40)) new_item.color = rgb(rand(0,255),rand(0,255),rand(0,255)) - if(36) + if(ARCHAEO_ALIEN_ITEM) // Alien stuff. apply_prefix = FALSE apply_material_decorations = FALSE @@ -469,7 +471,7 @@ LAZYSET(new_item.origin_tech, TECH_PRECURSOR, 1) item_type = new_item.name - if(37) + if(ARCHAEO_ALIEN_BOAT) // Alien boats. apply_prefix = FALSE var/new_boat_mat = pickweight(list( @@ -500,7 +502,7 @@ new_item = new new_type(src.loc, new_boat_mat) item_type = new_item.name - if(38) + if(ARCHAEO_IMPERION_CIRCUIT) // Imperion circuit. apply_prefix = FALSE apply_image_decorations = FALSE @@ -511,7 +513,7 @@ desc = new_item.desc item_type = new_item.name - if(39) + if(ARCHAEO_TELECUBE) // Telecube. if(prob(25)) apply_prefix = FALSE @@ -520,6 +522,62 @@ if(prob(25)) apply_material_decorations = FALSE new_item = new /obj/item/weapon/telecube/randomized(src.loc) + item_type = new_item.name + + if(ARCHAEO_BATTERY) + // Battery! + var/new_path = pick(subtypesof(/obj/item/weapon/cell)) + new_item = new new_path(src.loc) + new_item.name = pick("cell", "battery", "device") + + if(prob(30)) + apply_prefix = FALSE + if(prob(5)) + apply_image_decorations = TRUE + if(prob(15)) + apply_material_decorations = FALSE + + item_type = new_item.name + + if(ARCHAEO_SYRINGE) + // Syringe. + if(prob(25)) + apply_prefix = FALSE + if(prob(75)) + apply_image_decorations = TRUE + if(prob(25)) + apply_material_decorations = FALSE + new_item = new /obj/item/weapon/reagent_containers/syringe(src.loc) + var/obj/item/weapon/reagent_containers/syringe/S = new_item + + S.volume = 30 + S.reagents.maximum_volume = 30 + + item_type = new_item.name + + if(ARCHAEO_RING) + // Ring. + if(prob(15)) + apply_prefix = FALSE + if(prob(40)) + apply_image_decorations = TRUE + if(prob(25)) + apply_material_decorations = FALSE + new_item = new /obj/item/clothing/gloves/ring/material(src.loc) + item_type = new_item.name + + if(ARCHAEO_CLUB) + // Baseball Bat + if(prob(30)) + apply_prefix = FALSE + if(prob(80)) + apply_image_decorations = TRUE + if(prob(10)) + apply_material_decorations = FALSE + + new_item = new /obj/item/weapon/material/twohanded/baseballbat(src.loc) + new_item.name = pick("great-club","club","billyclub","mace","tenderizer","maul","bat") + item_type = new_item.name if(istype(new_item, /obj/item/weapon/material)) var/new_item_mat = pickweight(list( @@ -553,9 +611,13 @@ var/decorations = "" if(apply_material_decorations) source_material = pick("cordite","quadrinium",DEFAULT_WALL_MATERIAL,"titanium","aluminium","ferritic-alloy","plasteel","duranium") + if(istype(new_item, /obj/item/weapon/material)) var/obj/item/weapon/material/MW = new_item source_material = MW.material.display_name + if(istype(new_item, /obj/vehicle/boat)) + var/obj/vehicle/boat/B = new_item + source_material = B.material.display_name desc = "A [material_descriptor ? "[material_descriptor] " : ""][item_type] made of [source_material], all craftsmanship is of [pick("the lowest","low","average","high","the highest")] quality." var/list/descriptors = list() diff --git a/code/modules/xenoarcheaology/tools/ano_device_battery.dm b/code/modules/xenoarcheaology/tools/ano_device_battery.dm index 8c0ebc6943..d698ccbbbd 100644 --- a/code/modules/xenoarcheaology/tools/ano_device_battery.dm +++ b/code/modules/xenoarcheaology/tools/ano_device_battery.dm @@ -3,12 +3,18 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "anobattery0" var/datum/artifact_effect/battery_effect - var/capacity = 300 + var/capacity = 500 var/stored_charge = 0 var/effect_id = "" +/obj/item/weapon/anobattery/advanced + name = "advanced anomaly battery" + capacity = 3000 + +/* /obj/item/weapon/anobattery/New() battery_effect = new() +*/ /obj/item/weapon/anobattery/proc/UpdateSprite() var/p = (stored_charge/capacity)*100 @@ -105,7 +111,6 @@ to_chat(holder, "the [bicon(src)] [src] held by [holder] shudders in your grasp.") else src.loc.visible_message("the [bicon(src)] [src] shudders.") - inserted_battery.battery_effect.DoEffectTouch(holder) //consume power inserted_battery.use_power(energy_consumed_on_touch) @@ -113,11 +118,13 @@ //consume power equal to time passed inserted_battery.use_power(world.time - last_process) + inserted_battery.battery_effect.DoEffectTouch(holder) + else if(inserted_battery.battery_effect.effect == EFFECT_PULSE) inserted_battery.battery_effect.chargelevel = inserted_battery.battery_effect.chargelevelmax //consume power relative to the time the artifact takes to charge and the effect range - inserted_battery.use_power(inserted_battery.battery_effect.effectrange * inserted_battery.battery_effect.effectrange * inserted_battery.battery_effect.chargelevelmax) + inserted_battery.use_power((inserted_battery.battery_effect.effectrange * inserted_battery.battery_effect.chargelevelmax) / 2) else //consume power equal to time passed @@ -167,6 +174,7 @@ if(!inserted_battery.battery_effect.activated) inserted_battery.battery_effect.ToggleActivate(1) time_end = world.time + duration + last_process = world.time if(href_list["shutdown"]) activated = 0 if(href_list["ejectbattery"]) diff --git a/code/modules/xenoarcheaology/tools/artifact_harvester.dm b/code/modules/xenoarcheaology/tools/artifact_harvester.dm index 480061f9bb..8222eaa1f0 100644 --- a/code/modules/xenoarcheaology/tools/artifact_harvester.dm +++ b/code/modules/xenoarcheaology/tools/artifact_harvester.dm @@ -6,19 +6,18 @@ density = 1 idle_power_usage = 50 active_power_usage = 750 - use_power = 1 + use_power = USE_POWER_IDLE var/harvesting = 0 var/obj/item/weapon/anobattery/inserted_battery var/obj/machinery/artifact/cur_artifact var/obj/machinery/artifact_scanpad/owned_scanner = null var/last_process = 0 -/obj/machinery/artifact_harvester/New() - ..() - spawn(50) //Delay so the scan pad has time to actually spawn in - owned_scanner = locate(/obj/machinery/artifact_scanpad) in get_step(src, dir) //connect to a nearby scanner pad - if(!owned_scanner) - owned_scanner = locate(/obj/machinery/artifact_scanpad) in orange(1, src) +/obj/machinery/artifact_harvester/Initialize() + . = ..() + owned_scanner = locate(/obj/machinery/artifact_scanpad) in get_step(src, dir) + if(!owned_scanner) + owned_scanner = locate(/obj/machinery/artifact_scanpad) in orange(1, src) /obj/machinery/artifact_harvester/attackby(var/obj/I as obj, var/mob/user as mob) if(istype(I,/obj/item/weapon/anobattery)) @@ -80,7 +79,7 @@ //check if we've finished if(inserted_battery.stored_charge >= inserted_battery.capacity) - use_power = 1 + update_use_power(USE_POWER_IDLE) harvesting = 0 cur_artifact.anchored = 0 cur_artifact.being_used = 0 @@ -105,7 +104,7 @@ //if there's no charge left, finish if(inserted_battery.stored_charge <= 0) - use_power = 1 + update_use_power(USE_POWER_IDLE) inserted_battery.stored_charge = 0 harvesting = 0 if(inserted_battery.battery_effect && inserted_battery.battery_effect.activated) @@ -156,6 +155,7 @@ //delete it when the ids match to account for duplicate ids having different effects if(inserted_battery.battery_effect && inserted_battery.stored_charge <= 0) qdel(inserted_battery.battery_effect) + inserted_battery.battery_effect = null // var/datum/artifact_effect/source_effect @@ -191,7 +191,7 @@ if(source_effect) harvesting = 1 - use_power = 2 + update_use_power(USE_POWER_ACTIVE) cur_artifact.anchored = 1 cur_artifact.being_used = 1 icon_state = "incubator_on" @@ -235,7 +235,7 @@ inserted_battery.battery_effect.ToggleActivate(1) last_process = world.time harvesting = -1 - use_power = 2 + update_use_power(USE_POWER_ACTIVE) icon_state = "incubator_on" var/message = "[src] states, \"Warning, battery charge dump commencing.\"" src.visible_message(message) diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm index 84ffeaf430..5cb5d32479 100644 --- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm +++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm @@ -6,7 +6,7 @@ icon = 'icons/obj/virology.dmi' icon_state = "analyser" - use_power = 1 //1 = idle, 2 = active + use_power = USE_POWER_IDLE idle_power_usage = 20 active_power_usage = 300 diff --git a/code/modules/xenobio2/machinery/gene_manipulators.dm b/code/modules/xenobio2/machinery/gene_manipulators.dm index 16e5fd57fa..d0b368335d 100644 --- a/code/modules/xenobio2/machinery/gene_manipulators.dm +++ b/code/modules/xenobio2/machinery/gene_manipulators.dm @@ -42,7 +42,7 @@ /obj/machinery/xenobio density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE var/obj/item/weapon/disk/xenobio/loaded_disk //Currently loaded data disk. diff --git a/code/modules/xenobio2/machinery/injector.dm b/code/modules/xenobio2/machinery/injector.dm index cc10bd758f..59dfbf69c6 100644 --- a/code/modules/xenobio2/machinery/injector.dm +++ b/code/modules/xenobio2/machinery/injector.dm @@ -10,7 +10,7 @@ desc = "Injects biological organisms that are inserted with the contents of an inserted beaker at the command of a remote computer." density = 1 anchored = 1 - use_power = 1 + use_power = USE_POWER_IDLE icon = 'icons/obj/biogenerator.dmi' icon_state = "biogen-work" var/mob/living/occupant diff --git a/code/modules/xenobio2/machinery/injector_computer.dm b/code/modules/xenobio2/machinery/injector_computer.dm index 7967c24be7..196543a256 100644 --- a/code/modules/xenobio2/machinery/injector_computer.dm +++ b/code/modules/xenobio2/machinery/injector_computer.dm @@ -11,7 +11,7 @@ icon_keyboard = "med_key" icon_screen = "dna" light_color = "#315ab4" - use_power = 1 + use_power = USE_POWER_IDLE idle_power_usage = 250 active_power_usage = 500 circuit = /obj/item/weapon/circuitboard/xenobio2computer diff --git a/code/modules/xenobio2/mob/xeno.dm b/code/modules/xenobio2/mob/xeno.dm index 648c1f1e10..74a35aacc4 100644 --- a/code/modules/xenobio2/mob/xeno.dm +++ b/code/modules/xenobio2/mob/xeno.dm @@ -93,7 +93,7 @@ Also includes Life and New traitdat.source = name if(!health) - stat = DEAD + set_stat(DEAD) /mob/living/simple_mob/xeno/bullet_act(var/obj/item/projectile/Proj) if(istype(Proj, /obj/item/projectile/beam/stun/xeno)) diff --git a/code/modules/xgm/xgm_gas_mixture.dm b/code/modules/xgm/xgm_gas_mixture.dm index 7fe1a96d0d..6036b7381a 100644 --- a/code/modules/xgm/xgm_gas_mixture.dm +++ b/code/modules/xgm/xgm_gas_mixture.dm @@ -277,6 +277,12 @@ return removed +//Returns the amount of gas that has the given flag, in moles +/datum/gas_mixture/proc/get_by_flag(flag) + . = 0 + for(var/g in gas) + if(gas_data.flags[g] & flag) + . += gas[g] //Copies gas and temperature from another gas_mixture. /datum/gas_mixture/proc/copy_from(const/datum/gas_mixture/sample) @@ -478,3 +484,7 @@ gasmix.multiply(gasmix.volume) return 1 + +/datum/gas_mixture/proc/get_mass() + for(var/g in gas) + . += gas[g] * gas_data.molar_mass[g] * group_multiplier diff --git a/code/stylesheet.dm b/code/stylesheet.dm index 11839fa1d7..4e8f06447a 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -16,10 +16,10 @@ em {font-style: normal;font-weight: bold;} /* OOC */ .ooc {font-weight: bold;} +.looc {color: #3A9696;} .ooc img.text_tag {width: 32px; height: 10px;} .ooc .everyone {color: #002eb8;} -.ooc .looc {color: #3A9696;} .ooc .elevated {color: #2e78d9;} .ooc .moderator {color: #184880;} .ooc .developer {color: #1b521f;} @@ -65,6 +65,7 @@ em {font-style: normal;font-weight: bold;} .say {} .alert {color: #ff0000;} h1.alert, h2.alert {color: #000000;} +.ghostalert {color: #5c00e6; font-style: italic; font-weight: bold;} .emote {font-style: italic;} diff --git a/code/unit_tests/language_tests.dm b/code/unit_tests/language_tests.dm new file mode 100644 index 0000000000..b5559eaab2 --- /dev/null +++ b/code/unit_tests/language_tests.dm @@ -0,0 +1,29 @@ +/datum/unit_test/language_test_shall_have_distinct_names + name = "LANGUAGES: Entries shall have distinct names" + +/datum/unit_test/language_test_shall_have_distinct_names/start_test() + if(length(GLOB.language_name_conflicts) != 0) + var/list/name_conflict_log = list() + for(var/conflicted_name in GLOB.language_name_conflicts) + name_conflict_log += "+[length(GLOB.language_name_conflicts[conflicted_name])] languages with name \"[conflicted_name]\"!" + for(var/datum/language/L in GLOB.language_name_conflicts[conflicted_name]) + name_conflict_log += "+-+[L.type]" + fail("Some names are used by more than one language:\n" + name_conflict_log.Join("\n")) + else + pass("All languages have distinct names") + return 1 + +/datum/unit_test/language_test_shall_have_distinct_keys + name = "LANGUAGES: Entries shall have distinct keys" + +/datum/unit_test/language_test_shall_have_distinct_keys/start_test() + if(length(GLOB.language_key_conflicts) != 0) + var/list/key_conflict_log = list() + for(var/conflicted_key in GLOB.language_key_conflicts) + key_conflict_log += "+[length(GLOB.language_key_conflicts[conflicted_key])] languages with key \"[conflicted_key]\"!" + for(var/datum/language/L in GLOB.language_key_conflicts[conflicted_key]) + key_conflict_log += "+-+[L]([L.type])" + fail("Some keys are used by more than one language:\n" + key_conflict_log.Join("\n")) + else + pass("All languages in GLOB.all_languages have distinct keys") + return 1 \ No newline at end of file diff --git a/code/unit_tests/unit_test.dm b/code/unit_tests/unit_test.dm index 7537f14022..e775f6f763 100644 --- a/code/unit_tests/unit_test.dm +++ b/code/unit_tests/unit_test.dm @@ -94,10 +94,10 @@ var/total_unit_tests = 0 if(all_unit_tests_passed) log_unit_test("[ASCII_GREEN]*** All Unit Tests Passed \[[total_unit_tests]\] ***[ASCII_RESET]") - world.Del() else log_unit_test("[ASCII_RED]!!! \[[failed_unit_tests]\\[total_unit_tests]\] Unit Tests Failed !!![ASCII_RESET]") - world.Del() + log_unit_test("Caught [GLOB.total_runtimes] Runtime\s.") + world.Del() /datum/unit_test/proc/get_standard_turf() return locate(20,20,1) diff --git a/code/unit_tests/zas_tests.dm b/code/unit_tests/zas_tests.dm index 9c599a492b..09f465bbaa 100644 --- a/code/unit_tests/zas_tests.dm +++ b/code/unit_tests/zas_tests.dm @@ -78,12 +78,12 @@ return 1 /datum/unit_test/zas_area_test/supply_centcomm - name = "ZAS: Supply Shuttle (CentCom)" - area_path = /area/supply/dock + name = "ZAS: Supply Shuttle" + area_path = /area/shuttle/supply /datum/unit_test/zas_area_test/emergency_shuttle name = "ZAS: Emergency Shuttle" - area_path = /area/shuttle/escape/centcom + area_path = /area/shuttle/escape /datum/unit_test/zas_area_test/ai_chamber name = "ZAS: AI Chamber" diff --git a/config/example/admin_ranks.txt b/config/example/admin_ranks.txt index f256d047d5..00a2ee7311 100644 --- a/config/example/admin_ranks.txt +++ b/config/example/admin_ranks.txt @@ -25,6 +25,7 @@ # +RIGHTS (or +PERMISSIONS) = allows you to promote and/or demote people. # +SOUND (or +SOUNDS) = allows you to upload and play sounds # +SPAWN (or +CREATE) = mob transformations, spawning of most atoms including mobs (high-risk atoms, e.g. blackholes, will require the +FUN flag too) +# +EVENT = a group of verbs that make it possible to run an event, or other badminnery. # +EVERYTHING (or +HOST or +ALL) = Simply gives you everything without having to type every flag Admin Observer diff --git a/config/example/config.txt b/config/example/config.txt index f9be5fc872..57cfa86a36 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -163,6 +163,9 @@ ALLOW_VOTE_RESTART ## allow players to initate a mode-change start ALLOW_VOTE_MODE +## time in pregame lobby in seconds +PREGAME_TIME 180 + ## min delay (deciseconds) between voting sessions (default 10 minutes) VOTE_DELAY 6000 @@ -523,3 +526,6 @@ SQLITE_FEEDBACK_COOLDOWN 0 ## Set this to how many days you want someone to have to wait when they first join. ## Setting to zero will disable this restriction. SQLITE_FEEDBACK_MIN_AGE 7 + +## Uncomment this if you want to disable the popup alert for people on the same CID (Don't do this on a live server if you ban multikeying) +#DISABLE_CID_WARN_POPUP \ No newline at end of file diff --git a/config/jobwhitelist.txt b/config/jobwhitelist.txt index 89941086b5..a52864e001 100644 --- a/config/jobwhitelist.txt +++ b/config/jobwhitelist.txt @@ -1,5 +1,3 @@ # Job whitelist in format ckey - jobname # Like arokha - clown -thegreatcoward - clown -rallard123 - clown -michaelc156 - clown \ No newline at end of file + diff --git a/html/changelog.html b/html/changelog.html index 5b60239c85..23f72b4800 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -53,6 +53,138 @@ -->
+

27 March 2020

+

Arokha updated:

+
    +
  • Ported VChat. If you find any messages that are not sorted by any filters, or that you feel are sorted incorrectly, please submit a bug report on our issue tracker on github.
  • +
+

Atermonera updated:

+
    +
  • Basic distillery (not the industrial-) will ping when it reaches its target temperature.
  • +
  • Basic distillery uses logistic curve to determine temperature change, and should be much faster.
  • +
  • Industrial distillery respects gas laws, particularly as pertains to low temperatures.
  • +
  • Prometheans can be slipped by disarm intent again
  • +
+

Leshana updated:

+
    +
  • Added skybox parallax background for space.
  • +
  • Baystation12 style Overmap
  • +
  • Make transit turfs (shuttle transit) actually look like they move in the right direction.
  • +
+

Mechoid updated:

+
    +
  • Artifact shields now work again.
  • +
  • Anomaly batteries work again.
  • +
  • Archaeology sites can have unique batteries, syringes, rings, and 'clubs'.
  • +
  • Multiple artifact effects added, in order to provide more spice, from naughty to nice.
  • +
  • Tweaks to normal artifact finds to be more unique.
  • +
+

Shadow-Quill updated:

+
    +
  • Adds emergency backup cells to most light fixtures
  • +
  • AIs can turn emergency lighting on and off by clicking light fixtures. Flickering the lights has been moved to alt-click.
  • +
+ +

20 March 2020

+

Aronai/Arokha updated:

+
    +
  • You can now fill buckets (, beakers, etc.,) from water tiles.
  • +
+

Cerebulon updated:

+
    +
  • Added sounds when dropping/throwing items. Toggleable in preferences.
  • +
  • Added incidental sounds to several item interactions.
  • +
+

Mechoid updated:

+
    +
  • Energy Daggerpens (20): Disguised energy-knives, which do 15 searing on melee, or 30 when thrown.
  • +
  • Thieves gloves (30): Special gloves that allow you to peep in others' backpacks and belts, and plant items in their bags / pockets.
  • +
  • Buzzer Ring (30): Makes your first two punches electrically charged, first with 25 damage in a shock, then approximately 12.5 damage in the second. If the charge is over 90%, you can force-defib a corpse, even if it's a mindless one. Damage rules still apply, however time-of-death does not.
  • +
  • Resource Crate (60): A crate of uranium, phoron, gold, silver, osmium, and plasteel.
  • +
  • Exotic Plantlife Crate (20): A crate of numerous random seeds.
  • +
  • Spare Organ Crate (20): A crate of bioprinted organs.
  • +
  • Graviton goggles (15): A pair of combined meson/material goggles.
  • +
  • Integrated Circuit Printer (10): An upgraded circuit printer used to make integrated machine.
  • +
  • Flamethrower (60): A large, flame-based weapon.
  • +
  • 8 Concussion Grenades (30): A box of eight concussion grenades.
  • +
  • 4 Hunting Traps (30): A box of four hunting-traps, similar to those found in the explorer vendor.
  • +
  • 3 Virus Samples (40): A box of three unique virus samples.
  • +
  • Quickdraw Syringe Case (20): A case that can hold six syringes, and rapidly deploy them. Fits in your pocket.
  • +
  • Clotting Injector Case (20): A case that starts with 3 clotting med injectors instead.
  • +
  • Bonemed Injector Case (20): A case that starts with bonemeds.
  • +
  • Announcement costs lowered to be more equivalent.
  • +
  • Egun changed from 60 to 30 TC. It is nowhere near as powerful as a lascannon.
  • +
  • Exosuit rigged laser from 60 to 30 TC.
  • +
  • Xray gun from 85 to 60 TC.
  • +
  • Augments can now be used by everyone, as robot-specific ones will require FBP organ revamp.
  • +
  • Augment guns use slightly less blood / system instability to charge, so it doesn't kill you dead in moments.
  • +
  • Anti-Materiel Rifle can once again be used with thermals.
  • +
  • Energy Shields work again, and can be colored.
  • +
+

Meghan-Rossi updated:

+
    +
  • Language keys are now case-sensitive.
  • +
  • The language key for Chimpanzee has changed from 6 to C to resolve a conflict with EAL.
  • +
  • The language key for Bird has changed from m to B to resolve a conflict with Mouse.
  • +
  • All other language keys are now lowercase-only.
  • +
+

Neerti updated:

+
    +
  • Holsters can now be worn alongside webbing vests.
  • +
  • Receiving an antag role will now play a sound to the new antagonist.
  • +
  • Having laws changed as a silicon (AI or Borg) will now play a sound and show the changed law in the chat.
  • +
  • Being offered a ghost role while a ghost will now play a sound.
  • +
  • Someone attempting to revive someone else will play a sound to the player being revived, if they are not in their body.
  • +
  • Most Non-hitscan projectiles now have a pixel-perfect visual effect when they impact something, or when they expire from moving too far without hitting anything.
  • +
  • Projectiles can now have sounds for when they hit someone. They can also have a different sound when they hit something solid like a wall.
  • +
  • A sound is now played when a projectile 'narrowly misses' someone.
  • +
  • Getting hit with a projectile is now more noticeable in the chat log, with bigger text. Only the person who got hit will see the bigger text.
  • +
+

PrismaticGynoid updated:

+
    +
  • Fixes xenoarch artifacts breaking when performing excavation correctly.
  • +
+

TheFurryFeline updated:

+
    +
  • Fixes lack of easily accessible Response Team shortcut to type in. Type .k or :k to speak on the channel.
  • +
+

schnayy updated:

+
    +
  • Adds Sabitsuki and Bedhead Longest hairstyles.
  • +
  • Adjusts pixels on the Jessica, Celeb Curls, and Beach Waves hairstyles.
  • +
+ +

11 March 2020

+

Cerebulon updated:

+
    +
  • Added button sounds to various machines.
  • +
+

Mechoid updated:

+
    +
  • Added Hardpoint Actuator equipment for Exosuits, allowing them (And most effectively, Ripleys) to swap components on the fly, after a short delay.
  • +
  • Added Exosuit Inflatables Deployer, allowing exosuits to pick up and deploy inflatables.
  • +
  • Added Exosuit-mounted screwdriver, wirecutters, and welding laser, to help round-out the tool-based equipment types.
  • +
  • Incendiary exo weapons now use fire modifiers instead of fire stacks.
  • +
  • Ignition effects from weapons now use fire modifiers instead of fire stacks.
  • +
  • Exosuit shocker armor now retaliates properly against melee.
  • +
  • Add RIG components to robotics mechfab, plus incredibly basic belt-voidsuit RIG.
  • +
  • Add Graphite, made by compressing coal, presently only used heavily in RIG components.
  • +
+

Neerti updated:

+
    +
  • The 'cut' and 'pulse' buttons in the hacking interface now check both hands for tools, instead of only the active hand.
  • +
  • The textual indicators at the bottom of the hacking window will now go bold when they change, until the next window refresh.
  • +
  • Hacking an Autolathe no longer requires you to hack it using the Autolathe's main window, but instead opens the hacking window like everything else.
  • +
+

schnayy updated:

+
    +
  • Adds yeast as a reagent. It can be found in the kitchen vendor and in cargo kitchen supply crates.
  • +
  • Bread now calls for 5 units yeast instead of an egg, and baguettes and croissants call for 5 units yeast in addition to former ingredients.
  • +
  • Corn oil added to the Dinnerware vendor and the Booze-o-Mat.
  • +
  • Sprites for peanut butter, mayo, and yeast condiments.
  • +
  • Boiled slime core now links to the proper sprite.
  • +
+

28 February 2020

Cerebulon updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index aec3a85233..4c1602a2a3 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4931,3 +4931,137 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - tweak: You can now place defibs in rechargers. - imageadd: Adds Holographic PDA type. - soundadd: Skrell may now *warble. +2020-03-11: + Cerebulon: + - soundadd: Added button sounds to various machines. + Mechoid: + - rscadd: Added Hardpoint Actuator equipment for Exosuits, allowing them (And most + effectively, Ripleys) to swap components on the fly, after a short delay. + - rscadd: Added Exosuit Inflatables Deployer, allowing exosuits to pick up and deploy + inflatables. + - rscadd: Added Exosuit-mounted screwdriver, wirecutters, and welding laser, to + help round-out the tool-based equipment types. + - tweak: Incendiary exo weapons now use fire modifiers instead of fire stacks. + - tweak: Ignition effects from weapons now use fire modifiers instead of fire stacks. + - bugfix: Exosuit shocker armor now retaliates properly against melee. + - rscadd: Add RIG components to robotics mechfab, plus incredibly basic belt-voidsuit + RIG. + - rscadd: Add Graphite, made by compressing coal, presently only used heavily in + RIG components. + Neerti: + - tweak: The 'cut' and 'pulse' buttons in the hacking interface now check both hands + for tools, instead of only the active hand. + - tweak: The textual indicators at the bottom of the hacking window will now go + bold when they change, until the next window refresh. + - tweak: Hacking an Autolathe no longer requires you to hack it using the Autolathe's + main window, but instead opens the hacking window like everything else. + schnayy: + - rscadd: Adds yeast as a reagent. It can be found in the kitchen vendor and in + cargo kitchen supply crates. + - tweak: Bread now calls for 5 units yeast instead of an egg, and baguettes and + croissants call for 5 units yeast in addition to former ingredients. + - rscadd: Corn oil added to the Dinnerware vendor and the Booze-o-Mat. + - imageadd: Sprites for peanut butter, mayo, and yeast condiments. + - bugfix: Boiled slime core now links to the proper sprite. +2020-03-20: + Aronai/Arokha: + - tweak: You can now fill buckets (, beakers, etc.,) from water tiles. + Cerebulon: + - soundadd: Added sounds when dropping/throwing items. Toggleable in preferences. + - soundadd: Added incidental sounds to several item interactions. + Mechoid: + - rscadd: 'Energy Daggerpens (20): Disguised energy-knives, which do 15 searing + on melee, or 30 when thrown.' + - rscadd: 'Thieves gloves (30): Special gloves that allow you to peep in others'' + backpacks and belts, and plant items in their bags / pockets.' + - rscadd: 'Buzzer Ring (30): Makes your first two punches electrically charged, + first with 25 damage in a shock, then approximately 12.5 damage in the second. + If the charge is over 90%, you can force-defib a corpse, even if it''s a mindless + one. Damage rules still apply, however time-of-death does not.' + - rscadd: 'Resource Crate (60): A crate of uranium, phoron, gold, silver, osmium, + and plasteel.' + - rscadd: 'Exotic Plantlife Crate (20): A crate of numerous random seeds.' + - rscadd: 'Spare Organ Crate (20): A crate of bioprinted organs.' + - rscadd: 'Graviton goggles (15): A pair of combined meson/material goggles.' + - rscadd: 'Integrated Circuit Printer (10): An upgraded circuit printer used to + make integrated machine.' + - rscadd: 'Flamethrower (60): A large, flame-based weapon.' + - rscadd: '8 Concussion Grenades (30): A box of eight concussion grenades.' + - rscadd: '4 Hunting Traps (30): A box of four hunting-traps, similar to those found + in the explorer vendor.' + - rscadd: '3 Virus Samples (40): A box of three unique virus samples.' + - rscadd: 'Quickdraw Syringe Case (20): A case that can hold six syringes, and rapidly + deploy them. Fits in your pocket.' + - rscadd: 'Clotting Injector Case (20): A case that starts with 3 clotting med injectors + instead.' + - rscadd: 'Bonemed Injector Case (20): A case that starts with bonemeds.' + - tweak: Announcement costs lowered to be more equivalent. + - tweak: Egun changed from 60 to 30 TC. It is nowhere near as powerful as a lascannon. + - tweak: Exosuit rigged laser from 60 to 30 TC. + - tweak: Xray gun from 85 to 60 TC. + - tweak: Augments can now be used by everyone, as robot-specific ones will require + FBP organ revamp. + - tweak: Augment guns use slightly less blood / system instability to charge, so + it doesn't kill you dead in moments. + - bugfix: Anti-Materiel Rifle can once again be used with thermals. + - bugfix: Energy Shields work again, and can be colored. + Meghan-Rossi: + - tweak: Language keys are now case-sensitive. + - tweak: The language key for Chimpanzee has changed from 6 to C to resolve a conflict + with EAL. + - tweak: The language key for Bird has changed from m to B to resolve a conflict + with Mouse. + - tweak: All other language keys are now lowercase-only. + Neerti: + - tweak: Holsters can now be worn alongside webbing vests. + - soundadd: Receiving an antag role will now play a sound to the new antagonist. + - soundadd: Having laws changed as a silicon (AI or Borg) will now play a sound + and show the changed law in the chat. + - soundadd: Being offered a ghost role while a ghost will now play a sound. + - soundadd: Someone attempting to revive someone else will play a sound to the player + being revived, if they are not in their body. + - rscadd: Most Non-hitscan projectiles now have a pixel-perfect visual effect when + they impact something, or when they expire from moving too far without hitting + anything. + - soundadd: Projectiles can now have sounds for when they hit someone. They can + also have a different sound when they hit something solid like a wall. + - soundadd: A sound is now played when a projectile 'narrowly misses' someone. + - rsctweak: Getting hit with a projectile is now more noticeable in the chat log, + with bigger text. Only the person who got hit will see the bigger text. + PrismaticGynoid: + - bugfix: Fixes xenoarch artifacts breaking when performing excavation correctly. + TheFurryFeline: + - bugfix: Fixes lack of easily accessible Response Team shortcut to type in. Type + .k or :k to speak on the channel. + schnayy: + - rscadd: Adds Sabitsuki and Bedhead Longest hairstyles. + - tweak: Adjusts pixels on the Jessica, Celeb Curls, and Beach Waves hairstyles. +2020-03-27: + Arokha: + - rscadd: Ported VChat. If you find any messages that are not sorted by any filters, + or that you feel are sorted incorrectly, please submit a bug report on our issue + tracker on github. + Atermonera: + - rscadd: Basic distillery (not the industrial-) will ping when it reaches its target + temperature. + - tweak: Basic distillery uses logistic curve to determine temperature change, and + should be much faster. + - tweak: Industrial distillery respects gas laws, particularly as pertains to low + temperatures. + - bugfix: Prometheans can be slipped by disarm intent again + Leshana: + - rscadd: Added skybox parallax background for space. + - rscadd: Baystation12 style Overmap + - tweak: Make transit turfs (shuttle transit) actually look like they move in the + right direction. + Mechoid: + - bugfix: Artifact shields now work again. + - bugfix: Anomaly batteries work again. + - rscadd: Archaeology sites can have unique batteries, syringes, rings, and 'clubs'. + - rscadd: Multiple artifact effects added, in order to provide more spice, from + naughty to nice. + - tweak: Tweaks to normal artifact finds to be more unique. + Shadow-Quill: + - rscadd: Adds emergency backup cells to most light fixtures + - tweak: AIs can turn emergency lighting on and off by clicking light fixtures. + Flickering the lights has been moved to alt-click. diff --git a/html/changelogs/Cerebulon - machinesounds.yml b/html/changelogs/Cerebulon - machinesounds.yml new file mode 100644 index 0000000000..c6bfbfeaa3 --- /dev/null +++ b/html/changelogs/Cerebulon - machinesounds.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Cerebulon + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - soundadd: "Added button sounds to various machines." diff --git a/html/changelogs/atermonera_headphone_fix.yml b/html/changelogs/atermonera_headphone_fix.yml new file mode 100644 index 0000000000..f84ca57434 --- /dev/null +++ b/html/changelogs/atermonera_headphone_fix.yml @@ -0,0 +1,4 @@ +author: Atermonera +delete-after: True +changes: + - bugfix: "Headphones (and other two-ear clothing items) don't break the off-ear slot when click-dragged to unequip." diff --git a/html/changelogs/mechoid - RoboticsRigs.yml b/html/changelogs/mechoid - RoboticsRigs.yml new file mode 100644 index 0000000000..f7023732ea --- /dev/null +++ b/html/changelogs/mechoid - RoboticsRigs.yml @@ -0,0 +1,38 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Mechoid + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Move Rig modules to more granular files" + - rscadd: "Add RIG components to robotics mechfab, plus incredibly basic belt-voidsuit RIG." + - rscadd: "Add Graphite, made by compressing coal, presently only used heavily in RIG components." diff --git a/html/changelogs/mechoid - exoexpansion.yml b/html/changelogs/mechoid - exoexpansion.yml new file mode 100644 index 0000000000..c8a399fe79 --- /dev/null +++ b/html/changelogs/mechoid - exoexpansion.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Mechoid + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Hardpoint Actuator equipment for Exosuits, allowing them (And most effectively, Ripleys) to swap components on the fly, after a short delay." + - rscadd: "Exo Inflatables Deployer, allowing exosuits to pick up and deploy inflatables." + - rscadd: "Exo screwdriver, wirecutters, and welding laser, to help round-out the tool-based equipment types." + - rscadd: "Fire modifiers based on stacks added, to be used by the damage system tweaked above." + - tweak: "Incendiary exo weapons tweaked to conform with fire change." + - tweak: "Ignition effects from weapons changed from the old fire-system to the modifier fire system." + - bugfix: "Shocker now retaliates properly against melee." diff --git a/html/changelogs/neerti-hacking_QoL.yml b/html/changelogs/neerti-hacking_QoL.yml new file mode 100644 index 0000000000..3aa3bd9e2e --- /dev/null +++ b/html/changelogs/neerti-hacking_QoL.yml @@ -0,0 +1,38 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Neerti + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "The 'cut' and 'pulse' buttons in the hacking interface now check all available hands for tools, instead of only the active hand." + - tweak: "The textual indicators at the bottom of the hacking window will now go bold when they change, until the next window refresh." + - tweak: "Hacking an Autolathe no longer requires you to hack it using the Autolathe's main window, but instead opens the hacking window like everything else." diff --git a/html/changelogs/novacat - sniperqol.yml b/html/changelogs/novacat - sniperqol.yml new file mode 100644 index 0000000000..bc7ce5fe9b --- /dev/null +++ b/html/changelogs/novacat - sniperqol.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: novacat + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds action buttons for all sniper weapons." diff --git a/html/changelogs/schnayy - cooking adjustments.yml b/html/changelogs/schnayy - cooking adjustments.yml new file mode 100644 index 0000000000..b45ba131d7 --- /dev/null +++ b/html/changelogs/schnayy - cooking adjustments.yml @@ -0,0 +1,10 @@ +author: schnayy + +delete-after: True + +changes: + - rscadd: "Adds the reagent yeast. It can be found in the kitchen vendor and in cargo kitchen supply crates." + - tweak: "Bread now calls for 5 units yeast instead of an egg, and baguettes and croissants call for 5 units yeast in addition to former ingredients." + - rscadd: "Corn oil added to the Dinnerware vendor and the Booze-o-Mat." + - imageadd: "Sprites for peanut butter, mayo, and yeast condiments." + - bugfix: "Boiled slime core now links to the proper sprite." \ No newline at end of file diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 64449a2bfc..4419ed4772 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/effects_vr.dmi b/icons/effects/effects_vr.dmi new file mode 100644 index 0000000000..276a33bae6 Binary files /dev/null and b/icons/effects/effects_vr.dmi differ diff --git a/icons/effects/lighting_overlay.dmi b/icons/effects/lighting_overlay.dmi index b8c184562f..bc3d25204c 100644 Binary files a/icons/effects/lighting_overlay.dmi and b/icons/effects/lighting_overlay.dmi differ diff --git a/icons/effects/numbers.dmi b/icons/effects/numbers.dmi new file mode 100644 index 0000000000..fcf9463ccd Binary files /dev/null and b/icons/effects/numbers.dmi differ diff --git a/icons/goonstation/featherzone.dmi b/icons/goonstation/featherzone.dmi new file mode 100644 index 0000000000..65fed09ccc Binary files /dev/null and b/icons/goonstation/featherzone.dmi differ diff --git a/icons/mecha/fighters64x64.dmi b/icons/mecha/fighters64x64.dmi new file mode 100644 index 0000000000..2022efbd51 Binary files /dev/null and b/icons/mecha/fighters64x64.dmi differ diff --git a/icons/mecha/mecha64x64.dmi b/icons/mecha/mecha64x64.dmi index 141724e4ad..43d165c4c9 100644 Binary files a/icons/mecha/mecha64x64.dmi and b/icons/mecha/mecha64x64.dmi differ diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index cba863ea47..1fcdff0f72 100644 Binary files a/icons/mecha/mecha_equipment.dmi and b/icons/mecha/mecha_equipment.dmi differ diff --git a/icons/misc/map_helpers.dmi b/icons/misc/map_helpers.dmi new file mode 100644 index 0000000000..da565a67c0 Binary files /dev/null and b/icons/misc/map_helpers.dmi differ diff --git a/icons/mob/animal_vr64x64.dmi b/icons/mob/animal_vr64x64.dmi new file mode 100644 index 0000000000..b25b8e45f0 Binary files /dev/null and b/icons/mob/animal_vr64x64.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 3dd2c190b7..e564761550 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/head_vr.dmi b/icons/mob/head_vr.dmi index 12b65c43fc..3db239e18d 100644 Binary files a/icons/mob/head_vr.dmi and b/icons/mob/head_vr.dmi differ diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index d7172c72d3..baffef6647 100644 Binary files a/icons/mob/human_face.dmi and b/icons/mob/human_face.dmi differ diff --git a/icons/mob/human_face_m.dmi b/icons/mob/human_face_m.dmi index d817c2df4e..2a6586d3d2 100644 Binary files a/icons/mob/human_face_m.dmi and b/icons/mob/human_face_m.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/cenilimicybernetics/cenilimicybernetics_teshari.dmi b/icons/mob/human_races/cyberlimbs/cenilimicybernetics/cenilimicybernetics_teshari.dmi new file mode 100644 index 0000000000..805fe2b513 Binary files /dev/null and b/icons/mob/human_races/cyberlimbs/cenilimicybernetics/cenilimicybernetics_teshari.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_tajaran.dmi b/icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_tajaran.dmi new file mode 100644 index 0000000000..5abac25088 Binary files /dev/null and b/icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_tajaran.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_unathi.dmi b/icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_unathi.dmi new file mode 100644 index 0000000000..545064c263 Binary files /dev/null and b/icons/mob/human_races/cyberlimbs/nanotrasen/nanotrasen_unathi.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/unbranded/unbranded_tajaran.dmi b/icons/mob/human_races/cyberlimbs/unbranded/unbranded_tajaran.dmi new file mode 100644 index 0000000000..0ac5a1e16f Binary files /dev/null and b/icons/mob/human_races/cyberlimbs/unbranded/unbranded_tajaran.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/unbranded/unbranded_teshari.dmi b/icons/mob/human_races/cyberlimbs/unbranded/unbranded_teshari.dmi new file mode 100644 index 0000000000..e8eaf7d2c6 Binary files /dev/null and b/icons/mob/human_races/cyberlimbs/unbranded/unbranded_teshari.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/unbranded/unbranded_unathi.dmi b/icons/mob/human_races/cyberlimbs/unbranded/unbranded_unathi.dmi new file mode 100644 index 0000000000..1546d3f747 Binary files /dev/null and b/icons/mob/human_races/cyberlimbs/unbranded/unbranded_unathi.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/veymed/dionaea/skrellian.dmi b/icons/mob/human_races/cyberlimbs/veymed/dionaea/skrellian.dmi new file mode 100644 index 0000000000..243d9fde59 Binary files /dev/null and b/icons/mob/human_races/cyberlimbs/veymed/dionaea/skrellian.dmi differ diff --git a/icons/mob/human_races/cyberlimbs/veymed/veymed_skrell.dmi b/icons/mob/human_races/cyberlimbs/veymed/veymed_skrell.dmi new file mode 100644 index 0000000000..71a5f9020d Binary files /dev/null and b/icons/mob/human_races/cyberlimbs/veymed/veymed_skrell.dmi differ diff --git a/icons/mob/human_races/r_seromi.dmi b/icons/mob/human_races/r_seromi.dmi index ba8a7e2925..f44b8024c2 100644 Binary files a/icons/mob/human_races/r_seromi.dmi and b/icons/mob/human_races/r_seromi.dmi differ diff --git a/icons/mob/items/lefthand_guns.dmi b/icons/mob/items/lefthand_guns.dmi index 34538ad383..afa3224de1 100644 Binary files a/icons/mob/items/lefthand_guns.dmi and b/icons/mob/items/lefthand_guns.dmi differ diff --git a/icons/mob/items/lefthand_melee.dmi b/icons/mob/items/lefthand_melee.dmi index 7df4b09d86..fa92a768f3 100644 Binary files a/icons/mob/items/lefthand_melee.dmi and b/icons/mob/items/lefthand_melee.dmi differ diff --git a/icons/mob/items/righthand_guns.dmi b/icons/mob/items/righthand_guns.dmi index 898cdac880..48b6cc6763 100644 Binary files a/icons/mob/items/righthand_guns.dmi and b/icons/mob/items/righthand_guns.dmi differ diff --git a/icons/mob/items/righthand_melee.dmi b/icons/mob/items/righthand_melee.dmi index 62886cb160..916f610112 100644 Binary files a/icons/mob/items/righthand_melee.dmi and b/icons/mob/items/righthand_melee.dmi differ diff --git a/icons/mob/rig_back.dmi b/icons/mob/rig_back.dmi index 74cb306a6c..d3402980d7 100644 Binary files a/icons/mob/rig_back.dmi and b/icons/mob/rig_back.dmi differ diff --git a/icons/mob/spacesuit.dmi b/icons/mob/spacesuit.dmi index 504a947b22..7c1425e07c 100644 Binary files a/icons/mob/spacesuit.dmi and b/icons/mob/spacesuit.dmi differ diff --git a/icons/mob/species/akula/helmet_vr.dmi b/icons/mob/species/akula/helmet_vr.dmi index ca9164f966..d92a0a7d41 100644 Binary files a/icons/mob/species/akula/helmet_vr.dmi and b/icons/mob/species/akula/helmet_vr.dmi differ diff --git a/icons/mob/species/akula/suit_vr.dmi b/icons/mob/species/akula/suit_vr.dmi index 10617a34a9..ec3fb3f308 100644 Binary files a/icons/mob/species/akula/suit_vr.dmi and b/icons/mob/species/akula/suit_vr.dmi differ diff --git a/icons/mob/species/fennec/helmet_vr.dmi b/icons/mob/species/fennec/helmet_vr.dmi deleted file mode 100644 index 2a8cb06994..0000000000 Binary files a/icons/mob/species/fennec/helmet_vr.dmi and /dev/null differ diff --git a/icons/mob/species/fennec/suit_vr.dmi b/icons/mob/species/fennec/suit_vr.dmi deleted file mode 100644 index c1669b05da..0000000000 Binary files a/icons/mob/species/fennec/suit_vr.dmi and /dev/null differ diff --git a/icons/mob/species/fox/helmet_vr.dmi b/icons/mob/species/fox/helmet_vr.dmi deleted file mode 100644 index 2a8cb06994..0000000000 Binary files a/icons/mob/species/fox/helmet_vr.dmi and /dev/null differ diff --git a/icons/mob/species/fox/suit_vr.dmi b/icons/mob/species/fox/suit_vr.dmi deleted file mode 100644 index c1669b05da..0000000000 Binary files a/icons/mob/species/fox/suit_vr.dmi and /dev/null differ diff --git a/icons/mob/species/nevrean/helmet_vr.dmi b/icons/mob/species/nevrean/helmet_vr.dmi deleted file mode 100644 index a0ff9017b7..0000000000 Binary files a/icons/mob/species/nevrean/helmet_vr.dmi and /dev/null differ diff --git a/icons/mob/species/nevrean/suit_vr.dmi b/icons/mob/species/nevrean/suit_vr.dmi deleted file mode 100644 index 7a8594036b..0000000000 Binary files a/icons/mob/species/nevrean/suit_vr.dmi and /dev/null differ diff --git a/icons/mob/species/sergal/helmet_vr.dmi b/icons/mob/species/sergal/helmet_vr.dmi index 23aa8b6dd1..f3336dadf2 100644 Binary files a/icons/mob/species/sergal/helmet_vr.dmi and b/icons/mob/species/sergal/helmet_vr.dmi differ diff --git a/icons/mob/species/sergal/suit_vr.dmi b/icons/mob/species/sergal/suit_vr.dmi index 5d6a4d3279..cd397fe036 100644 Binary files a/icons/mob/species/sergal/suit_vr.dmi and b/icons/mob/species/sergal/suit_vr.dmi differ diff --git a/icons/mob/species/seromi/back.dmi b/icons/mob/species/seromi/back.dmi index 0dcbeae289..b330228a40 100644 Binary files a/icons/mob/species/seromi/back.dmi and b/icons/mob/species/seromi/back.dmi differ diff --git a/icons/mob/species/seromi/eyes.dmi b/icons/mob/species/seromi/eyes.dmi index 01e2475c3d..6ea9bfb05c 100644 Binary files a/icons/mob/species/seromi/eyes.dmi and b/icons/mob/species/seromi/eyes.dmi differ diff --git a/icons/mob/species/skrell/helmet.dmi b/icons/mob/species/skrell/helmet.dmi index e095112b9d..74f0afd7b9 100644 Binary files a/icons/mob/species/skrell/helmet.dmi and b/icons/mob/species/skrell/helmet.dmi differ diff --git a/icons/mob/species/skrell/suit.dmi b/icons/mob/species/skrell/suit.dmi index 87fd12b212..468975ff63 100644 Binary files a/icons/mob/species/skrell/suit.dmi and b/icons/mob/species/skrell/suit.dmi differ diff --git a/icons/mob/species/tajaran/helmet.dmi b/icons/mob/species/tajaran/helmet.dmi index 5cb060dbe4..9e1d5c5f37 100644 Binary files a/icons/mob/species/tajaran/helmet.dmi and b/icons/mob/species/tajaran/helmet.dmi differ diff --git a/icons/mob/species/tajaran/mask.dmi b/icons/mob/species/tajaran/mask.dmi index 71a5c85389..6902130e1d 100644 Binary files a/icons/mob/species/tajaran/mask.dmi and b/icons/mob/species/tajaran/mask.dmi differ diff --git a/icons/mob/species/tajaran/suit.dmi b/icons/mob/species/tajaran/suit.dmi index 9e211d4290..299f25a9ea 100644 Binary files a/icons/mob/species/tajaran/suit.dmi and b/icons/mob/species/tajaran/suit.dmi differ diff --git a/icons/mob/species/unathi/helmet.dmi b/icons/mob/species/unathi/helmet.dmi index 00dfec5a86..38a23aeeda 100644 Binary files a/icons/mob/species/unathi/helmet.dmi and b/icons/mob/species/unathi/helmet.dmi differ diff --git a/icons/mob/species/unathi/suit.dmi b/icons/mob/species/unathi/suit.dmi index 430f5b9c35..cbd7579c9a 100644 Binary files a/icons/mob/species/unathi/suit.dmi and b/icons/mob/species/unathi/suit.dmi differ diff --git a/icons/mob/suit_vr.dmi b/icons/mob/suit_vr.dmi index da3c85c443..12cada28eb 100644 Binary files a/icons/mob/suit_vr.dmi and b/icons/mob/suit_vr.dmi differ diff --git a/icons/mob/vore/ears_vr.dmi b/icons/mob/vore/ears_vr.dmi index d26ef60186..daeefa2337 100644 Binary files a/icons/mob/vore/ears_vr.dmi and b/icons/mob/vore/ears_vr.dmi differ diff --git a/icons/mob/vore/tails_vr.dmi b/icons/mob/vore/tails_vr.dmi index b07cc7118b..dcd82f0268 100644 Binary files a/icons/mob/vore/tails_vr.dmi and b/icons/mob/vore/tails_vr.dmi differ diff --git a/icons/mob/vore/wings_vr.dmi b/icons/mob/vore/wings_vr.dmi index f6a78f51b4..eac706d66b 100644 Binary files a/icons/mob/vore/wings_vr.dmi and b/icons/mob/vore/wings_vr.dmi differ diff --git a/icons/mob/vore64x32.dmi b/icons/mob/vore64x32.dmi index 7a96aa40ca..492c0ae6f4 100644 Binary files a/icons/mob/vore64x32.dmi and b/icons/mob/vore64x32.dmi differ diff --git a/icons/mob/vore64x64.dmi b/icons/mob/vore64x64.dmi index 76c5830021..50251e22cc 100644 Binary files a/icons/mob/vore64x64.dmi and b/icons/mob/vore64x64.dmi differ diff --git a/icons/obj/abductor_vr.dmi b/icons/obj/abductor_vr.dmi new file mode 100644 index 0000000000..9697506706 Binary files /dev/null and b/icons/obj/abductor_vr.dmi differ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index e32b870d99..5348b4091f 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index 34bf88828a..a83c32053a 100644 Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ diff --git a/icons/obj/clothing/backpack.dmi b/icons/obj/clothing/backpack.dmi index efef48c11d..7132925559 100644 Binary files a/icons/obj/clothing/backpack.dmi and b/icons/obj/clothing/backpack.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index f913a4381b..d170c2510d 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/spacesuits.dmi b/icons/obj/clothing/spacesuits.dmi index bffef09846..2ee7110282 100644 Binary files a/icons/obj/clothing/spacesuits.dmi and b/icons/obj/clothing/spacesuits.dmi differ diff --git a/icons/obj/clothing/species/akula/hats.dmi b/icons/obj/clothing/species/akula/hats.dmi index 1418fd99f6..4ab93687ff 100644 Binary files a/icons/obj/clothing/species/akula/hats.dmi and b/icons/obj/clothing/species/akula/hats.dmi differ diff --git a/icons/obj/clothing/species/akula/suits.dmi b/icons/obj/clothing/species/akula/suits.dmi index 4d411f3f21..7ea4cbf96b 100644 Binary files a/icons/obj/clothing/species/akula/suits.dmi and b/icons/obj/clothing/species/akula/suits.dmi differ diff --git a/icons/obj/clothing/species/fennec/hats.dmi b/icons/obj/clothing/species/fennec/hats.dmi deleted file mode 100644 index bb4251f3fc..0000000000 Binary files a/icons/obj/clothing/species/fennec/hats.dmi and /dev/null differ diff --git a/icons/obj/clothing/species/fennec/suits.dmi b/icons/obj/clothing/species/fennec/suits.dmi deleted file mode 100644 index bcfee339a1..0000000000 Binary files a/icons/obj/clothing/species/fennec/suits.dmi and /dev/null differ diff --git a/icons/obj/clothing/species/fox/hats.dmi b/icons/obj/clothing/species/fox/hats.dmi deleted file mode 100644 index 4c0f2c0f9f..0000000000 Binary files a/icons/obj/clothing/species/fox/hats.dmi and /dev/null differ diff --git a/icons/obj/clothing/species/fox/suits.dmi b/icons/obj/clothing/species/fox/suits.dmi deleted file mode 100644 index 559b5f46b8..0000000000 Binary files a/icons/obj/clothing/species/fox/suits.dmi and /dev/null differ diff --git a/icons/obj/clothing/species/nevrean/hats.dmi b/icons/obj/clothing/species/nevrean/hats.dmi deleted file mode 100644 index 1418fd99f6..0000000000 Binary files a/icons/obj/clothing/species/nevrean/hats.dmi and /dev/null differ diff --git a/icons/obj/clothing/species/nevrean/suits.dmi b/icons/obj/clothing/species/nevrean/suits.dmi deleted file mode 100644 index 2b20ea3eaf..0000000000 Binary files a/icons/obj/clothing/species/nevrean/suits.dmi and /dev/null differ diff --git a/icons/obj/clothing/species/sergal/hats.dmi b/icons/obj/clothing/species/sergal/hats.dmi index 50b31d6abd..f1542eeada 100644 Binary files a/icons/obj/clothing/species/sergal/hats.dmi and b/icons/obj/clothing/species/sergal/hats.dmi differ diff --git a/icons/obj/clothing/species/sergal/suits.dmi b/icons/obj/clothing/species/sergal/suits.dmi index eed6731b97..e782ed1f8c 100644 Binary files a/icons/obj/clothing/species/sergal/suits.dmi and b/icons/obj/clothing/species/sergal/suits.dmi differ diff --git a/icons/obj/clothing/species/skrell/hats.dmi b/icons/obj/clothing/species/skrell/hats.dmi index b28f2d64e6..24f1cf14d3 100644 Binary files a/icons/obj/clothing/species/skrell/hats.dmi and b/icons/obj/clothing/species/skrell/hats.dmi differ diff --git a/icons/obj/clothing/species/skrell/suits.dmi b/icons/obj/clothing/species/skrell/suits.dmi index c2e084864a..65af0160d7 100644 Binary files a/icons/obj/clothing/species/skrell/suits.dmi and b/icons/obj/clothing/species/skrell/suits.dmi differ diff --git a/icons/obj/clothing/species/tajaran/hats.dmi b/icons/obj/clothing/species/tajaran/hats.dmi index 409c7b9f7f..c5a1415d0d 100644 Binary files a/icons/obj/clothing/species/tajaran/hats.dmi and b/icons/obj/clothing/species/tajaran/hats.dmi differ diff --git a/icons/obj/clothing/species/tajaran/suits.dmi b/icons/obj/clothing/species/tajaran/suits.dmi index a579dc7a39..31df8f07f7 100644 Binary files a/icons/obj/clothing/species/tajaran/suits.dmi and b/icons/obj/clothing/species/tajaran/suits.dmi differ diff --git a/icons/obj/clothing/species/unathi/hats.dmi b/icons/obj/clothing/species/unathi/hats.dmi index 9f6d7a8aed..d9d7160f78 100644 Binary files a/icons/obj/clothing/species/unathi/hats.dmi and b/icons/obj/clothing/species/unathi/hats.dmi differ diff --git a/icons/obj/clothing/species/unathi/suits.dmi b/icons/obj/clothing/species/unathi/suits.dmi index a363b6104e..0b3f7884a1 100644 Binary files a/icons/obj/clothing/species/unathi/suits.dmi and b/icons/obj/clothing/species/unathi/suits.dmi differ diff --git a/icons/obj/clothing/species/vulpkanin/hats.dmi b/icons/obj/clothing/species/vulpkanin/hats.dmi index bb4251f3fc..ae728fb578 100644 Binary files a/icons/obj/clothing/species/vulpkanin/hats.dmi and b/icons/obj/clothing/species/vulpkanin/hats.dmi differ diff --git a/icons/obj/clothing/species/vulpkanin/suits.dmi b/icons/obj/clothing/species/vulpkanin/suits.dmi index bcfee339a1..bb8ec740d6 100644 Binary files a/icons/obj/clothing/species/vulpkanin/suits.dmi and b/icons/obj/clothing/species/vulpkanin/suits.dmi differ diff --git a/icons/obj/clothing/suits_vr.dmi b/icons/obj/clothing/suits_vr.dmi index 5025c5f7d6..a10d6cc9ea 100644 Binary files a/icons/obj/clothing/suits_vr.dmi and b/icons/obj/clothing/suits_vr.dmi differ diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index b3f6a15d3b..6402215f63 100644 Binary files a/icons/obj/computer.dmi and b/icons/obj/computer.dmi differ diff --git a/icons/obj/computer_vr.dmi b/icons/obj/computer_vr.dmi index 0c70fcd315..34716d288c 100644 Binary files a/icons/obj/computer_vr.dmi and b/icons/obj/computer_vr.dmi differ diff --git a/icons/obj/contraband_vr.dmi b/icons/obj/contraband_vr.dmi new file mode 100644 index 0000000000..094e3790f0 Binary files /dev/null and b/icons/obj/contraband_vr.dmi differ diff --git a/icons/obj/deluxemicrowave.dmi b/icons/obj/deluxemicrowave.dmi new file mode 100644 index 0000000000..636b4144e1 Binary files /dev/null and b/icons/obj/deluxemicrowave.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index b77f38197e..ba795e6576 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/device_alt.dmi b/icons/obj/device_alt.dmi index 04150faf4c..4ca8443229 100644 Binary files a/icons/obj/device_alt.dmi and b/icons/obj/device_alt.dmi differ diff --git a/icons/obj/flight_computer_vr.dmi b/icons/obj/flight_computer_vr.dmi new file mode 100644 index 0000000000..44d87c1c72 Binary files /dev/null and b/icons/obj/flight_computer_vr.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 4fc3bc05c6..64f4753b7b 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/furniture_vr.dmi b/icons/obj/furniture_vr.dmi index 28f9a702c1..4ad6fbff98 100644 Binary files a/icons/obj/furniture_vr.dmi and b/icons/obj/furniture_vr.dmi differ diff --git a/icons/obj/hud_full.dmi b/icons/obj/hud_full.dmi deleted file mode 100644 index ee980e9d7d..0000000000 Binary files a/icons/obj/hud_full.dmi and /dev/null differ diff --git a/icons/obj/hud_tiled.dmi b/icons/obj/hud_tiled.dmi new file mode 100644 index 0000000000..80218d1814 Binary files /dev/null and b/icons/obj/hud_tiled.dmi differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 45cbd2be03..6c5a251283 100644 Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ diff --git a/icons/obj/modular_console.dmi b/icons/obj/modular_console.dmi index e16c2c7be8..125711410d 100644 Binary files a/icons/obj/modular_console.dmi and b/icons/obj/modular_console.dmi differ diff --git a/icons/obj/modular_laptop.dmi b/icons/obj/modular_laptop.dmi index 8f060dd500..4294fa4370 100644 Binary files a/icons/obj/modular_laptop.dmi and b/icons/obj/modular_laptop.dmi differ diff --git a/icons/obj/modular_tablet.dmi b/icons/obj/modular_tablet.dmi index 5c86d27d89..33ca98c940 100644 Binary files a/icons/obj/modular_tablet.dmi and b/icons/obj/modular_tablet.dmi differ diff --git a/icons/obj/monitors_vr.dmi b/icons/obj/monitors_vr.dmi index deffb232ff..8c40742636 100644 Binary files a/icons/obj/monitors_vr.dmi and b/icons/obj/monitors_vr.dmi differ diff --git a/icons/obj/overmap.dmi b/icons/obj/overmap.dmi new file mode 100644 index 0000000000..20523513b3 Binary files /dev/null and b/icons/obj/overmap.dmi differ diff --git a/icons/obj/overmap_vr.dmi b/icons/obj/overmap_vr.dmi new file mode 100644 index 0000000000..4b91051483 Binary files /dev/null and b/icons/obj/overmap_vr.dmi differ diff --git a/icons/obj/pda_holo.dmi b/icons/obj/pda_holo.dmi index add15b941f..4e92a6d6d9 100644 Binary files a/icons/obj/pda_holo.dmi and b/icons/obj/pda_holo.dmi differ diff --git a/icons/obj/pointdefense.dmi b/icons/obj/pointdefense.dmi new file mode 100644 index 0000000000..8b852e69fe Binary files /dev/null and b/icons/obj/pointdefense.dmi differ diff --git a/icons/obj/power_vr.dmi b/icons/obj/power_vr.dmi index 1971b2d531..05a1cfa484 100644 Binary files a/icons/obj/power_vr.dmi and b/icons/obj/power_vr.dmi differ diff --git a/icons/obj/projectiles_impact.dmi b/icons/obj/projectiles_impact.dmi index fd9d314310..19f6d1db96 100644 Binary files a/icons/obj/projectiles_impact.dmi and b/icons/obj/projectiles_impact.dmi differ diff --git a/icons/obj/projectiles_muzzle.dmi b/icons/obj/projectiles_muzzle.dmi index d88b9a283e..6c9d8cf694 100644 Binary files a/icons/obj/projectiles_muzzle.dmi and b/icons/obj/projectiles_muzzle.dmi differ diff --git a/icons/obj/projectiles_tracer.dmi b/icons/obj/projectiles_tracer.dmi index 153794a929..935e3afd21 100644 Binary files a/icons/obj/projectiles_tracer.dmi and b/icons/obj/projectiles_tracer.dmi differ diff --git a/icons/obj/railgun.dmi b/icons/obj/railgun.dmi index 0143f9053e..b47d8671a3 100644 Binary files a/icons/obj/railgun.dmi and b/icons/obj/railgun.dmi differ diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi index c99de40c15..232203b46e 100644 Binary files a/icons/obj/reagentfillings.dmi and b/icons/obj/reagentfillings.dmi differ diff --git a/icons/obj/rig_modules.dmi b/icons/obj/rig_modules.dmi index 833baa61ca..1b6b12e465 100644 Binary files a/icons/obj/rig_modules.dmi and b/icons/obj/rig_modules.dmi differ diff --git a/icons/obj/rollerbed.dmi b/icons/obj/rollerbed.dmi index b9950653c9..1f869659bb 100644 Binary files a/icons/obj/rollerbed.dmi and b/icons/obj/rollerbed.dmi differ diff --git a/icons/obj/rollerbed_vr.dmi b/icons/obj/rollerbed_vr.dmi deleted file mode 100644 index 7aa263e2da..0000000000 Binary files a/icons/obj/rollerbed_vr.dmi and /dev/null differ diff --git a/icons/obj/stationobjs_vr.dmi b/icons/obj/stationobjs_vr.dmi index 00a87e576b..88c49a5045 100644 Binary files a/icons/obj/stationobjs_vr.dmi and b/icons/obj/stationobjs_vr.dmi differ diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi index 2c6f880e66..b66e5111d8 100644 Binary files a/icons/obj/stock_parts.dmi and b/icons/obj/stock_parts.dmi differ diff --git a/icons/obj/stock_parts_vr.dmi b/icons/obj/stock_parts_vr.dmi new file mode 100644 index 0000000000..7b078871a7 Binary files /dev/null and b/icons/obj/stock_parts_vr.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index fb2464af26..9b7ad90e8f 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/survival_pod_vend.dmi b/icons/obj/survival_pod_vend.dmi index 2c8b6d5775..88c71b3866 100644 Binary files a/icons/obj/survival_pod_vend.dmi and b/icons/obj/survival_pod_vend.dmi differ diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index f77a777e9c..16eb4c814a 100755 Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ diff --git a/icons/obj/vending_vr.dmi b/icons/obj/vending_vr.dmi index 789edc1052..2763874ed4 100644 Binary files a/icons/obj/vending_vr.dmi and b/icons/obj/vending_vr.dmi differ diff --git a/icons/obj/walllocker.dmi b/icons/obj/walllocker.dmi index d4d5ced3d2..57d6833b53 100644 Binary files a/icons/obj/walllocker.dmi and b/icons/obj/walllocker.dmi differ diff --git a/icons/obj/xenoarchaeology.dmi b/icons/obj/xenoarchaeology.dmi index e484762679..d500a48be0 100644 Binary files a/icons/obj/xenoarchaeology.dmi and b/icons/obj/xenoarchaeology.dmi differ diff --git a/icons/skybox/electrobox.dmi b/icons/skybox/electrobox.dmi new file mode 100644 index 0000000000..52e9f5d8cc Binary files /dev/null and b/icons/skybox/electrobox.dmi differ diff --git a/icons/skybox/ionbox.dmi b/icons/skybox/ionbox.dmi new file mode 100644 index 0000000000..7f5c5b15d6 Binary files /dev/null and b/icons/skybox/ionbox.dmi differ diff --git a/icons/skybox/planet.dmi b/icons/skybox/planet.dmi new file mode 100644 index 0000000000..45497b6e5f Binary files /dev/null and b/icons/skybox/planet.dmi differ diff --git a/icons/skybox/planet_rings.dmi b/icons/skybox/planet_rings.dmi new file mode 100644 index 0000000000..b122605206 Binary files /dev/null and b/icons/skybox/planet_rings.dmi differ diff --git a/icons/skybox/radbox.dmi b/icons/skybox/radbox.dmi new file mode 100644 index 0000000000..8b44c21257 Binary files /dev/null and b/icons/skybox/radbox.dmi differ diff --git a/icons/skybox/rockbox.dmi b/icons/skybox/rockbox.dmi new file mode 100644 index 0000000000..3a4d97595c Binary files /dev/null and b/icons/skybox/rockbox.dmi differ diff --git a/icons/skybox/skybox.dmi b/icons/skybox/skybox.dmi new file mode 100644 index 0000000000..2a16a2f81d Binary files /dev/null and b/icons/skybox/skybox.dmi differ diff --git a/icons/skybox/skybox_rock_128.dmi b/icons/skybox/skybox_rock_128.dmi new file mode 100644 index 0000000000..732eaf1136 Binary files /dev/null and b/icons/skybox/skybox_rock_128.dmi differ diff --git a/icons/skybox/skybox_rocks.dmi b/icons/skybox/skybox_rocks.dmi new file mode 100644 index 0000000000..b917bc9eaa Binary files /dev/null and b/icons/skybox/skybox_rocks.dmi differ diff --git a/icons/skybox/skybox_vr.dmi b/icons/skybox/skybox_vr.dmi new file mode 100644 index 0000000000..0b84fd8ae1 Binary files /dev/null and b/icons/skybox/skybox_vr.dmi differ diff --git a/icons/tgstation/clockworkwarrior.dmi b/icons/tgstation/clockworkwarrior.dmi new file mode 100644 index 0000000000..81e3d6eae7 Binary files /dev/null and b/icons/tgstation/clockworkwarrior.dmi differ diff --git a/icons/turf/flooring/lg_origin.dmi b/icons/turf/flooring/lg_origin.dmi new file mode 100644 index 0000000000..d455723fd0 Binary files /dev/null and b/icons/turf/flooring/lg_origin.dmi differ diff --git a/icons/turf/flooring/techfloor_vr.dmi b/icons/turf/flooring/techfloor_vr.dmi deleted file mode 100644 index 5124ff3146..0000000000 Binary files a/icons/turf/flooring/techfloor_vr.dmi and /dev/null differ diff --git a/icons/turf/shuttle_alien_blue.dmi b/icons/turf/shuttle_alien_blue.dmi index 203c11756e..1416dd6c42 100644 Binary files a/icons/turf/shuttle_alien_blue.dmi and b/icons/turf/shuttle_alien_blue.dmi differ diff --git a/icons/turf/shuttle_parts.dmi b/icons/turf/shuttle_parts.dmi index f7f1308d70..0604db6d7d 100644 Binary files a/icons/turf/shuttle_parts.dmi and b/icons/turf/shuttle_parts.dmi differ diff --git a/icons/turf/space.dmi b/icons/turf/space.dmi index 3e3afc355b..0263b8cb3c 100644 Binary files a/icons/turf/space.dmi and b/icons/turf/space.dmi differ diff --git a/icons/turf/space_dust.dmi b/icons/turf/space_dust.dmi new file mode 100644 index 0000000000..8328b3dba9 Binary files /dev/null and b/icons/turf/space_dust.dmi differ diff --git a/icons/turf/space_dust_transit.dmi b/icons/turf/space_dust_transit.dmi new file mode 100644 index 0000000000..db36a50efb Binary files /dev/null and b/icons/turf/space_dust_transit.dmi differ diff --git a/icons/turf/wall_masks.dmi b/icons/turf/wall_masks.dmi index 916d230ffd..c8564ac407 100644 Binary files a/icons/turf/wall_masks.dmi and b/icons/turf/wall_masks.dmi differ diff --git a/icons/vore/custom_clothes_vr.dmi b/icons/vore/custom_clothes_vr.dmi index 5ce30eb3cf..c1a3bf5383 100644 Binary files a/icons/vore/custom_clothes_vr.dmi and b/icons/vore/custom_clothes_vr.dmi differ diff --git a/interface/skin.dmf b/interface/skin.dmf index 0a772ea5c5..101d622eb4 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -1226,7 +1226,7 @@ window "outputwindow" background-color = #222222 is-visible = true saved-params = "" - text = "Chat is loading.\nIf nothing happens after 60s,\nuse OOC > \"Reload VChat\"." + text = "Chat is loading.\nIf nothing happens after 20s,\nuse OOC > \"Reload VChat\"." elem "htmloutput" type = BROWSER pos = 0,0 @@ -1251,6 +1251,7 @@ window "outputwindow" style = ".system {color:#FF0000;}" max-lines = 0 saved-params = "" + enable-http-images = true window "rpane" elem "rpane" diff --git a/maps/RandomZLevels/wildwest.dm b/maps/RandomZLevels/wildwest.dm index 96eeac77fb..83007c250e 100644 --- a/maps/RandomZLevels/wildwest.dm +++ b/maps/RandomZLevels/wildwest.dm @@ -1,173 +1,173 @@ -/* Code for the Wild West map by Brotemis - * Contains: - * Wish Granter - * Meat Grinder - */ - -/* - * Wish Granter - */ -/obj/machinery/wish_granter_dark - name = "Wish Granter" - desc = "You're not so sure about this, anymore..." - icon = 'icons/obj/device.dmi' - icon_state = "syndbeacon" - - anchored = 1 - density = 1 - use_power = 0 - - var/chargesa = 1 - var/insistinga = 0 - -/obj/machinery/wish_granter_dark/attack_hand(var/mob/living/carbon/human/user as mob) - usr.set_machine(src) - - if(chargesa <= 0) - to_chat(user, "The Wish Granter lies silent.") - return - - else if(!istype(user, /mob/living/carbon/human)) - to_chat(user, "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.") - return - - else if(is_special_character(user)) - to_chat(user, "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.") - - else if (!insistinga) - to_chat(user, "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?") - insistinga++ - - else - chargesa-- - insistinga = 0 - var/wish = input("You want...","Wish") as null|anything in list("Power","Wealth","Immortality","To Kill","Peace") - switch(wish) - if("Power") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") - if (!(LASER in user.mutations)) - user.mutations.Add(LASER) - to_chat(user, "You feel pressure building behind your eyes.") - if (!(COLD_RESISTANCE in user.mutations)) - user.mutations.Add(COLD_RESISTANCE) - to_chat(user, "Your body feels warm.") - if (!(XRAY in user.mutations)) - user.mutations.Add(XRAY) - user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) - user.see_in_dark = 8 - user.see_invisible = SEE_INVISIBLE_LEVEL_TWO - to_chat(user, "The walls suddenly disappear.") - user.dna.mutantrace = "shadow" - user.update_mutantrace() - if("Wealth") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") - new /obj/structure/closet/syndicate/resources/everything(loc) - user.dna.mutantrace = "shadow" - user.update_mutantrace() - if("Immortality") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") - user.verbs += /mob/living/carbon/proc/immortality - user.dna.mutantrace = "shadow" - user.update_mutantrace() - if("To Kill") - to_chat(user, "Your wish is granted, but at a terrible cost...") - to_chat(user, "The Wish Granter punishes you for your wickedness, claiming your soul and warping your body to match the darkness in your heart.") - ticker.mode.traitors += user.mind - user.mind.special_role = "traitor" - var/datum/objective/hijack/hijack = new - hijack.owner = user.mind - user.mind.objectives += hijack - to_chat(user, "Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!") - var/obj_count = 1 - for(var/datum/objective/OBJ in user.mind.objectives) - to_chat(user, "Objective #[obj_count]: [OBJ.explanation_text]") - obj_count++ - user.dna.mutantrace = "shadow" - user.update_mutantrace() - if("Peace") - to_chat(user, "Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence.") - to_chat(user, "You feel as if you just narrowly avoided a terrible fate...") - for(var/mob/living/simple_mob/faithless/F in living_mob_list) - F.health = -10 - F.stat = 2 - F.icon_state = "faithless_dead" - - -///////////////Meatgrinder////////////// - - -/obj/effect/meatgrinder - name = "Meat Grinder" - desc = "What is that thing?" - density = 1 - anchored = 1 - icon = 'icons/mob/critter.dmi' - icon_state = "blob" - var/triggerproc = "explode" //name of the proc thats called when the mine is triggered - var/triggered = 0 - -/obj/effect/meatgrinder/New() - icon_state = "blob" - -/obj/effect/meatgrinder/HasEntered(AM as mob|obj) - Bumped(AM) - -/obj/effect/meatgrinder/Bumped(mob/M as mob|obj) - - if(triggered) return - - if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey)) - for(var/mob/O in viewers(world.view, src.loc)) - to_chat(O, "[M] triggered the [bicon(src)] [src]") - triggered = 1 - call(src,triggerproc)(M) - -/obj/effect/meatgrinder/proc/triggerrad1(mob) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - for(var/mob/O in viewers(world.view, src.loc)) - s.set_up(3, 1, src) - s.start() - explosion(mob, 1, 0, 0, 0) - spawn(0) - qdel(src) - -/obj/effect/meatgrinder - name = "Meat Grinder" - icon_state = "blob" - triggerproc = "triggerrad1" - - -/////For the Wishgranter/////////// - -/mob/living/carbon/proc/immortality() - set category = "Immortality" - set name = "Resurrection" - - var/mob/living/carbon/C = usr - if(!C.stat) - to_chat(C, "You're not dead yet!") - return - to_chat(C, "Death is not your end!") - - spawn(rand(800,1200)) - if(C.stat == DEAD) - dead_mob_list -= C - living_mob_list += C - C.stat = CONSCIOUS - C.tod = null - C.setToxLoss(0) - C.setOxyLoss(0) - C.setCloneLoss(0) - C.SetParalysis(0) - C.SetStunned(0) - C.SetWeakened(0) - C.radiation = 0 - C.heal_overall_damage(C.getBruteLoss(), C.getFireLoss()) - C.reagents.clear_reagents() - to_chat(C, "You have regenerated.") - C.visible_message("[usr] appears to wake from the dead, having healed all wounds.") - C.update_canmove() - return 1 \ No newline at end of file +/* Code for the Wild West map by Brotemis + * Contains: + * Wish Granter + * Meat Grinder + */ + +/* + * Wish Granter + */ +/obj/machinery/wish_granter_dark + name = "Wish Granter" + desc = "You're not so sure about this, anymore..." + icon = 'icons/obj/device.dmi' + icon_state = "syndbeacon" + + anchored = 1 + density = 1 + use_power = USE_POWER_OFF + + var/chargesa = 1 + var/insistinga = 0 + +/obj/machinery/wish_granter_dark/attack_hand(var/mob/living/carbon/human/user as mob) + usr.set_machine(src) + + if(chargesa <= 0) + to_chat(user, "The Wish Granter lies silent.") + return + + else if(!istype(user, /mob/living/carbon/human)) + to_chat(user, "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.") + return + + else if(is_special_character(user)) + to_chat(user, "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.") + + else if (!insistinga) + to_chat(user, "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?") + insistinga++ + + else + chargesa-- + insistinga = 0 + var/wish = input("You want...","Wish") as null|anything in list("Power","Wealth","Immortality","To Kill","Peace") + switch(wish) + if("Power") + to_chat(user, "Your wish is granted, but at a terrible cost...") + to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") + if (!(LASER in user.mutations)) + user.mutations.Add(LASER) + to_chat(user, "You feel pressure building behind your eyes.") + if (!(COLD_RESISTANCE in user.mutations)) + user.mutations.Add(COLD_RESISTANCE) + to_chat(user, "Your body feels warm.") + if (!(XRAY in user.mutations)) + user.mutations.Add(XRAY) + user.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) + user.see_in_dark = 8 + user.see_invisible = SEE_INVISIBLE_LEVEL_TWO + to_chat(user, "The walls suddenly disappear.") + user.dna.mutantrace = "shadow" + user.update_mutantrace() + if("Wealth") + to_chat(user, "Your wish is granted, but at a terrible cost...") + to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") + new /obj/structure/closet/syndicate/resources/everything(loc) + user.dna.mutantrace = "shadow" + user.update_mutantrace() + if("Immortality") + to_chat(user, "Your wish is granted, but at a terrible cost...") + to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.") + user.verbs += /mob/living/carbon/proc/immortality + user.dna.mutantrace = "shadow" + user.update_mutantrace() + if("To Kill") + to_chat(user, "Your wish is granted, but at a terrible cost...") + to_chat(user, "The Wish Granter punishes you for your wickedness, claiming your soul and warping your body to match the darkness in your heart.") + ticker.mode.traitors += user.mind + user.mind.special_role = "traitor" + var/datum/objective/hijack/hijack = new + hijack.owner = user.mind + user.mind.objectives += hijack + to_chat(user, "Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!") + var/obj_count = 1 + for(var/datum/objective/OBJ in user.mind.objectives) + to_chat(user, "Objective #[obj_count]: [OBJ.explanation_text]") + obj_count++ + user.dna.mutantrace = "shadow" + user.update_mutantrace() + if("Peace") + to_chat(user, "Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence.") + to_chat(user, "You feel as if you just narrowly avoided a terrible fate...") + for(var/mob/living/simple_mob/faithless/F in living_mob_list) + F.health = -10 + F.set_stat(DEAD) + F.icon_state = "faithless_dead" + + +///////////////Meatgrinder////////////// + + +/obj/effect/meatgrinder + name = "Meat Grinder" + desc = "What is that thing?" + density = 1 + anchored = 1 + icon = 'icons/mob/critter.dmi' + icon_state = "blob" + var/triggerproc = "explode" //name of the proc thats called when the mine is triggered + var/triggered = 0 + +/obj/effect/meatgrinder/New() + icon_state = "blob" + +/obj/effect/meatgrinder/HasEntered(AM as mob|obj) + Bumped(AM) + +/obj/effect/meatgrinder/Bumped(mob/M as mob|obj) + + if(triggered) return + + if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey)) + for(var/mob/O in viewers(world.view, src.loc)) + to_chat(O, "[M] triggered the [bicon(src)] [src]") + triggered = 1 + call(src,triggerproc)(M) + +/obj/effect/meatgrinder/proc/triggerrad1(mob) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + for(var/mob/O in viewers(world.view, src.loc)) + s.set_up(3, 1, src) + s.start() + explosion(mob, 1, 0, 0, 0) + spawn(0) + qdel(src) + +/obj/effect/meatgrinder + name = "Meat Grinder" + icon_state = "blob" + triggerproc = "triggerrad1" + + +/////For the Wishgranter/////////// + +/mob/living/carbon/proc/immortality() + set category = "Immortality" + set name = "Resurrection" + + var/mob/living/carbon/C = usr + if(!C.stat) + to_chat(C, "You're not dead yet!") + return + to_chat(C, "Death is not your end!") + + spawn(rand(800,1200)) + if(C.stat == DEAD) + dead_mob_list -= C + living_mob_list += C + C.set_stat(CONSCIOUS) + C.tod = null + C.setToxLoss(0) + C.setOxyLoss(0) + C.setCloneLoss(0) + C.SetParalysis(0) + C.SetStunned(0) + C.SetWeakened(0) + C.radiation = 0 + C.heal_overall_damage(C.getBruteLoss(), C.getFireLoss()) + C.reagents.clear_reagents() + to_chat(C, "You have regenerated.") + C.visible_message("[usr] appears to wake from the dead, having healed all wounds.") + C.update_canmove() + return 1 diff --git a/maps/southern_cross/shuttles/crew_shuttles.dm b/maps/southern_cross/shuttles/crew_shuttles.dm index 010328602c..415faba24d 100644 --- a/maps/southern_cross/shuttles/crew_shuttles.dm +++ b/maps/southern_cross/shuttles/crew_shuttles.dm @@ -5,10 +5,11 @@ shuttle_tag = "Shuttle 1" req_access = list(access_pilot) -/datum/shuttle/web_shuttle/shuttle1 +/datum/shuttle/autodock/web_shuttle/shuttle1 name = "Shuttle 1" warmup_time = 0 - current_area = /area/shuttle/shuttle1/start + shuttle_area = /area/shuttle/shuttle1/start + current_location = "hangar_1" docking_controller_tag = "shuttle1_shuttle" web_master_type = /datum/shuttle_web_master/shuttle1 autopilot = TRUE @@ -48,10 +49,11 @@ shuttle_tag = "Shuttle 2" req_access = list(access_pilot) -/datum/shuttle/web_shuttle/shuttle2 +/datum/shuttle/autodock/web_shuttle/shuttle2 name = "Shuttle 2" warmup_time = 0 - current_area = /area/shuttle/shuttle2/start + shuttle_area = /area/shuttle/shuttle2/start + current_location = "hangar_2" docking_controller_tag = "shuttle2_shuttle" web_master_type = /datum/shuttle_web_master/shuttle2 autopilot = TRUE @@ -88,10 +90,9 @@ /datum/shuttle_destination/shuttle1/root name = "Southern Cross Hangar One" - my_area = /area/shuttle/shuttle1/start - preferred_interim_area = /area/shuttle/shuttle1/transit + my_landmark = "hangar_1" + preferred_interim_tag = "shuttle1_transit" - dock_target = "hangar_1" radio_announce = 1 announcer = "Southern Cross Docking Computer" @@ -107,10 +108,9 @@ /datum/shuttle_destination/shuttle2/root name = "Southern Cross Hangar Two" - my_area = /area/shuttle/shuttle2/start - preferred_interim_area = /area/shuttle/shuttle2/transit + my_landmark = "hangar_2" + preferred_interim_tag = "shuttle2_transit" - dock_target = "hangar_2" radio_announce = 1 announcer = "Southern Cross Docking Computer" @@ -127,8 +127,8 @@ /datum/shuttle_destination/shuttle1/outside_SC name = "Outside of NLS Southern Cross" - my_area = /area/shuttle/shuttle1/seconddeck - preferred_interim_area = /area/shuttle/shuttle1/transit + my_landmark = "shuttle1_seconddeck" + preferred_interim_tag = "shuttle1_transit" routes_to_make = list( /datum/shuttle_destination/shuttle1/sif_orbit = 25 SECONDS, @@ -137,8 +137,8 @@ /datum/shuttle_destination/shuttle2/outside_SC name = "Outside of NLS Southern Cross" - my_area = /area/shuttle/shuttle2/seconddeck - preferred_interim_area = /area/shuttle/shuttle2/transit + my_landmark = "shuttle2_seconddeck" + preferred_interim_tag = "shuttle2_transit" routes_to_make = list( /datum/shuttle_destination/shuttle2/sif_orbit = 25 SECONDS, @@ -148,10 +148,9 @@ /datum/shuttle_destination/shuttle1/docked_SC name = "Southern Cross Docking Port" - my_area = /area/shuttle/shuttle1/arrivals_dock - preferred_interim_area = /area/shuttle/shuttle1/transit + my_landmark = "shuttle1_arrivals_dock" + preferred_interim_tag = "shuttle1_transit" - dock_target = "shuttle1_dock_airlocksc" radio_announce = 1 announcer = "Southern Cross Docking Computer" @@ -164,10 +163,9 @@ /datum/shuttle_destination/shuttle2/docked_SC name = "Southern Cross Docking Port" - my_area = /area/shuttle/shuttle2/arrivals_dock - preferred_interim_area = /area/shuttle/shuttle2/transit + my_landmark = "shuttle2_arrivals_dock" + preferred_interim_tag = "shuttle2_transit" - dock_target = "shuttle2_dock_airlocksc" radio_announce = 1 announcer = "Southern Cross Docking Computer" @@ -180,8 +178,8 @@ /datum/shuttle_destination/shuttle1/sif_orbit name = "Sif Orbit" - my_area = /area/shuttle/shuttle1/orbit - preferred_interim_area = /area/shuttle/shuttle1/transit + my_landmark = "shuttle1_orbit" + preferred_interim_tag = "shuttle1_transit" routes_to_make = list( /datum/shuttle_destination/shuttle1/sky = 25 SECONDS @@ -189,8 +187,8 @@ /datum/shuttle_destination/shuttle2/sif_orbit name = "Sif Orbit" - my_area = /area/shuttle/shuttle2/orbit - preferred_interim_area = /area/shuttle/shuttle2/transit + my_landmark = "shuttle2_orbit" + preferred_interim_tag = "shuttle2_transit" routes_to_make = list( /datum/shuttle_destination/shuttle2/sky = 25 SECONDS @@ -199,8 +197,8 @@ /datum/shuttle_destination/shuttle1/sky name = "Skies of Sif" - my_area = /area/shuttle/shuttle1/sky - preferred_interim_area = /area/shuttle/shuttle1/sky_transit + my_landmark = "shuttle1_sky" + preferred_interim_tag = "shuttle1_sky_transit" routes_to_make = list( /datum/shuttle_destination/shuttle1/main_base = 10 SECONDS, @@ -209,8 +207,8 @@ /datum/shuttle_destination/shuttle2/sky name = "Skies of Sif" - my_area = /area/shuttle/shuttle2/sky - preferred_interim_area = /area/shuttle/shuttle2/sky_transit + my_landmark = "shuttle2_sky" + preferred_interim_tag = "shuttle2_sky_transit" routes_to_make = list( /datum/shuttle_destination/shuttle2/main_base = 10 SECONDS, @@ -220,10 +218,9 @@ /datum/shuttle_destination/shuttle1/main_base name = "Main Outpost" - my_area = /area/shuttle/shuttle1/planet - preferred_interim_area = /area/shuttle/shuttle1/sky_transit + my_landmark = "shuttle1_planet" + preferred_interim_tag = "shuttle1_sky_transit" - dock_target = "surface_dock_1" radio_announce = 1 announcer = "Outpost Automated ATC" @@ -235,10 +232,9 @@ /datum/shuttle_destination/shuttle2/main_base name = "Main Outpost" - my_area = /area/shuttle/shuttle2/planet - preferred_interim_area = /area/shuttle/shuttle2/sky_transit + my_landmark = "shuttle2_planet" + preferred_interim_tag = "shuttle2_sky_transit" - dock_target = "surface_dock_2" radio_announce = 1 announcer = "Outpost Automated ATC" @@ -251,10 +247,10 @@ /datum/shuttle_destination/shuttle1/mining_base name = "Wilderness Landing Site" - my_area = /area/shuttle/shuttle1/mining - preferred_interim_area = /area/shuttle/shuttle1/sky_transit + // Note: Left area under this landmark as /area/shuttle/shuttle1/mining so it doesn't get seeded with POIs + my_landmark = "shuttle1_mining" + preferred_interim_tag = "shuttle1_sky_transit" - dock_target = "mining_dock_1" radio_announce = 1 announcer = "Outpost Automated ATC" @@ -266,10 +262,10 @@ /datum/shuttle_destination/shuttle2/mining_base name = "Wilderness Landing Site " - my_area = /area/shuttle/shuttle2/mining - preferred_interim_area = /area/shuttle/shuttle2/sky_transit + // Note: Left area under this landmark as /area/shuttle/shuttle2/mining so it doesn't get seeded with POIs + my_landmark = "shuttle2_mining" + preferred_interim_tag = "shuttle2_sky_transit" - dock_target = "mining_dock_2" radio_announce = 1 announcer = "Outpost Automated ATC" diff --git a/maps/southern_cross/shuttles/ert.dm b/maps/southern_cross/shuttles/ert.dm index 4ab0314aff..b739d131ab 100644 --- a/maps/southern_cross/shuttles/ert.dm +++ b/maps/southern_cross/shuttles/ert.dm @@ -27,12 +27,13 @@ req_access = list(access_cent_specops) shuttle_tag = "Response Operations" -/datum/shuttle/web_shuttle/ert +/datum/shuttle/autodock/web_shuttle/ert name = "Response Operations" warmup_time = 0 can_cloak = TRUE cloaked = FALSE - current_area = /area/shuttle/response_ship/start + shuttle_area = /area/shuttle/response_ship/start + current_location = "response_ship_start" docking_controller_tag = "response_shuttle" web_master_type = /datum/shuttle_web_master/ert flight_time_modifier = 0.5 // High speed low drag etc @@ -41,13 +42,10 @@ destination_class = /datum/shuttle_destination/ert starting_destination = /datum/shuttle_destination/ert/root - /datum/shuttle_destination/ert/root name = "Central Command" - my_area = /area/shuttle/response_ship/start - preferred_interim_area = /area/shuttle/response_ship/transit - - dock_target = "response_base" + my_landmark = "response_ship_start" + preferred_interim_tag = "response_ship_transit" routes_to_make = list( /datum/shuttle_destination/ert/orbit = 1 MINUTE, @@ -55,8 +53,8 @@ /datum/shuttle_destination/ert/orbit name = "Orbit of Sif" - my_area = /area/shuttle/response_ship/orbit - preferred_interim_area = /area/shuttle/response_ship/transit + my_landmark = "response_ship_orbit" + preferred_interim_tag = "response_ship_transit" routes_to_make = list( /datum/shuttle_destination/ert/outside_SC_1d = 30 SECONDS, @@ -67,8 +65,8 @@ /datum/shuttle_destination/ert/outside_SC_1d name = "NLS Southern Cross - Fore Port of First Deck" - my_area = /area/shuttle/response_ship/firstdeck - preferred_interim_area = /area/shuttle/response_ship/transit + my_landmark = "response_ship_firstdeck" + preferred_interim_tag = "response_ship_transit" routes_to_make = list( /datum/shuttle_destination/ert/outside_SC_2d = 0, @@ -79,8 +77,8 @@ /datum/shuttle_destination/ert/outside_SC_2d name = "NLS Southern Cross - Aft Starboard of Second Deck" - my_area = /area/shuttle/response_ship/seconddeck - preferred_interim_area = /area/shuttle/response_ship/transit + my_landmark = "response_ship_seconddeck" + preferred_interim_tag = "response_ship_transit" routes_to_make = list( /datum/shuttle_destination/ert/outside_SC_1d = 0, @@ -90,8 +88,8 @@ /datum/shuttle_destination/ert/outside_SC_3d name = "NLS Southern Cross - Aft Starboard of Third Deck" - my_area = /area/shuttle/response_ship/thirddeck - preferred_interim_area = /area/shuttle/response_ship/transit + my_landmark = "response_ship_thirddeck" + preferred_interim_tag = "response_ship_transit" routes_to_make = list( /datum/shuttle_destination/ert/outside_SC_1d = 0, @@ -101,10 +99,9 @@ /datum/shuttle_destination/ert/docked_SC name = "NLS Southern Cross - Arrivals Docking Port" - my_area = /area/shuttle/response_ship/arrivals_dock - preferred_interim_area = /area/shuttle/response_ship/transit + my_landmark = "response_ship_arrivals_dock" + preferred_interim_tag = "response_ship_transit" - dock_target = "response_shuttle_dock_airlock" announcer = "Southern Cross Docking Computer" /datum/shuttle_destination/ert/docked_SC/get_arrival_message() @@ -115,8 +112,8 @@ /datum/shuttle_destination/ert/sky name = "Skies of Sif" - my_area = /area/shuttle/response_ship/sky - preferred_interim_area = /area/shuttle/response_ship/sky_transit + my_landmark = "response_ship_sky" + preferred_interim_tag = "response_ship_sky_transit" routes_to_make = list( /datum/shuttle_destination/ert/planet = 15 SECONDS @@ -124,5 +121,5 @@ /datum/shuttle_destination/ert/planet name = "Sif Surface" - my_area = /area/shuttle/response_ship/planet - preferred_interim_area = /area/shuttle/response_ship/sky_transit \ No newline at end of file + my_landmark = "response_ship_planet" + preferred_interim_tag = "response_ship_sky_transit" \ No newline at end of file diff --git a/maps/southern_cross/shuttles/heist.dm b/maps/southern_cross/shuttles/heist.dm index cfbc39d33d..6fbadd9e21 100644 --- a/maps/southern_cross/shuttles/heist.dm +++ b/maps/southern_cross/shuttles/heist.dm @@ -3,12 +3,13 @@ req_access = list(access_syndicate) shuttle_tag = "Skipjack" -/datum/shuttle/web_shuttle/heist +/datum/shuttle/autodock/web_shuttle/heist name = "Skipjack" warmup_time = 0 can_cloak = TRUE cloaked = TRUE - current_area = /area/skipjack_station/start + shuttle_area = /area/skipjack_station/start + current_location = "skipjack_start" // docking_controller_tag = "skipjack_shuttle" web_master_type = /datum/shuttle_web_master/heist @@ -20,8 +21,8 @@ /datum/shuttle_destination/heist/root name = "Raider Outpost" - my_area = /area/skipjack_station/start - preferred_interim_area = /area/skipjack_station/transit + my_landmark = "skipjack_start" + preferred_interim_tag = "skipjack_transit" // dock_target = "skipjack_base" @@ -31,8 +32,8 @@ /datum/shuttle_destination/heist/orbit name = "Orbit of Sif" - my_area = /area/skipjack_station/orbit - preferred_interim_area = /area/skipjack_station/transit + my_landmark = "skipjack_orbit" + preferred_interim_tag = "skipjack_transit" routes_to_make = list( /datum/shuttle_destination/heist/outside_SC_1d = 30 SECONDS, @@ -43,8 +44,8 @@ /datum/shuttle_destination/heist/outside_SC_1d name = "NLS Southern Cross - Aft of First Deck" - my_area = /area/skipjack_station/firstdeck - preferred_interim_area = /area/skipjack_station/transit + my_landmark = "skipjack_firstdeck" + preferred_interim_tag = "skipjack_transit" routes_to_make = list( /datum/shuttle_destination/heist/outside_SC_2d = 0, @@ -54,8 +55,8 @@ /datum/shuttle_destination/heist/outside_SC_2d name = "NLS Southern Cross - Fore of Second Deck" - my_area = /area/skipjack_station/seconddeck - preferred_interim_area = /area/skipjack_station/transit + my_landmark = "skipjack_seconddeck" + preferred_interim_tag = "skipjack_transit" routes_to_make = list( /datum/shuttle_destination/heist/outside_SC_1d = 0, @@ -65,8 +66,8 @@ /datum/shuttle_destination/heist/outside_SC_3d name = "NLS Southern Cross - Starboard of Third Deck" - my_area = /area/skipjack_station/thirddeck - preferred_interim_area = /area/skipjack_station/transit + my_landmark = "skipjack_thirddeck" + preferred_interim_tag = "skipjack_transit" routes_to_make = list( /datum/shuttle_destination/heist/outside_SC_1d = 0, @@ -77,8 +78,8 @@ /datum/shuttle_destination/heist/docked_SC name = "NLS Southern Cross - Arrivals Docking Port" - my_area = /area/skipjack_station/arrivals_dock - preferred_interim_area = /area/skipjack_station/transit + my_landmark = "skipjack_arrivals_dock" + preferred_interim_tag = "skipjack_transit" // dock_target = "skipjack_shuttle_dock_airlock" announcer = "Southern Cross Docking Computer" @@ -91,8 +92,8 @@ /datum/shuttle_destination/heist/sky name = "Skies of Sif" - my_area = /area/skipjack_station/sky - preferred_interim_area = /area/skipjack_station/sky_transit + my_landmark = "skipjack_sky" + preferred_interim_tag = "skipjack_sky_transit" routes_to_make = list( /datum/shuttle_destination/heist/planet = 15 SECONDS @@ -100,5 +101,5 @@ /datum/shuttle_destination/heist/planet name = "Sif Surface" - my_area = /area/skipjack_station/planet - preferred_interim_area = /area/skipjack_station/sky_transit \ No newline at end of file + my_landmark = "skipjack_planet" + preferred_interim_tag = "skipjack_sky_transit" \ No newline at end of file diff --git a/maps/southern_cross/shuttles/merc.dm b/maps/southern_cross/shuttles/merc.dm index e47707876e..6027261e84 100644 --- a/maps/southern_cross/shuttles/merc.dm +++ b/maps/southern_cross/shuttles/merc.dm @@ -32,13 +32,14 @@ req_access = list(access_syndicate) shuttle_tag = "Mercenary" -/datum/shuttle/web_shuttle/syndicate +/datum/shuttle/autodock/web_shuttle/syndicate name = "Mercenary" visible_name = "Unknown Vessel" warmup_time = 0 can_cloak = TRUE cloaked = TRUE - current_area = /area/syndicate_station/start + shuttle_area = /area/syndicate_station/start + current_location = "syndie_start" docking_controller_tag = "merc_shuttle" web_master_type = /datum/shuttle_web_master/syndie flight_time_modifier = 2 // Assumption that 'larger ship + few engines = slower' @@ -51,10 +52,10 @@ /datum/shuttle_destination/syndie/root name = "Mercenary Asteroid" - my_area = /area/syndicate_station/start - preferred_interim_area = /area/syndicate_station/transit + my_landmark = "syndie_start" + preferred_interim_tag = "syndie_transit" - dock_target = "merc_base" + // dock_target = "merc_base" routes_to_make = list( /datum/shuttle_destination/syndie/orbit = 1.5 MINUTES, @@ -62,8 +63,8 @@ /datum/shuttle_destination/syndie/orbit name = "Orbit of Sif" - my_area = /area/syndicate_station/orbit - preferred_interim_area = /area/syndicate_station/transit + my_landmark = "syndie_orbit" + preferred_interim_tag = "syndie_transit" routes_to_make = list( /datum/shuttle_destination/syndie/outside_SC_1d = 30 SECONDS, @@ -74,8 +75,8 @@ /datum/shuttle_destination/syndie/outside_SC_1d name = "NLS Southern Cross - Fore Port of First Deck" - my_area = /area/syndicate_station/firstdeck - preferred_interim_area = /area/syndicate_station/transit + my_landmark = "syndie_firstdeck" + preferred_interim_tag = "syndie_transit" routes_to_make = list( /datum/shuttle_destination/syndie/outside_SC_2d = 0, @@ -85,8 +86,8 @@ /datum/shuttle_destination/syndie/outside_SC_2d name = "NLS Southern Cross - Fore Starboard of Second Deck" - my_area = /area/syndicate_station/seconddeck - preferred_interim_area = /area/syndicate_station/transit + my_landmark = "syndie_seconddeck" + preferred_interim_tag = "syndie_transit" routes_to_make = list( /datum/shuttle_destination/syndie/outside_SC_1d = 0, @@ -96,8 +97,8 @@ /datum/shuttle_destination/syndie/outside_SC_3d name = "NLS Southern Cross - Aft Starboard of Third Deck" - my_area = /area/syndicate_station/thirddeck - preferred_interim_area = /area/syndicate_station/transit + my_landmark = "syndie_thirddeck" + preferred_interim_tag = "syndie_transit" routes_to_make = list( /datum/shuttle_destination/syndie/outside_SC_1d = 0, @@ -107,10 +108,10 @@ /datum/shuttle_destination/syndie/docked_SC name = "NLS Southern Cross - Arrivals Docking Port" - my_area = /area/syndicate_station/arrivals_dock - preferred_interim_area = /area/syndicate_station/transit + my_landmark = "syndie_arrivals_dock" + preferred_interim_tag = "syndie_transit" - dock_target = "nuke_shuttle_dock_airlock" + // dock_target = "nuke_shuttle_dock_airlock" announcer = "Southern Cross Docking Computer" /datum/shuttle_destination/syndie/docked_SC/get_arrival_message() @@ -121,8 +122,8 @@ /datum/shuttle_destination/syndie/sky name = "Skies of Sif" - my_area = /area/syndicate_station/sky - preferred_interim_area = /area/syndicate_station/sky_transit + my_landmark = "syndie_sky" + preferred_interim_tag = "syndie_sky_transit" routes_to_make = list( /datum/shuttle_destination/syndie/planet = 15 SECONDS @@ -130,5 +131,5 @@ /datum/shuttle_destination/syndie/planet name = "Sif Surface" - my_area = /area/syndicate_station/planet - preferred_interim_area = /area/syndicate_station/sky_transit \ No newline at end of file + my_landmark = "syndie_planet" + preferred_interim_tag = "syndie_sky_transit" \ No newline at end of file diff --git a/maps/southern_cross/shuttles/ninja.dm b/maps/southern_cross/shuttles/ninja.dm index b7cb597124..5cdded0255 100644 --- a/maps/southern_cross/shuttles/ninja.dm +++ b/maps/southern_cross/shuttles/ninja.dm @@ -3,13 +3,14 @@ req_access = list(access_syndicate) shuttle_tag = "Ninja" -/datum/shuttle/web_shuttle/ninja +/datum/shuttle/autodock/web_shuttle/ninja name = "Ninja" visible_name = "Unknown Vessel" warmup_time = 0 can_cloak = TRUE cloaked = TRUE - current_area = /area/ninja_dojo/start + shuttle_area = /area/ninja_dojo/start + current_location = "ninja_start" docking_controller_tag = "ninja_shuttle" web_master_type = /datum/shuttle_web_master/ninja flight_time_modifier = 0.5 // Nippon steel. @@ -20,10 +21,8 @@ /datum/shuttle_destination/ninja/root name = "Dojo Outpost" - my_area = /area/ninja_dojo/start - preferred_interim_area = /area/ninja_dojo/sky_transit - - dock_target = "ninja_base" + my_landmark = "ninja_start" + preferred_interim_tag = "ninja_sky_transit" routes_to_make = list( /datum/shuttle_destination/ninja/sky = 15 SECONDS, @@ -31,8 +30,8 @@ /datum/shuttle_destination/ninja/orbit name = "Orbit of Sif" - my_area = /area/ninja_dojo/orbit - preferred_interim_area = /area/ninja_dojo/transit + my_landmark = "ninja_orbit" + preferred_interim_tag = "ninja_transit" routes_to_make = list( /datum/shuttle_destination/ninja/outside_SC_1d = 30 SECONDS, @@ -43,8 +42,8 @@ /datum/shuttle_destination/ninja/outside_SC_1d name = "NLS Southern Cross - Aft of First Deck" - my_area = /area/ninja_dojo/firstdeck - preferred_interim_area = /area/ninja_dojo/transit + my_landmark = "ninja_firstdeck" + preferred_interim_tag = "ninja_transit" routes_to_make = list( /datum/shuttle_destination/ninja/outside_SC_2d = 0, @@ -54,8 +53,8 @@ /datum/shuttle_destination/ninja/outside_SC_2d name = "NLS Southern Cross - Fore of Second Deck" - my_area = /area/ninja_dojo/seconddeck - preferred_interim_area = /area/ninja_dojo/transit + my_landmark = "ninja_seconddeck" + preferred_interim_tag = "ninja_transit" routes_to_make = list( /datum/shuttle_destination/ninja/outside_SC_1d = 0, @@ -65,8 +64,8 @@ /datum/shuttle_destination/ninja/outside_SC_3d name = "NLS Southern Cross - Port of Third Deck" - my_area = /area/ninja_dojo/thirddeck - preferred_interim_area = /area/ninja_dojo/transit + my_landmark = "ninja_thirddeck" + preferred_interim_tag = "ninja_transit" routes_to_make = list( /datum/shuttle_destination/ninja/outside_SC_1d = 0, @@ -77,10 +76,9 @@ /datum/shuttle_destination/ninja/docked_SC name = "NLS Southern Cross - Arrivals Docking Port" - my_area = /area/ninja_dojo/arrivals_dock - preferred_interim_area = /area/ninja_dojo/transit + my_landmark = "ninja_arrivals_dock" + preferred_interim_tag = "ninja_transit" - dock_target = "ninja_shuttle_dock_airlock" announcer = "Southern Cross Docking Computer" /datum/shuttle_destination/syndie/docked_SC/get_arrival_message() @@ -91,8 +89,8 @@ /datum/shuttle_destination/ninja/sky name = "Skies of Sif" - my_area = /area/ninja_dojo/sky - preferred_interim_area = /area/ninja_dojo/sky_transit + my_landmark = "ninja_sky" + preferred_interim_tag = "ninja_sky_transit" routes_to_make = list( /datum/shuttle_destination/ninja/planet = 15 SECONDS @@ -100,5 +98,5 @@ /datum/shuttle_destination/ninja/planet name = "Sif Surface" - my_area = /area/ninja_dojo/planet - preferred_interim_area = /area/ninja_dojo/sky_transit \ No newline at end of file + my_landmark = "ninja_planet" + preferred_interim_tag = "ninja_sky_transit" \ No newline at end of file diff --git a/maps/southern_cross/southern_cross-1.dmm b/maps/southern_cross/southern_cross-1.dmm index a5dfe8849b..091e25fa84 100644 --- a/maps/southern_cross/southern_cross-1.dmm +++ b/maps/southern_cross/southern_cross-1.dmm @@ -82,8 +82,8 @@ "abD" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) "abE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockfore) "abF" = (/obj/structure/sign/deck/first,/turf/simulated/wall/r_wall,/area/hallway/primary/firstdeck/auxdockfore) -"abG" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"abH" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) +"abG" = (/obj/effect/shuttle_landmark{landmark_tag = "syndie_firstdeck"; name = "SC Off Deck 1 NW"},/turf/space,/area/syndicate_station/firstdeck) +"abH" = (/obj/effect/shuttle_landmark{landmark_tag = "response_ship_firstdeck"; name = "SC Near Deck 1 NW"},/turf/space,/area/shuttle/response_ship/firstdeck) "abI" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "d1fore_starboard_outer"; locked = 1; name = "External Airlock Access"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) "abJ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/foreport) "abK" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1fore_port_sensor"; pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1fore_port_pump"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) @@ -192,8 +192,8 @@ "adJ" = (/obj/structure/lattice,/obj/item/stack/rods,/obj/item/stack/rods,/turf/space,/area/space) "adK" = (/obj/structure/lattice,/obj/item/stack/rods,/obj/structure/grille/broken,/turf/space,/area/space) "adL" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"adM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"adN" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"adM" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"adN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "adO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "adP" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) "adQ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) @@ -213,11 +213,11 @@ "aee" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/first_deck{c_tag = "First Deck Fore Hallway - Two"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) "aef" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) "aeg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aeh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aei" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aeh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"aei" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) "aej" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aek" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"ael" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aek" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"ael" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "aem" = (/turf/simulated/wall/r_wall,/area/construction/firstdeck/construction5) "aen" = (/turf/simulated/wall,/area/construction/firstdeck/construction5) "aeo" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access = list(32)},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) @@ -235,17 +235,12 @@ "aeA" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) "aeB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) "aeC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) -<<<<<<< HEAD -"aeD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"aeE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -======= "aeD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) "aeE" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "aeF" = (/turf/simulated/wall/r_wall,/area/hangar/one) "aeG" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aeH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"aeI" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aeH" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"aeI" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/valve/shutoff{name = "Deck 1 Fore Port automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "aeJ" = (/obj/structure/closet/crate/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/tool,/obj/random/tool,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) "aeK" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) "aeL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) @@ -260,15 +255,7 @@ "aeU" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) "aeV" = (/obj/structure/cable,/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/firstdeck/fore) "aeW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/hallway/primary/firstdeck/fore) -<<<<<<< HEAD -<<<<<<< HEAD -"aeX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -======= -"aeX" = (/obj/machinery/atmospherics/binary/passive_gate{regulate_mode = 0; unlocked = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain -======= "aeX" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "aeY" = (/obj/structure/ore_box,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) "aeZ" = (/turf/simulated/wall/r_wall,/area/hangar/three) "afa" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hangar/one) @@ -277,17 +264,8 @@ "afd" = (/obj/effect/floor_decal/borderfloorblack/corner{dir = 8},/obj/effect/floor_decal/industrial/danger/corner{dir = 1},/turf/simulated/floor/tiled,/area/hangar/one) "afe" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "aff" = (/obj/effect/landmark{name = "carpspawn"},/turf/space,/area/shuttle/syndicate_elite/station) -<<<<<<< HEAD -"afg" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afh" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -======= "afg" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/rack,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -<<<<<<< HEAD -"afh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/binary/passive_gate{dir = 1; regulate_mode = 0; unlocked = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain -======= "afh" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "afi" = (/obj/structure/closet/crate/engineering,/obj/fiftyspawner/steel,/obj/fiftyspawner/glass,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) "afj" = (/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) "afk" = (/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) @@ -301,7 +279,7 @@ "afs" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fore) "aft" = (/turf/simulated/wall/r_wall,/area/security/nuke_storage) "afu" = (/obj/machinery/door/airlock/vault/bolted{req_access = list(53)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"afv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"afv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) "afw" = (/obj/structure/largecrate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) "afx" = (/obj/item/stack/tile/floor,/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/hangar/three) "afy" = (/obj/effect/floor_decal/borderfloorblack/corner,/obj/effect/floor_decal/industrial/danger/corner,/obj/effect/floor_decal/rust/color_rustedcorner,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel,/area/hangar/three) @@ -323,8 +301,8 @@ "afO" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "afP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "afQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afR" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"afS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/crate,/obj/item/weapon/toy/xmas_cracker,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"afR" = (/obj/machinery/atmospherics/valve/shutoff{name = "Deck 1 Fore Starboard automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"afS" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/closet/crate,/obj/item/weapon/toy/xmas_cracker,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "afT" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/paicard,/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) "afU" = (/obj/effect/decal/cleanable/blood/oil/streak{amount = 0},/obj/item/weapon/tool/wirecutters,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) "afV" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = -1},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/firstdeck) @@ -358,13 +336,8 @@ "agx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "agy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "agz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -<<<<<<< HEAD -"agA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -"agB" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/crate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) -======= "agA" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "agB" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "agC" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) "agD" = (/obj/item/weapon/tool/crowbar,/turf/simulated/floor/tiled,/area/construction/firstdeck/construction5) "agE" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/construction/firstdeck/construction5) @@ -377,8 +350,8 @@ "agL" = (/obj/structure/closet/crate,/obj/item/stack/material/gold,/obj/item/weapon/storage/belt/champion,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/obj/item/stack/material/silver,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "agM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "agN" = (/obj/structure/filingcabinet/medical{desc = "A large cabinet with hard copy medical records."; name = "Medical Records"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"agO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) -"agP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"agO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/crate,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) +"agP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "agQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) "agR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) "agS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) @@ -555,7 +528,7 @@ "akh" = (/obj/machinery/door/airlock/voidcraft/vertical{icon_state = "door_locked"; id_tag = "expshuttle1_door_L"; locked = 1; name = "shuttle side hatch"},/obj/machinery/button/remote/airlock{id = "expshuttle1_door_L"; name = "Side Hatch Control"; pixel_y = -26; req_one_access = null; specialfunctions = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) "aki" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle1_inner"; name = "Internal Access"},/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle1_shuttle"; name = "interior access button"; pixel_x = 0; pixel_y = -26; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) "akj" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) -"akk" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) +"akk" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/obj/effect/shuttle_landmark/southern_cross/escape_pod1/station{base_area = /area/hallway/primary/firstdeck/auxdockfore},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) "akl" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle1_outer"; name = "External Access"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle1_shuttle"; name = "exterior access button"; pixel_x = 0; pixel_y = 26; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) "akm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/foreport) "akn" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/random/maintenance/cargo,/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/turf/simulated/floor,/area/maintenance/firstdeck/foreport) @@ -746,8 +719,8 @@ "anQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) "anR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) "anS" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) -"anT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"anU" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/zpipe/up/supply{dir = 8},/obj/structure/cable/green{d1 = 16; d2 = 0; icon_state = "16-0"},/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"anT" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/loot_pile/maint/technical,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) +"anU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/forestarboard) "anV" = (/obj/machinery/camera/network/telecom{c_tag = "Tcoms - Central Compartment Port"; dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) "anW" = (/obj/machinery/telecomms/processor/preset_two,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) "anX" = (/obj/machinery/telecomms/bus/preset_two/southerncross,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) @@ -788,13 +761,8 @@ "aoG" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) "aoH" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Central Substation"; req_one_access = list(11,19,24,47)},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) "aoI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -<<<<<<< HEAD -"aoJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"aoK" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -======= "aoJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) "aoK" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d1 = 16; d2 = 0; icon_state = "16-0"},/obj/structure/railing{dir = 8},/obj/structure/railing,/obj/machinery/atmospherics/pipe/zpipe/up/supply,/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{dir = 8},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain "aoL" = (/obj/machinery/telecomms/bus/preset_one,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) "aoM" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) "aoN" = (/obj/machinery/telecomms/relay/preset/southerncross/d2,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) @@ -850,7 +818,7 @@ "apL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/firstdeck/fpcenter) "apM" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) "apN" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"apO" = (/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"apO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) "apP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) "apQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) "apR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) @@ -920,7 +888,7 @@ "ard" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) "are" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/fpcenter) "arf" = (/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) -"arg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) +"arg" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) "arh" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) "ari" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) "arj" = (/obj/machinery/telecomms/relay/preset/telecomms,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcomm/chamber) @@ -1684,7 +1652,7 @@ "aFN" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/large_escape_pod1/station) "aFO" = (/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/industrial/danger{dir = 4},/turf/simulated/floor/tiled,/area/quartermaster/storage) "aFP" = (/turf/simulated/floor/reinforced,/area/quartermaster/storage) -"aFQ" = (/turf/simulated/floor/reinforced,/area/supply/station) +"aFQ" = (/obj/structure/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/obj/effect/shuttle_landmark/southern_cross/escape_pod2/station{base_area = /area/hallway/primary/firstdeck/auxdockfore},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) "aFR" = (/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/industrial/danger{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/storage) "aFS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/storage) "aFT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/quartermaster/storage) @@ -1869,7 +1837,7 @@ "aJq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aJr" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/hangar/two) "aJs" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle2_outer"; name = "External Access"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "shuttle2"; name = "exterior access button"; pixel_x = 0; pixel_y = -26; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) -"aJt" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) +"aJt" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/effect/shuttle_landmark{base_area = /area/hangar/one; base_turf = /turf/simulated/floor/reinforced; docking_controller = "hangar_1"; landmark_tag = "hangar_1"; name = "Hangar One"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle1/start) "aJu" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) "aJv" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1380; id_tag = "shuttle2_inner"; name = "Internal Access"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "shuttle2"; name = "interior access button"; pixel_x = 0; pixel_y = 26; req_access = null},/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) "aJw" = (/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) @@ -2090,13 +2058,8 @@ "aND" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aNE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aNF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -<<<<<<< HEAD -"aNG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/largecrate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aNH" = (/obj/structure/closet/crate/large,/obj/random/tank,/obj/random/tank,/obj/random/tank,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -======= "aNG" = (/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) "aNH" = (/obj/machinery/atmospherics/binary/passive_gate{regulate_mode = 0; unlocked = 1},/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain "aNI" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/storage/tech) "aNJ" = (/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/storage/tech) "aNK" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech) @@ -2118,13 +2081,8 @@ "aOa" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) "aOb" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) "aOc" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -<<<<<<< HEAD -"aOd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aOe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -======= "aOd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) "aOe" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 4; icon_state = "intact"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/computer/shutoff_monitor,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) ->>>>>>> 5e38b8e... Adds shutoff valve monitor (#6353) "aOf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aOg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aOh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) @@ -2145,7 +2103,7 @@ "aOw" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aOx" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aOy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aOz" = (/obj/structure/mopbucket,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aOz" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/substation/firstdeck) "aOA" = (/turf/simulated/floor,/area/storage/tech) "aOB" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/storage/tech) "aOC" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) @@ -2168,8 +2126,8 @@ "aOT" = (/obj/machinery/atmospherics/tvalve/mirrored/bypass{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) "aOU" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{icon_state = "map"; dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) "aOV" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aOW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aOX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/binary/pump/on{dir = 8; target_pressure = 200},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aOW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) +"aOX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/wall,/area/medical/first_aid_station/firstdeck) "aOY" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aOZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aPa" = (/obj/machinery/camera/network/research{c_tag = "SCI - Xenoflora Isolation Fore"; dir = 2},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora_isolation) @@ -2180,7 +2138,7 @@ "aPf" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/shuttle2/start) "aPg" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aPh" = (/obj/structure/closet,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/obj/random/maintenance/engineering,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aPi" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aPi" = (/obj/structure/closet/crate/large,/obj/random/tank,/obj/random/tank,/obj/random/tank,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aPj" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/storage/tech) "aPk" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor,/area/storage/tech) "aPl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/storage/tech) @@ -2202,8 +2160,8 @@ "aPB" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) "aPC" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) "aPD" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aPE" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aPF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aPE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/largecrate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) +"aPF" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aPG" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aPH" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aPI" = (/turf/simulated/wall/r_wall,/area/maintenance/firstdeck/aftstarboard) @@ -2233,10 +2191,10 @@ "aQg" = (/obj/item/stack/cable_coil/yellow,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor/plating,/area/engineering/auxiliary_engineering) "aQh" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) "aQi" = (/obj/structure/closet/firecloset,/turf/simulated/floor/tiled/steel_dirty,/area/engineering/auxiliary_engineering) -"aQj" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aQk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aQj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"aQk" = (/obj/structure/mopbucket,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aQl" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aQm" = (/obj/machinery/light/small{dir = 4},/obj/structure/catwalk,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) +"aQm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aQn" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/storage/tech) "aQo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Tech Storage"; req_access = list(23)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/tech) "aQp" = (/obj/machinery/status_display,/turf/simulated/wall,/area/storage/tech) @@ -2247,17 +2205,10 @@ "aQu" = (/turf/simulated/wall,/area/engineering/auxiliary_engineering) "aQv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/engineering{name = "Auxiliary Engineering Station"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/steel_grid,/area/engineering/auxiliary_engineering) "aQw" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/engineering/auxiliary_engineering) -<<<<<<< HEAD -"aQx" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aQy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aQz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -"aQA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) -======= "aQx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aQy" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "aQz" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aQA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/valve/shutoff{name = "Deck 1 Aft Port automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "aQB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "aQC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) "aQD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals5,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) @@ -2281,17 +2232,8 @@ "aQV" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) "aQW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) "aQX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(12,67)},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -<<<<<<< HEAD -"aQY" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -"aQZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -======= "aQY" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) -<<<<<<< HEAD -"aQZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/binary/passive_gate{regulate_mode = 0; unlocked = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain -======= "aQZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "aRa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) "aRb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) "aRc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/first_deck{c_tag = "First Deck - Aft Hallway Two"; dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/aft) @@ -2353,7 +2295,7 @@ "aSg" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station) "aSh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/techmaint,/area/rnd/xenobiology) "aSi" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"aSj" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) +"aSj" = (/obj/effect/shuttle_landmark/southern_cross/large_escape_pod2/station,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod2/station) "aSk" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_hatch"; locked = 1; name = "Escape Pod Hatch 3"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) "aSl" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_berth_hatch"; locked = 1; name = "Escape Pod 3"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftport) "aSm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_3_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_3_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) @@ -2371,7 +2313,7 @@ "aSy" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_5_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_5_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) "aSz" = (/obj/structure/sign/directions/bridge{dir = 4; pixel_y = 10},/obj/structure/sign/directions/science{dir = 1},/turf/simulated/wall,/area/construction/firstdeck/construction4) "aSA" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod Hatch 5"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) -"aSB" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) +"aSB" = (/obj/effect/shuttle_landmark/southern_cross/large_escape_pod1/station,/turf/simulated/shuttle/floor,/area/shuttle/large_escape_pod1/station) "aSC" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "aSD" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "aSE" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station) @@ -2431,7 +2373,7 @@ "aTG" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod4/station) "aTH" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_4"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_4_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) "aTI" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) -"aTJ" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) +"aTJ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/effect/shuttle_landmark{base_area = /area/hangar/two; base_turf = /turf/simulated/floor/reinforced; docking_controller = "hangar_2"; landmark_tag = "hangar_2"; name = "Hangar Two"},/turf/simulated/shuttle/floor/black,/area/shuttle/shuttle2/start) "aTK" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_4_hatch"; locked = 1; name = "Escape Pod Hatch 4"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) "aTL" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_4_berth_hatch"; locked = 1; name = "Escape Pod 4"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftport) "aTM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_4_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_4_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftport) @@ -2450,7 +2392,7 @@ "aTZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_6_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_6_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) "aUa" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_6_berth_hatch"; locked = 1; name = "Escape Pod 6"; req_access = list(13)},/turf/simulated/floor,/area/hallway/secondary/escape/firstdeck/ep_aftstarboard) "aUb" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_6_hatch"; locked = 1; name = "Escape Pod Hatch 6"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) -"aUc" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) +"aUc" = (/obj/effect/shuttle_landmark/southern_cross/supply_station,/turf/simulated/floor/reinforced,/area/quartermaster/storage) "aUd" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) "aUe" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_6"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_6_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) "aUf" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod6/station) @@ -2550,7 +2492,7 @@ "aVV" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) "aVW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) "aVX" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "skipjack_shuttle_dock_sensor"; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) -"aVY" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "skipjack_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_access = list(0); req_one_access = list(13); tag_airpump = "skipjack_shuttle_dock_pump"; tag_chamber_sensor = "skipjack_shuttle_dock_sensor"; tag_exterior_door = "skipjack_shuttle_dock_outer"; tag_interior_door = "skipjack_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) +"aVY" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod6/station) "aVZ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor,/area/hallway/primary/firstdeck/auxdockaft) "aWa" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "d1aft_starboard_airlock"; pixel_x = -26; pixel_y = 0; req_access = list(13); tag_airpump = "d1aft_starboard_pump"; tag_chamber_sensor = "d1aft_starboard_sensor"; tag_exterior_door = "d1aft_starboard_outer"; tag_interior_door = "d1aft_starboard_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) "aWb" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "d1aft_starboard_sensor"; pixel_x = 25; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "d1aft_port_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) @@ -3564,7 +3506,7 @@ "bpv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/lawoffice) "bpw" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/lawoffice) "bpx" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/button/windowtint{id = "lawyer_tint"; pixel_x = -26; pixel_y = 30; req_access = list(58)},/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/dark,/area/lawoffice) -"bpy" = (/obj/machinery/atmospherics/valve/digital/open,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"bpy" = (/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "bpz" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "bpA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "bpB" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6; icon_state = "intact"},/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/security_starboard) @@ -3616,15 +3558,7 @@ "bqv" = (/obj/machinery/papershredder,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/lawoffice) "bqw" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/obj/effect/floor_decal/borderfloorblack,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled/dark,/area/lawoffice) "bqx" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/turf/simulated/floor/tiled/dark,/area/lawoffice) -<<<<<<< HEAD -<<<<<<< HEAD -"bqy" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plating,/area/maintenance/security_starboard) -======= -"bqy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/binary/passive_gate{dir = 1; regulate_mode = 0; unlocked = 1},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain -======= "bqy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/security_starboard) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "bqz" = (/obj/structure/closet/wardrobe/grey,/obj/item/weapon/storage/backpack,/obj/item/weapon/storage/backpack,/obj/random/maintenance/security,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/firstaid,/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "bqA" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/obj/random/maintenance/security,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/item/clothing/suit/storage/hazardvest/green,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor,/area/maintenance/security_starboard) "bqB" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/shuttle/wall/voidcraft/no_join,/area/shuttle/shuttle2/start) @@ -3669,7 +3603,7 @@ "bro" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "lawyer_tint"},/turf/simulated/floor/plating,/area/lawoffice) "brp" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Internal Affairs"; req_access = list(38)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/lawoffice) "brq" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "lawyer_tint"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/lawoffice) -"brr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/security_starboard) +"brr" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/space_heater,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "brs" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/maintenance/security_starboard) "brt" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) "bru" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1; icon_state = "map"},/turf/simulated/wall,/area/hallway/secondary/eva_hallway) @@ -3861,7 +3795,7 @@ "buY" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Custodial Closet"; req_access = list(26)},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/janitor) "buZ" = (/turf/simulated/wall,/area/storage/auxillary) "bva" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/storage/auxillary) -"bvb" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod6/station) +"bvb" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "skipjack_shuttle_dock_airlock"; pixel_x = 28; pixel_y = 0; req_access = list(0); req_one_access = list(13); tag_airpump = "skipjack_shuttle_dock_pump"; tag_chamber_sensor = "skipjack_shuttle_dock_sensor"; tag_exterior_door = "skipjack_shuttle_dock_outer"; tag_interior_door = "skipjack_shuttle_dock_inner"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "skipjack_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/primary/firstdeck/auxdockaft) "bvc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) "bvd" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/eva_hallway) "bve" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/wall,/area/hallway/secondary/eva_hallway) @@ -3956,8 +3890,8 @@ "bwP" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "bwQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "bwR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "englockdown"; name = "Engineering Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bwS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/engineering) -"bwT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/maintenance/engineering) +"bwS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/valve/shutoff{name = "Deck 1 Aft Starboard automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"bwT" = (/obj/machinery/light/small{dir = 4},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/firstdeck/aftport) "bwU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) "bwV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) "bwW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -3996,11 +3930,7 @@ "bxD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,/obj/effect/floor_decal/industrial/warning,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) "bxE" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) "bxF" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/structure/closet/wardrobe/white,/obj/random/maintenance/clean,/obj/random/maintenance/research,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/maintenance/research) -<<<<<<< HEAD -"bxG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/research) -======= "bxG" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/engineering) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "bxH" = (/turf/simulated/wall/r_wall,/area/rnd/research) "bxI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/rnd/research) "bxJ" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/airless,/area/space) @@ -4030,8 +3960,8 @@ "byh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Engineering Subgrid"; name_tag = "Engineering Subgrid"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "byi" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) "byj" = (/obj/machinery/power/grid_checker,/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"byk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/maintenance/engineering) -"byl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor,/area/maintenance/engineering) +"byk" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) +"byl" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "bym" = (/turf/simulated/floor/plating,/area/maintenance/engineering) "byn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) "byo" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/skrell/black,/obj/item/clothing/head/helmet/space/skrell/black,/obj/machinery/door/window/eastright{name = "E.V.A."; req_one_access = list(18)},/turf/simulated/floor/tiled/dark,/area/ai_monitored/storage/eva) @@ -4062,9 +3992,9 @@ "byN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) "byO" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) "byP" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) -"byQ" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/plating,/area/maintenance/research) +"byQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "byR" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/xenobiology/xenoflora) -"byS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) +"byS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftport) "byT" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research) "byU" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research) "byV" = (/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/research) @@ -4085,7 +4015,7 @@ "bzk" = (/obj/structure/sign/warning/nosmoking_2,/turf/simulated/wall/r_wall,/area/engineering/atmos/monitoring) "bzl" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics Monitoring Room"; req_access = list(24)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/engineering/atmos/monitoring) "bzm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Engineering Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/engineering) -"bzn" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/maintenance/engineering) +"bzn" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "bzo" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/maintenance/engineering) "bzp" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/plating,/area/maintenance/engineering) "bzq" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -4121,7 +4051,7 @@ "bzU" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) "bzV" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) "bzW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/maintenance/research) -"bzX" = (/obj/machinery/atmospherics/tvalve/mirrored{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/maintenance/research) +"bzX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/firstdeck/aftstarboard) "bzY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/research) "bzZ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/research) "bAa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Research Maintenance Access"; req_one_access = list(47)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/rnd/research) @@ -4153,7 +4083,7 @@ "bAA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bAB" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/engineering/hallway/atmos_hallway) "bAC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/engineering/hallway/atmos_hallway) -"bAD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bAD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/valve/shutoff{name = "Security automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/security_starboard) "bAE" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/engineering) "bAF" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) "bAG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/engineering) @@ -4163,23 +4093,9 @@ "bAK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) "bAL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) "bAM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -<<<<<<< HEAD -"bAN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/inflatable/door/torn,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/engineering) -"bAP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/engineering) -======= "bAN" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/machinery/atmospherics/binary/pump/on{dir = 4; name = "Air to Supply"; target_pressure = 301.325},/turf/simulated/floor/tiled,/area/engineering/atmos) -<<<<<<< HEAD -"bAO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/security_starboard) -<<<<<<< HEAD -"bAP" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod6/station) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain -======= -======= "bAO" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/maintenance/engineering) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "bAP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/glass{name = "Auxiliary Storage"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/storage/auxillary) ->>>>>>> a54c9d5... Merge pull request #6581 from Shadow-Quill/Emergency-Shutter-Fixx "bAQ" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/engineering) "bAR" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) "bAS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fore) @@ -4258,7 +4174,7 @@ "bCn" = (/obj/structure/table/rack{dir = 1},/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor,/area/maintenance/engineering) "bCo" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = list(12)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/engineering) "bCp" = (/obj/structure/closet,/obj/item/clothing/head/ushanka,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/engineering) -"bCq" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/engineering) +"bCq" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/maintenance/engineering) "bCr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/engineering) "bCs" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/fore) "bCt" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/fore) @@ -5404,7 +5320,7 @@ "bYp" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) "bYq" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) "bYr" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"bYs" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/research) +"bYs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/maintenance/engineering) "bYt" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/table/standard,/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bYu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) "bYv" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/lab) @@ -5641,7 +5557,7 @@ "ccS" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply,/obj/structure/disposalpipe/down,/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/engineering) "ccT" = (/obj/structure/lattice,/obj/machinery/door/firedoor/border_only,/turf/simulated/open,/area/maintenance/engineering) "ccU" = (/obj/structure/disposalpipe/broken{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/engineering) -"ccV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) +"ccV" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research) "ccW" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) "ccX" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) "ccY" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) @@ -5656,7 +5572,7 @@ "cdh" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) "cdi" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fscenter) "cdj" = (/obj/structure/flora/ausbushes/palebush,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/fscenter) -"cdk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) +"cdk" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/wall/r_wall,/area/maintenance/research) "cdl" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/maintenance/research) "cdm" = (/turf/simulated/wall/r_wall,/area/rnd/research_foyer) "cdn" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access = list(29,47)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/assembly/robotics) @@ -5739,7 +5655,7 @@ "ceM" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/teleporter) "ceN" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/teleporter) "ceO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/fscenter) -"ceP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) +"ceP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) "ceQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/research) "ceR" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plating,/area/maintenance/research) "ceS" = (/obj/item/weapon/material/shard{icon_state = "medium"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/maintenance/research) @@ -5806,11 +5722,7 @@ "cgb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) "cgc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) "cgd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -<<<<<<< HEAD -"cge" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -======= "cge" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "cgf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/engineering) "cgg" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/hydro,/area/hallway/primary/seconddeck/fpcenter) "cgh" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/fpcenter) @@ -6247,7 +6159,7 @@ "cow" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/engineering/engine_room) "cox" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/blue,/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_room) "coy" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) -"coz" = (/obj/structure/table/reinforced,/obj/item/clothing/ears/earmuffs,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) +"coz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/engineering) "coA" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/obj/machinery/newscaster{pixel_y = -30},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "coB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "coC" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) @@ -6370,19 +6282,9 @@ "cqP" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/starboard) "cqQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12)},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) "cqR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -<<<<<<< HEAD -<<<<<<< HEAD -"cqS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cqT" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -"cqU" = (/obj/machinery/atmospherics/valve/digital/open{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -======= -"cqS" = (/obj/machinery/atmospherics/binary/passive_gate{dir = 4; regulate_mode = 0; unlocked = 1},/turf/simulated/floor/plating,/area/maintenance/research) -======= "cqS" = (/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "cqT" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/research) "cqU" = (/obj/machinery/atmospherics/pipe/simple/hidden/red,/obj/machinery/atmospherics/valve/shutoff{dir = 4; name = "Research automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/research) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain "cqV" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) "cqW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/medbay_fore) "cqX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) @@ -6799,7 +6701,7 @@ "cyS" = (/obj/item/stack/tile/floor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/construction/seconddeck/construction1) "cyT" = (/obj/machinery/atmospherics/valve,/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating,/area/maintenance/apmaint) "cyU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/apmaint) -"cyV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"cyV" = (/obj/random/mob/mouse,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research) "cyW" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/random/junk,/obj/random/junk,/obj/random/junk,/turf/simulated/floor/plating,/area/quartermaster/delivery) "cyX" = (/obj/item/weapon/stool,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cyY" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 6; icon_state = "intact"},/turf/simulated/floor/tiled,/area/quartermaster/delivery) @@ -6890,15 +6792,7 @@ "cAF" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) "cAG" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/turf/simulated/floor/plating,/area/maintenance/apmaint) "cAH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/apmaint) -<<<<<<< HEAD -<<<<<<< HEAD -"cAI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/apmaint) -======= -"cAI" = (/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/machinery/atmospherics/binary/passive_gate{regulate_mode = 0; unlocked = 1},/turf/simulated/floor,/area/maintenance/engineering) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain -======= "cAI" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/research) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "cAJ" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/turf/simulated/floor/plating,/area/quartermaster/delivery) "cAK" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/conveyor_switch/oneway{id = "packageSort1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/delivery) "cAL" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/tiled,/area/quartermaster/delivery) @@ -7249,7 +7143,7 @@ "cHs" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) "cHt" = (/obj/machinery/door/blast/regular{density = 0; dir = 1; icon_state = "pdoor0"; id = "crglockdown"; name = "Cargo Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/bar) "cHu" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/bar) -"cHv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cHv" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/tvalve{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) "cHw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "cHx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/bar) "cHy" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/hallway/primary/seconddeck/apcenter) @@ -7422,7 +7316,7 @@ "cKJ" = (/obj/structure/closet/secure_closet/cargotech,/obj/item/weapon/stamp/cargo,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/light,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/quartermaster/lockerroom) "cKK" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) "cKL" = (/obj/item/weapon/tape_roll,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/obj/structure/table/steel,/obj/machinery/camera/network/cargo{c_tag = "CRG - Cargo Stairwell"; dir = 1; name = "security camera"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel,/area/quartermaster/lockerroom) -"cKM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"cKM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/valve/shutoff{name = "Engineering automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/engineering) "cKN" = (/turf/simulated/wall,/area/storage/emergency_storage/seconddeck/ap_emergency) "cKO" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) "cKP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/monotile,/area/hallway/primary/seconddeck/apcenter) @@ -7556,7 +7450,7 @@ "cNn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/structure/railing,/turf/simulated/floor/plating,/area/maintenance/substation/cargo) "cNo" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/structure/closet/crate,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/obj/item/weapon/material/knife,/obj/item/weapon/storage/mre/random,/turf/simulated/floor/plating,/area/maintenance/bar) "cNp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/tool/powermaint,/turf/simulated/floor/tiled/steel,/area/construction/seconddeck/construction1) -"cNq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) +"cNq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/engineering) "cNr" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) "cNs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) "cNt" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) @@ -7622,15 +7516,9 @@ "cOB" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/emergency,/obj/random/medical/lite,/obj/machinery/camera/network/medbay{c_tag = "MED - FA Station Fore"; dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloorwhite{dir = 10},/obj/effect/floor_decal/corner/paleblue/border{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/first_aid_station/seconddeck/fore) "cOC" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/bar) "cOD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Firefighting Equipment"; req_access = newlist(); req_one_access = list(12,25,27,28,35)},/turf/simulated/floor/plating,/area/maintenance/bar) -<<<<<<< HEAD -"cOE" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/bar) -"cOG" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/cargo,/obj/random/maintenance/cargo,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) -======= "cOE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/engineering) "cOF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) "cOG" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/cyan{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/yellow/border{dir = 6},/obj/machinery/computer/atmoscontrol,/obj/machinery/button/remote/blast_door{id = "atmoslockdown"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 0; req_one_access = list(10,24)},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 34; pixel_y = 0},/turf/simulated/floor/tiled,/area/engineering/atmos/monitoring) ->>>>>>> d974caf... Merge pull request #6457 from Woodratt/09162019_BarKitchenOverhaul "cOH" = (/obj/machinery/floodlight,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) "cOI" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) "cOJ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/ap_emergency) @@ -7709,8 +7597,8 @@ "cQe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/hallway/primary/seconddeck/apcenter) "cQf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) "cQg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cQh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cQi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cQh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/inflatable/door/torn,/turf/simulated/floor/plating,/area/maintenance/engineering) +"cQi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/maintenance/engineering) "cQj" = (/obj/structure/closet/crate,/obj/random/toy,/obj/random/plushie,/obj/random/plushie,/obj/random/action_figure,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/medbay) "cQk" = (/obj/structure/table/steel,/obj/item/device/t_scanner,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/alarm{pixel_y = 23},/obj/random/cash,/turf/simulated/floor/plating,/area/maintenance/bar) "cQl" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/lights/mixed,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/medbay) @@ -7767,8 +7655,8 @@ "cRk" = (/obj/structure/reagent_dispensers/watertank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) "cRl" = (/obj/structure/reagent_dispensers/fueltank,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) "cRm" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRn" = (/obj/structure/disposalpipe/segment,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cRo" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/medbay) +"cRn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/engineering) +"cRo" = (/obj/machinery/atmospherics/valve/shutoff{dir = 4; name = "Deck 2 Fore automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/engineering) "cRp" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/storage/emergency_storage/seconddeck/as_emergency) "cRq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) "cRr" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/maintenance/medbay) @@ -7832,24 +7720,11 @@ "cSx" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) "cSy" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/aft) "cSz" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/seconddeck/aft) -<<<<<<< HEAD -"cSA" = (/turf/simulated/wall,/area/crew_quarters/coffee_shop) -<<<<<<< HEAD -"cSB" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/medbay) -======= -======= "cSA" = (/turf/simulated/wall,/area/crew_quarters/locker/locker_toilet) ->>>>>>> 792245a... Merge pull request #6665 from Woodratt/02022020_civilianmaptweak "cSB" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/engineering) -<<<<<<< HEAD -"cSC" = (/obj/machinery/atmospherics/binary/passive_gate{regulate_mode = 0; unlocked = 1},/turf/simulated/floor/plating,/area/maintenance/research) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain -======= "cSC" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) "cSD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/medbay) -"cSE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"cSE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/engineering) "cSF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/medbay) "cSG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/medbay) "cSH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/medbay) @@ -8072,7 +7947,7 @@ "cWQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "cWR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "cWS" = (/obj/machinery/door/firedoor,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/medical/patient_wing) -"cWT" = (/obj/machinery/atmospherics/valve/digital/open,/turf/simulated/floor/plating,/area/maintenance/bar) +"cWT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "cWU" = (/obj/machinery/atmospherics/valve/digital/open,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) "cWV" = (/obj/structure/table/marble,/obj/item/weapon/material/ashtray/glass,/obj/machinery/door/blast/shutters{dir = 2; id = "bar"; layer = 3.1; name = "Bar Shutters"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/lino,/area/crew_quarters/bar) "cWW" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/locker/locker_toilet) @@ -8894,7 +8769,7 @@ "dmG" = (/turf/simulated/wall/r_wall,/area/maintenance/locker) "dmH" = (/turf/simulated/shuttle/wall,/area/shuttle/cryo/station) "dmI" = (/turf/simulated/shuttle/wall/no_join{base_state = "orange"; icon = 'icons/turf/shuttle_orange.dmi'; icon_state = "orange"},/area/shuttle/cryo/station) -"dmJ" = (/turf/simulated/shuttle/wall,/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/escape_pod6/station) +"dmJ" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/research) "dmK" = (/turf/simulated/wall/r_wall,/area/hallway/secondary/docking_hallway2) "dmL" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) "dmM" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark,/area/hallway/secondary/docking_hallway2) @@ -9930,9 +9805,9 @@ "dGC" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) "dGD" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp/green,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) "dGE" = (/turf/simulated/wall,/area/maintenance/substation/command) -"dGF" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/maintenance/substation/command) -"dGG" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) -"dGH" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply,/obj/structure/disposalpipe/down{dir = 8},/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/obj/structure/railing,/turf/simulated/open,/area/maintenance/substation/command) +"dGF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/research) +"dGG" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/random/maintenance/research,/obj/random/maintenance/research,/obj/random/maintenance/clean,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/research) +"dGH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/research) "dGI" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) "dGJ" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/ai/ai_server_room) "dGK" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/techfloor{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/hallway/primary/thirddeck/central) @@ -9953,18 +9828,9 @@ "dGZ" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36; pixel_y = -6},/obj/machinery/button/windowtint{id = "hopquarters"; pixel_x = -36; pixel_y = 6},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) "dHa" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) "dHb" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/folder/blue_hop,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -<<<<<<< HEAD -<<<<<<< HEAD -"dHc" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Command Subgrid"; name_tag = "Command Subgrid"},/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor,/area/maintenance/substation/command) -"dHd" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) -"dHe" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/maintenance/substation/command) -======= -"dHc" = (/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/research) -======= ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) +"dHc" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/obj/effect/shuttle_landmark/southern_cross/escape_pod3/station{base_area = /area/hallway/secondary/escape/firstdeck/ep_aftport},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) "dHd" = (/turf/simulated/wall/r_wall,/area/construction/seconddeck/construction2) "dHe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain "dHf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) "dHg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) "dHh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) @@ -9983,9 +9849,9 @@ "dHu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/structure/dogbed,/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) "dHv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) "dHw" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/hop,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hop/quarters) -"dHx" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) +"dHx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) "dHy" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Command"},/turf/simulated/floor,/area/maintenance/substation/command) -"dHz" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Command Substation Bypass"},/turf/simulated/floor,/area/maintenance/substation/command) +"dHz" = (/obj/machinery/atmospherics/valve/shutoff{name = "Deck 2 Starboard automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/research) "dHA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) "dHB" = (/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) "dHC" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/blue/bordercorner,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) @@ -10014,7 +9880,7 @@ "dHZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced/polarized{id = "hopquarters"},/turf/simulated/floor/plating,/area/crew_quarters/heads/sc/hop/quarters) "dIa" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Head of Personnel Quarters"; req_access = list(57)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_grid,/area/crew_quarters/heads/sc/hop/quarters) "dIb" = (/turf/simulated/wall,/area/crew_quarters/heads/sc/hop/quarters) -"dIc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Command Substation"; req_one_access = list(11,19,24,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/substation/command) +"dIc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research) "dId" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/maintenance/substation/command) "dIe" = (/turf/simulated/wall/r_wall,/area/hallway/primary/thirddeck/central) "dIf" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/blue/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) @@ -10049,9 +9915,9 @@ "dII" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) "dIJ" = (/obj/machinery/camera/network/third_deck{c_tag = "Third Deck - Port Hallway One"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) "dIK" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIL" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/research) "dIM" = (/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dIN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dIN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/engineering) "dIO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/steel_grid,/area/hallway/primary/thirddeck/port) "dIP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) "dIQ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) @@ -10092,9 +9958,9 @@ "dJz" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) "dJA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) "dJB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dJC" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/research) "dJD" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) -"dJE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) +"dJE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/research) "dJF" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/hallway/primary/thirddeck/port) "dJG" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) "dJH" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/central) @@ -10178,7 +10044,7 @@ "dLh" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod7/station) "dLi" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_7"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_7_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) "dLj" = (/obj/structure/bed/chair{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/closet/walllocker/emerglocker{pixel_y = -32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) -"dLk" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) +"dLk" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/obj/effect/shuttle_landmark/southern_cross/escape_pod5/station{base_area = /area/hallway/secondary/escape/firstdeck/ep_aftstarboard},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) "dLl" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_hatch"; locked = 1; name = "Escape Pod Hatch 7"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) "dLm" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_berth_hatch"; locked = 1; name = "Escape Pod 7"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/port) "dLn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_7_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_7_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) @@ -10207,7 +10073,7 @@ "dLK" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{frequency = 1380; id_tag = "escape_pod_8_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_8_berth_hatch"},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/starboard) "dLL" = (/obj/machinery/door/airlock/glass_external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_berth_hatch"; locked = 1; name = "Escape Pod 8"; req_access = list(13)},/turf/simulated/floor,/area/hallway/primary/thirddeck/starboard) "dLM" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_8_hatch"; locked = 1; name = "Escape Pod Hatch 8"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) -"dLN" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) +"dLN" = (/obj/effect/shuttle_landmark{landmark_tag = "skipjack_firstdeck"; name = "SC Deck 2 East"},/turf/space,/area/skipjack_station/firstdeck) "dLO" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/walllocker/emerglocker{pixel_y = 32},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) "dLP" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{frequency = 1380; id_tag = "escape_pod_8"; pixel_x = 0; pixel_y = 25; tag_door = "escape_pod_8_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) "dLQ" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/turf/simulated/shuttle/plating,/area/shuttle/escape_pod8/station) @@ -10411,6 +10277,7 @@ "dPG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) "dPH" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/machinery/camera/network/command{c_tag = "COM - Station Director's Office"; dir = 2},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) "dPI" = (/obj/structure/table/wooden_reinforced,/obj/machinery/photocopier/faxmachine{department = "Captain's Office"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) +"dPJ" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/obj/effect/shuttle_landmark/southern_cross/escape_pod4/station{base_area = /area/hallway/secondary/escape/firstdeck/ep_aftport},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod4/station) "dPK" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/heads/sc/sd) "dPL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) "dPM" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/maintenance/thirddeck/aftstarboard) @@ -10884,6 +10751,7 @@ "dYM" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/dark,/area/rnd/xenobiology) "dYN" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/full{density = 1},/turf/simulated/floor/tiled,/area/rnd/xenobiology) "dYO" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning,/obj/machinery/button/remote/blast_door{id = "xenobio6station"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/dark,/area/rnd/xenobiology) +"dYP" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/obj/effect/shuttle_landmark/southern_cross/escape_pod6/station{base_area = /area/hallway/secondary/escape/firstdeck/ep_aftstarboard},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod6/station) "dYQ" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/button/remote/blast_door{id = "xenobio5station"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/dark,/area/rnd/xenobiology) "dYR" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the divider between pens."; id = "xenobioout7station"; name = "Containment Divider Switch"; pixel_x = 0; pixel_y = 28; req_access = list(55)},/obj/effect/floor_decal/industrial/warning,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research{c_tag = "SCI - Xenobiology Fore"; dir = 2},/turf/simulated/floor/tiled/dark,/area/rnd/xenobiology) "dYS" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/dark,/area/rnd/xenobiology) @@ -11017,7 +10885,7 @@ "ebq" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/random/mob/mouse,/turf/simulated/floor/plating,/area/maintenance/security_starboard) "ebr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/random/mob/mouse,/turf/simulated/floor,/area/maintenance/engineering) "ebs" = (/obj/random/mob/mouse,/turf/simulated/floor/plating,/area/maintenance/research) -"ebt" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/meter,/obj/random/mob/mouse,/turf/simulated/floor/plating,/area/maintenance/research) +"ebt" = (/obj/structure/table/reinforced,/obj/item/clothing/ears/earmuffs,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/clamp,/obj/item/clamp,/obj/item/clamp,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring) "ebu" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/obj/structure/closet/secure_closet/scientist,/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) "ebv" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/rnd/research) "ebw" = (/obj/structure/closet/secure_closet/scientist,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/research_lockerroom) @@ -11067,16 +10935,24 @@ "eco" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/vehicle/train/engine{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/quartermaster/office) "ecp" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/vehicle/train/trolley{dir = 8},/turf/simulated/floor/tiled,/area/quartermaster/office) "ecq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/medbay) +"ecr" = (/obj/effect/shuttle_landmark{docking_controller = "ninja_shuttle_dock_airlock"; landmark_tag = "ninja_arrivals_dock"; name = "SC Aux Dock D"},/turf/space,/area/ninja_dojo/arrivals_dock) "ecs" = (/obj/item/glass_jar,/obj/random/mob/mouse,/turf/simulated/floor/plating,/area/maintenance/cargo) +"ect" = (/obj/effect/shuttle_landmark{landmark_tag = "skipjack_arrivals_dock"; name = "SC Aux Dock B"},/turf/space,/area/skipjack_station/arrivals_dock) "ecu" = (/obj/random/mob/mouse,/turf/simulated/floor/plating,/area/maintenance/cargo) +"ecv" = (/obj/effect/shuttle_landmark{landmark_tag = "ninja_firstdeck"; name = "SC Off Deck 1 S"},/turf/space,/area/ninja_dojo/firstdeck) "ecw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"ecx" = (/obj/effect/shuttle_landmark{landmark_tag = "ninja_seconddeck"; name = "SC Off Deck 2 N"},/turf/space,/area/ninja_dojo/seconddeck) +"ecy" = (/obj/effect/shuttle_landmark{landmark_tag = "syndie_seconddeck"; name = "SC Deck 2 NE"},/turf/space,/area/syndicate_station/seconddeck) +"ecz" = (/obj/effect/shuttle_landmark{landmark_tag = "shuttle1_seconddeck"; name = "SC Off Deck 2 NW"},/turf/space,/area/shuttle/shuttle1/seconddeck) +"ecA" = (/obj/effect/shuttle_landmark{landmark_tag = "skipjack_seconddeck"; name = "SC Deck 2 West"},/turf/space,/area/skipjack_station/seconddeck) +"ecB" = (/obj/effect/shuttle_landmark{landmark_tag = "response_ship_seconddeck"; name = "SC Near Deck 2 SE"},/turf/space,/area/shuttle/response_ship/seconddeck) "ecC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/meter,/obj/random/mob/mouse,/turf/simulated/floor/plating,/area/maintenance/thirddeck/foreport) "ecD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/meter,/obj/random/mob/mouse,/turf/simulated/floor/plating,/area/maintenance/thirddeck/forestarboard) "ecE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "heads_meeting"; name = "Meeting Room Window Shutters"; opacity = 0},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/bridge/meeting_room) "ecF" = (/obj/machinery/teleport/station{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/teleporter) "ecG" = (/obj/machinery/computer/teleporter{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/teleporter) -"ecH" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/cryo/station) -"ecI" = (/turf/simulated/floor/airless,/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/cryo/station) +"ecH" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/apmaint) +"ecI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/apmaint) "ecJ" = (/obj/structure/catwalk,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/central) "ecK" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/central) "ecL" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 4559.63},/turf/simulated/floor/plating,/area/maintenance/medbay) @@ -11087,38 +10963,47 @@ "ecQ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "escape_dock_ssouth_airlock"; name = "interior access button"; pixel_x = -26; pixel_y = -26; req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D2) "ecR" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/red,/turf/simulated/floor/plating,/area/engineering/foyer) "ecS" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/button/windowtint{id = "bsquarters"; pixel_x = 36; pixel_y = 6},/obj/machinery/light_switch{pixel_x = 36; pixel_y = -6},/turf/simulated/floor/carpet/blue,/area/crew_quarters/heads/sc/bs) -<<<<<<< HEAD -<<<<<<< HEAD - -======= -"ecT" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/binary/passive_gate{dir = 4; unlocked = 1},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) -======= ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain +"ecT" = (/obj/effect/shuttle_landmark/southern_cross/cryostorage_station,/turf/simulated/shuttle/floor,/area/shuttle/cryo/station) "ecU" = (/obj/machinery/atmospherics/valve/shutoff{dir = 4; name = "Medical automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/medbay_fore) +"ecV" = (/obj/effect/shuttle_landmark{landmark_tag = "shuttle2_seconddeck"; name = "SC Off Deck 2 SE"},/turf/space,/area/shuttle/shuttle2/seconddeck) "ecW" = (/obj/machinery/atmospherics/valve/shutoff{name = "Cargo automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"ecX" = (/obj/effect/shuttle_landmark{docking_controller = "shuttle1_dock_airlocksc"; landmark_tag = "shuttle1_arrivals_dock"; name = "SC Dock 1-A"},/turf/space,/area/shuttle/shuttle1/arrivals_dock) +"ecY" = (/obj/effect/shuttle_landmark/southern_cross/transport1_station,/turf/space,/area/shuttle/transport1/station) "ecZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/bar) "eda" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/bar) "edb" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/bar) "edc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) "edd" = (/obj/machinery/atmospherics/valve/shutoff{name = "Deck 2 Port automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/bar) "ede" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) +"edf" = (/obj/effect/shuttle_landmark/southern_cross/escape/station,/turf/space,/area/shuttle/escape/station) "edg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/bar) "edh" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/bar) "edi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/bar) +"edj" = (/obj/effect/shuttle_landmark/southern_cross/arrivals_station,/turf/space,/area/shuttle/arrival/station) +"edk" = (/obj/effect/shuttle_landmark{docking_controller = "response_shuttle_dock_airlock"; landmark_tag = "response_ship_arrivals_dock"; name = "SC Dock 1-C"},/turf/space,/area/shuttle/response_ship/arrivals_dock) "edl" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade,/turf/simulated/floor/plating,/area/hallway/primary/seconddeck/dockhallway) "edm" = (/obj/random/obstruction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"edn" = (/obj/effect/shuttle_landmark{docking_controller = "shuttle2_dock_airlocksc"; landmark_tag = "shuttle2_arrivals_dock"; name = "SC Dock 3-C"},/turf/space,/area/shuttle/shuttle2/arrivals_dock) "edo" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/maintenance/medbay) "edp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"edq" = (/obj/effect/shuttle_landmark/southern_cross/merchant_station,/turf/space,/area/shuttle/merchant/away) "edr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/valve/shutoff{dir = 4; name = "Deck 2 Aft automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/medbay) +"eds" = (/obj/effect/shuttle_landmark/southern_cross/admin_station,/turf/space,/area/shuttle/administration/station) "edt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/medbay) +"edu" = (/obj/effect/shuttle_landmark{docking_controller = "nuke_shuttle_dock_airlock"; landmark_tag = "syndie_arrivals_dock"; name = "SC Dock 3-E"},/turf/space,/area/syndicate_station/arrivals_dock) "edv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/maintenance/medbay) +"edw" = (/obj/effect/shuttle_landmark{landmark_tag = "skipjack_thirddeck"; name = "SC Deck 3 East"},/turf/space,/area/skipjack_station/thirddeck) +"edx" = (/obj/effect/shuttle_landmark{landmark_tag = "ninja_thirddeck"; name = "SC Deck 3 West"},/turf/space,/area/ninja_dojo/thirddeck) "edy" = (/obj/machinery/atmospherics/valve/shutoff{name = "Civilian automatic shutoff valve"},/turf/simulated/floor/plating,/area/maintenance/bar) "edz" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) "edA" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor,/area/maintenance/substation/command) "edB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply{dir = 8},/obj/structure/disposalpipe/down{dir = 8},/obj/structure/cable{d1 = 32; d2 = 2; icon_state = "32-2"},/obj/structure/railing,/turf/simulated/open,/area/maintenance/substation/command) "edC" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor,/area/maintenance/substation/command) +"edD" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = -30},/obj/effect/shuttle_landmark/southern_cross/escape_pod7/station,/turf/simulated/shuttle/floor,/area/shuttle/escape_pod7/station) "edE" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/substation/command) +"edF" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 30},/obj/effect/shuttle_landmark/southern_cross/escape_pod8/station,/turf/simulated/shuttle/floor,/area/shuttle/escape_pod8/station) "edG" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Command Substation Bypass"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/maintenance/substation/command) +"edH" = (/obj/effect/shuttle_landmark{landmark_tag = "syndie_thirddeck"; name = "SC Deck 3 South"},/turf/space,/area/syndicate_station/thirddeck) "edI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/maintenance/substation/command) "edJ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) "edK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/thirddeck/port) @@ -11136,33 +11021,7 @@ "edW" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/folder/yellow,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/engineering/foyer) "edX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/red{dir = 8},/turf/simulated/floor/tiled,/area/engineering/foyer) "edY" = (/obj/machinery/atmospherics/pipe/simple/hidden/red{dir = 5; icon_state = "intact"},/turf/simulated/floor/tiled,/area/engineering/foyer) -<<<<<<< HEAD -<<<<<<< HEAD -<<<<<<< HEAD -<<<<<<< HEAD -<<<<<<< HEAD -<<<<<<< HEAD -"edZ" = (/obj/machinery/door/window{dir = 8; name = "Mass Driver"; req_access = list(22)},/obj/machinery/mass_driver{dir = 4; id = "chapelgun"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/airlock_sensor{pixel_y = 25},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/sign/warning/vacuum{pixel_y = -32},/turf/simulated/floor/plating,/area/chapel/main) - ->>>>>>> 5e38b8e... Adds shutoff valve monitor (#6353) -======= ->>>>>>> d974caf... Merge pull request #6457 from Woodratt/09162019_BarKitchenOverhaul -======= - ->>>>>>> e070c7c... Oct Map Fixes (#6485) -======= - ->>>>>>> a54c9d5... Merge pull request #6581 from Shadow-Quill/Emergency-Shutter-Fixx -======= - ->>>>>>> f3e3703... Coffee Shop Revamp (#6559) -======= - ->>>>>>> 95e3373... Merge pull request #6613 from Shadow-Quill/Whyy -======= - ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11242,7 +11101,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacabGaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11257,29 +11116,20 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaafaadaadaadaafaaiaaaaaaaaaaaaaaaaaaaaaaajaakaakaakaalaalaamaalaalaaaaafaaaaajaaaaaaaaaaaaaaaaaaaaaaanaafaafaagaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaagaafaaaaafaaaaaaaaiaaoaapaapaaqaapaapaaoaajaaraalaajaajaasaataasaajaajaalaalaajaakaakaakaauaakaakaakaanaaaaaaaafaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaadaaaaaaaafaaaaaaaaiaavaawaaxaayaaxaawaazaajaaAaaBaaCaaDaaEaaFaaGaaHaaIaaJaaKaalaaLaaMaaLaajaaNaaOaaNaanaaaaaaaafaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahabHaahaaaaaaaaaaadaaaaaaaafaaaaaaaaiaavaawaaxaayaaxaawaazaajaaAaaBaaCaaDaaEaaFaaGaaHaaIaaJaaKaalaaLaaMaaLaajaaNaaOaaNaanaaaaaaaafaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaafaafaaaaaaaafaaaaaaaaiaaPaawaawaawaawaawaaQaajaaRaaSaaTaaUaaVaaWaaXaaXaaXaaYaaZaamaaLabaaaLaajaaNabbaaNaanaaaaaaaafaaaaaaaadaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaabcaaaaaaaaaaaiabdabeaaiabfabgabgabgabgabgabhaajabiabjaajabkablabmabnaboaaJabpabqaalabrabsabrabtabuabvabuaanabwabxaanaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaiabyabyaaiabzabAabAabBabAabAabCaajaajaajaajaajabDabEaaJaajabFaajaajaajaaLabGaaLabtaaNabHaaNaanabIabIaanaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaiabyabyaaiabzabAabAabBabAabAabCaajaajaajaajaajabDabEaaJaajabFaajaajaajaaLakkaaLabtaaNaFQaaNaanabIabIaanaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaadaafaafaafabJabKabLabMabNabOabPabQabRabSabTabUabVabWabXabUabYabZacaabtacbaccacdabtaceacfaceabtacgachacgaciacjackaclaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaacmacnacoacpacqacqacracsactacqacqabUacuacvacwabUacxacyaeUabtacAacBacCabtacDacEacFabtacDacGacFacHacIacJacKaaaaaaaaaaadaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaadaadaadaadaafaagaadaadaadaafaafaaaaaaaafaadaadaadaadaaaaaaaaaaaaacLacMacNacOaapaapaaoacPaaoaapaapabUacQacRacQacSacTacUacVabtacWacXacYacZadaadbadcabtadaaddadeadfadgadhadiaaaaaaaaaaaaaadaadaagaaaaaaaaaaaeaadaadaadaadaadaadaafaagaadaadaadabcaafaadaaaaaaaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaabaaaaaaaaaaaiadjadkadladmadnadoadpadqadradsadtadsaduadnadnadvadwadnadnadxadnadyadzadAadBadCadDadCadzadEadFadGadHaanaaaaaaaaaaabaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaadLadMadNadOadPadQadRadSadTadUadVadQadWadXadQadQadYadZadQadQaeaadQadQadQaebaecaedaeeadQadUaefaegaehaeiaejaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaadLadLaekaelaemaenaenaenaeoaenaenaenaepaeqaczabtaeraesaetaeuaevaewaexaeyaezaeAaeBaeAaezaeCabtabtadFaeDaeEaejaejaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaaaaaaaaaadLadLaeGaeHaeIaemaeJaeKaeLaeMaeNaeOaenaePaeQaePaeRaeRaeSaeTajdabtabtaaaaaaaaaaeVaeWaeVaaaaaaaaaabtaanaeDaeXaeYaejaejaaaaaaaaaaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaaaaaaaaaaaaaadaaaaaaaaaaffadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaeFaeFafaafbafcafcafcafcafcafcafcafcafcafcafcafdafaaeFaeFaaiadLadLafealQafgafhaemafiafjafjafkafkaflaenafmafnafoafpaePafqafrafsabtaaaaaaaftaftaftafuaftaftaftaaaaaaaanafvaeXafwafwaejaejaanaeZaeZafxafyafzafzafzafzafzafzafzafzafzafzafzafAafBaeZaeZaafaafaafaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaeFafCafDafEafFafFafFafGafHafIafJafGafFafFafFafKafDafLaeFafMafNafOafPafQafRafSaemafTafkafUafjafkaflaenafVafWafXafYaePafZagaagbabtaaaaaaaftagcagdageagfaggaftaaaaaaaanafvaeXamlagiagjagkaghaeZaglaglaglagmagmagmagmagmagmagmagmagmagmagmagnagoagpaeZaaaaaaaaaaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaafaafaadaadaadaadaadaafaadaadaadaadaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaaaaaaaaaaeFafCafDafEafFafFafGagqagragsagtagqafGafFafFafKafDaguagvafMagwagxagyagzagAagBaemagCafkafjafjagDagEaenagFagGagHagIaePagJagKagJabtaaaaaaaftagLagdagMagdagNaftaaaaaaaanagOagPagQagRagSagTaghagUaglafxaglagmagmagmagmagmagmagmagmagmagmagmagVagoagpaeZaaaaaaaaaaadaadaafaafaadaadaadaadaadaafaadaadaadaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaadLadNadMadOadPadQadRadSadTadUadVadQadWadXadQadQadYadZadQadQaeaadQadQadQaebaecaedaeeadQadUaefaegaehaeiaejaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaadLadLaelaekaemaenaenaenaeoaenaenaenaepaeqaczabtaeraesaetaeuaevaewaexaeyaezaeAaeBaeAaezaeCabtabtadFaeDaeEaejaejaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaeFaaaaaaaaaadLadLaeGaeIaeHaemaeJaeKaeLaeMaeNaeOaenaePaeQaePaeRaeRaeSaeTajdabtabtaaaaaaaaaaeVaeWaeVaaaaaaaaaabtaanaeDagBaeYaejaejaaaaaaaaaaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaeZaaaaaaaaaaaaaadaaaaaaaaaaffadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaeFaeFafaafbafcafcafcafcafcafcafcafcafcafcafcafdafaaeFaeFaaiadLadLafealQaeXafgaemafiafjafjafkafkaflaenafmafnafoafpaePafqafrafsabtaaaaaaaftaftaftafuaftaftaftaaaaaaaanafvafRafwafwaejaejaanaeZaeZafxafyafzafzafzafzafzafzafzafzafzafzafzafAafBaeZaeZaafaafaafaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaeFafCafDafEafFafFafFafGafHafIafJafGafFafFafFafKafDafLaeFafMafNafOafPafQafhafSaemafTafkafUafjafkaflaenafVafWafXafYaePafZagaagbabtaaaaaaaftagcagdageagfaggaftaaaaaaaanafvagBamlagiagjagkaghaeZaglaglaglagmagmagmagmagmagmagmagmagmagmagmagnagoagpaeZaaaaaaaaaaadaaaaaaaaaadIadIadIadIadIaaaaaaaaaaaaaaaaafaafaadaadaadaadaadaafaadaadaadaadaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaadaaaaaaaaaaeFafCafDafEafFafFafGagqagragsagtagqafGafFafFafKafDaguagvafMagwagxagyagzagPagOaemagCafkafjafjagDagEaenagFagGagHagIaePagJagKagJabtaaaaaaaftagLagdagMagdagNaftaaaaaaaananTanUagQagRagSagTaghagUaglafxaglagmagmagmagmagmagmagmagmagmagmagmagVagoagpaeZaaaaaaaaaaadaadaafaafaadaadaadaadaadaafaadaadaadaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaeFafCafDafEafFafFagWagXagYagZagYahaagWafFafFafKafDahbaeFahcahdaheaheahfaheaheaemahgahhafkafjafjahiaenaePahjaePahkaePahlahmahlabtaaaaaaaftahnahoahpahqahraftaaaaaaahsahtahtahuahtahtahvahwaeZahxagoahyagmagmagmagmagmagmagmagmagmagmagmagVagoagpaeZaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaadaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaahcaeFahzahAafEafFafFafGahBagWahCagWahDafGafFafFafKahEahFaeFaeFahGaheahHahIahJahKaemahLahMahNahOafjahPahQaePahRaePahSaePahTahUahVabtaaaaaaaftahWagdahXahYahZaftaaaaaaahsaiaaibaicaidahtaieaeZaeZaifaigaihagmagmagmagmagmagmagmagmagmagmagmagVaiiaijaeZaikaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaeFaeFaeFailafEafFafFagWaimaimagZaimaimagWafFafFafKainaeFaeFahcaioaheaipaiqairaisaemaemaemaemaitaitaitaemaeRaeRaeRaeRaeRaiuahUaivabtabtaafaftaftaftaftaftaftaftaafahsahsahsaibaiwaixahtaiyaikaeZaeZaizaiAagmagmagmagmagmagmagmagmagmagmagmagVaiBaeZaeZaeZaafaafaafaagaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaanBamQaowanCanCanCanCanCaowaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11287,27 +11137,18 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaadaadaadaadaadaadaaaaaaaaaaaaaaaaeFafCaiUafEafFafFafGaiVaiWagZaiXaiYafGafFafFafKaiUaiGaeFafMaioaheaiZajaaisaisaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiKajbajcahUajdaccaiKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahsahsajeajfahtaiyajgaeZaiSajhaiAagmagmagmagmagmagmagmagmagmagmagmagVajhagpaeZaSNbaXaZYbntbmqboCbnVbyRbrQbEibCNbrQbEmbFRbFFbFSbrQbyRbHubHvbmqbHzbHwbHAbHwbHAbHwbHBaowaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaeFajiajjafEafFafGafGahBagWajkaiDahBafGafGafFafKajlajmaeFajnaioaheaisaisaisaaaaaaaaaaaaaaaaaaajoajoajpajpajpajoajqajrajsahUajtajuajvajwajxajxajxajwajwaaaaaaaaaaaaaaaaaaahsahsahsahtajyajzaeZajAajBaiAagmagmagmagmagmagmagmagmagmagmagmagVajCajDaeZbIYbJbbJabJcarMbJHbJHbJHbJHbJHbJHbJHbJHbJHbMcbJHbJHbJHbJHbMNbmqccecbvccfcbvccfcbvccfaowaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaeFafCajEafEafFajFajGajHajIagZagWajJajKafGafFafKajEaiGaeFajLaioajMadlaaaaaaaaaaabaaaaaaajpajpajoajNajOajPajQajRajSajTajUahUajVajWajXajYajZakaakbakcajwajxajxaaaaaaaabaaaaaaaaaadFakdajyakeaeZaiSakfaiAagmagmagmagmagmagmagmagmagmagmagmagVakfagpaeZcdzcdCcdBcfocfncfpcfpckbcjEclTclTcpDcnNcpFcpEcpHcpGcvHcpHcItcCgcLTcJxcOQcLUcSccPZcTFaowaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaeFafCajEakgafFakhagZagZagZagZakiakjakkaklafFafKajEaiGaeFahcakmaknadlaaaaaaaaaaaaaaaajpajpakoakpakqakraksaktakuakvakwakxakyakzakAakBakCakDakEakFakGakHakIajxajxaaaaaaaaaaaaaaaadFakJakKaikaeZaiSakfaiAagmagmagmagmagmagmagmagmagmagmagmagVakfagpaeZcXDdfZcYadjyarMcfpcfpdGcdkodGydGydVCdOZdVEdVDdGydVFdVGdGydVIdVHdVKdVJdVMdVLdVOdVNdVPaowaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaeFafCajEakgafFakhagZagZagZagZakiakjaJtaklafFafKajEaiGaeFahcakmaknadlaaaaaaaaaaaaaaaajpajpakoakpakqakraksaktakuakvakwakxakyakzakAakBakCakDakEakFakGakHakIajxajxaaaaaaaaaaaaaaaadFakJakKaikaeZaiSakfaiAagmagmagmagmagmagmagmagmagmagmagmagVakfagpaeZcXDdfZcYadjyarMcfpcfpdGcdkodGydGydVCdOZdVEdVDdGydVFdVGdGydVIdVHdVKdVJdVMdVLdVOdVNdVPaowaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLakLakLakLakLakLakLakLakLakLakLakLakLaeFaeFakMakgafFafGalzakOakNakNakPakQakRakSafFafKakTaeFaeFaeFaioakUadlaaaaaaaaaaaaajpajpakoakVakWakWakXakYakZalaalbalcaldalealfalgalhalialjalkallalmalmalnakIajxajxaaaaaaaaaaaaadFaloaiyaeZaeZaeZalpaiAagmagmagmagmagmagmagmagmagmagmagmagValqaeZaeZdVQdVSdVRapiaqzdVUdVTdVVdVTdVVdVWdVYdVXdWadVZdVVdVVdVVdVVdWbbmqdWddWcdWedWcdWcdWfdWgaowaafaafaafaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsalsaltaltaltalualtaltalualtaltaltalvaeFalwalxakgafFafGalAalBaAxalCaAyalBaDdafGafFafKalDalEaeFahcaioadladlaaaaaaaaaajpajpakoakoalFakoalGalHalHalHalHalHalHalHalHalHalHalHalHalIalIalIalJakIalKakIakIajxajxaaaaaaaaaadFadFaiyaikaeZalLalMaiAagmagmagmagmagmagmagmagmagmagmagmagValNaijaeZdWhdfZcYadWibmqdWkdWjdWmdWldWodWndWqdWpdWsdWrdWudWtdWwdWvdWxbmqdWzdWydWBdWAbHAdWCdWDaowaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsaltalRalSalTalUalValWalXalYalZamaambaeFamcajEafEafFaiDaiDahBafFafFafFahBaiDaiDafFafKajEamdaeFameaioadLaaaaaaaaaaaaajpakoakVakWamfamgalHalHalHalHalHalHalHalHalHalHalHalHalHalIalIalIalIamhamialmalnakIajxaaaaaaaaaaaaaejaiyamjaeZaiSamkaiAagmagmagmagmagmagmagmagmagmagmagmagVakfagpaeZdWEdWGdWFdWHbmqdWIarMdWJarMbmqbmqdWLdWKdWNdWMbmqarMdWJarMdWObmqdWQdWPdWSdWRdWUdWTdWVaowaaaaaaaaaaaaaafaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsammamnamoamoamoamoamoamoamoampamaambaeFamqajEafEafFamramsafFafFafFafFafFamramsafFafKajEamtaeFamudWWadLaaaaaaaaaajoajoamvalFakoamwamxalHalHalHamyamzamAamBamCamDamEamBamFamGamHamIamJalIamKamLakIalKamMajwajwaaaaaaaaaaejaiyamNaeZamOamkaiAagmagmagmagmagmagmagmagmagmagmagmagVakfamPaeZdWXdWZdWYdXbdXadXddXcdXbdXbdXfdXedXhdXgdXjdXidXkdXbdXmdXldXnaSNdXodXodXodXodXodXodXodXodXoaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsaltalRamRamSamTamoamUamVamWamXamaambaeFamYamZanaanbanbanbanbanbanbanbanbanbanbanbancandaneaeFanfaioadLaaaaaaaaaajoanganhalFalGanianianialHalHanjanjanjanjanjankanlanmanmannanoanpanqalIalIalIalJalKanransajwaaaaaaaaaaejaiyantaeZanuanvanwanxanxanxanxanxanxanxanxanxanxanxanyanzanAaeZdXpdXrdXqdXqdXsdXudXtdXwdXvdXxdXvdXzdXydXBdXAdXDdXCdXFdXEdXHdXGdXodXIdXKdXJdXMdXLdXKdXNdXobhgbhgaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsalsaltaltaltaluanDanDalualtaltaltanEaeFanFanGanHanHanIanHanHanJanKanLanManNanNanNanNanOamtaeFanPaioadladlaaaaaaajpanQanRanSanianianTanUanialHanVanWanXanYanZanZaoaaobaocaodaoealIaofalIaogalIalIaohaoiaojajxaaaaaaadFadFaiyaokaeZaolaomaonaonaonaonaooaopaoqaoraosaosaotaosaosaouaovaeZdXOdXQdXPdXRapiatLdXSapidXUdXWdXVdXXaSNaSNdXYaSNaZYdXZcfodXHdYadXodYbdYcdXJdXMdXLdXKdYddXodXodYfdYedXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaakLatTatTakLakLakLakLaoxaoxaoyaoyaoyaoyaoyaeFaeFaeFaeFaeFaeFaeFaeFaozahcaoAaeFaoBaoBaoBaeFaeFaeFaeFafMaoCaoDadlaaaaaaajpaoEaoFaoGaoHaoIaoJaoKanialHanjaoLaoMaoNaEyanZaoOaoPaoQaoRaoSaoTaoUaoVaoWaoXalIaoYaoZapaajxaaaaaaadFapbapcapdaeZaeZaeZaikapeapeapeaikapfaikapgaikaeZaeZaeZaeZaeZaeZaeZaphaphaphaphaphdYgdYgalralralralralralrdYidYhalralrdXZdYjdYkdWHdXodYldXKdXJdXMdXLdXKdYldXodYmdYodYndXodXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafakLakLapjapkaplapmapnakLapoapoappapqaprapsaptapuapvapwapxapyapyapzapuapAapAapBapCapDapEapFapCapGafMadlapHapIapJadlaaaaaaajpapKapLapManiapNapOapNanialHanjanjanjanjanjapPapQapQapQapRapSapTapUapVapWapXalIapYapZaqaajxaaaaaaadFaqbaghaqcaqdaqeaqfaqgaqhaqiaqjaqgaqkaqlaqlaqmaqnaqoaqoaqpaqqaqraqmaqsaqtaquaqvaqwaqxaqxalraqydYpaqAaqBaqCalOdYqatMalrdYtdYsdXodXodXodYudYwdYvdYydYxdYAdYzdXodYBdYDdYCdYFdYEdYGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaakLakLaqDaqDapkaqEaqFaqFaqGaqHaqIaqJaqKaqLaqMaqNapuapvaqOaqPapyapyapyapuaqQaqQaqRaqSaqTaqUaqVapCaqWaqXaqYaqZaraarbadlaaaaaaajoarcardareaniarfargarfanialHarhariarjarkarlarmarnarkaroarparqarrarsartaruarvalIarwapZarxajwaaaaaaadFaryaghaghaghaghagharzarAarBarCarDarEarFarFaqmarGarHaqoarIaqqaqqaqmarJarKarLdYHarNarOarPdYIarRarRarRarRarRarRalOalralrdYKdYJdXodYLdYNdYMaShdYOdYRdYQaShdYSdYUdYTdYWdYVdXodXodXodXodXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaakLarSapkakLakLakLakLakLakLarTarUarUarUarVarWarXapuarYapyaqParZasaasbapuascasdaseapCasfasgashapCasiasjaskaslasmasnadlasoasoaspasqasrajSamxarfargarfanialHalHalHalHalHalHalHalHalHalHalHalIalIalIamHassastalIasuasvaswasxasyasyadFaszaghasAasAasAasAaqgasBasCasDaqgasEasFasGaqmasHasIasJarIasKaqqaqmasLasMasNasOasOasOaphalralralralralralralOalPalrdYXdYYdXHdZadYZdZcdZbdZedZddZfdZddZgdZddZhdZddZjdZidZldZkdZndZmdXoaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaakLasPapkakLasQasQasQasQasQarTasRasSasTasUasVasWasXasYapuasZapuapuapuapuataatbatcatdapCapCapCapCateadlarUarUadlatfarUatgathatiatjatkatlatmatmatnatmatmaurauraurauratoatoatoatoatoatpatqatratsattatuatvatwatpatxatyatzatAatBatCatDatEadFatDatDatDatDaqgaqgaqgaqgatFatGatHatIaqmaqmaqmaqmatJaqmatKaSzatNbDEatOatDatPatQatRatSatSatSatSatSalralOalOalrdZodZqdZpdZsdZrdZtdZbdZudYTdYTdYTdZwdZvdZxdZbdZzdZydZAdXKdZBdXKdXoaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsaltalRamRamSamTaSjamUamVamWamXamaambaeFamYamZanaanbanbanbanbanbanbanbanbanbanbanbancandaneaeFanfaioadLaaaaaaaaaajoanganhalFalGanianianialHalHanjanjanjanjanjankanlanmanmannanoanpanqalIalIalIalJalKanransajwaaaaaaaaaaejaiyantaeZanuanvanwanxanxanxanxanxanxanxanxanxanxanxanyanzanAaeZdXpdXrdXqdXqdXsdXudXtdXwdXvdXxdXvdXzdXydXBdXAdXDdXCdXFdXEdXHdXGdXodXIdXKdXJdXMdXLdXKdXNdXobhgbhgaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalsalsaltaltaltaluanDanDalualtaltaltanEaeFanFanGanHanHanIanHanHanJanKanLanManNanNanNanNanOamtaeFanPaioadladlaaaaaaajpanQanRanSanianiaoJaoKanialHanVanWanXanYanZanZaoaaobaocaodaoealIaofalIaogalIalIaohaoiaojajxaaaaaaadFadFaiyaokaeZaolaomaonaonaonaonaooaopaoqaoraosaosaotaosaosaouaovaeZdXOdXQdXPdXRapiatLdXSapidXUdXWdXVdXXaSNaSNdXYaSNaZYdXZcfodXHdYadXodYbdYcdXJdXMdXLdXKdYddXodXodYfdYedXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaakLatTatTakLakLakLakLaoxaoxaoyaoyaoyaoyaoyaeFaeFaeFaeFaeFaeFaeFaeFaozahcaoAaeFaoBaoBaoBaeFaeFaeFaeFafMaoCaoDadlaaaaaaajpaoEaoFaoGaoHaoIapOarganialHanjaoLaoMaoNaEyanZaoOaoPaoQaoRaoSaoTaoUaoVaoWaoXalIaoYaoZapaajxaaaaaaadFapbapcapdaeZaeZaeZaikapeapeapeaikapfaikapgaikaeZaeZaeZaeZaeZaeZaeZaphaphaphaphaphdYgdYgalralralralralralrdYidYhalralrdXZdYjdYkdWHdXodYldXKdXJdXMdXLdXKdYldXodYmdYodYndXodXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafakLakLapjapkaplapmapnakLapoapoappapqaprapsaptapuapvapwapxapyapyapzapuapAapAapBapCapDapEapFapCapGafMadlapHapIapJadlaaaaaaajpapKapLapManiapNaNGaNHanialHanjanjanjanjanjapPapQapQapQapRapSapTapUapVapWapXalIapYapZaqaajxaaaaaaadFaqbaghaqcaqdaqeaqfaqgaqhaqiaqjaqgaqkaqlaqlaqmaqnaqoaqoaqpaqqaqraqmaqsaqtaquaqvaqwaqxaqxalraqydYpaqAaqBaqCalOdYqatMalrdYtdYsdXodXodXodYudYwdYvdYydYxdYAdYzdXodYBdYDdYCdYFdYEdYGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaakLakLaqDaqDapkaqEaqFaqFaqGaqHaqIaqJaqKaqLaqMaqNapuapvaqOaqPapyapyapyapuaqQaqQaqRaqSaqTaqUaqVapCaqWaqXaqYaqZaraarbadlaaaaaaajoarcardareaniarfaOdaNWanialHarhariarjarkarlarmarnarkaroarparqarrarsartaruarvalIarwapZarxajwaaaaaaadFaryaghaghaghaghagharzarAarBarCarDarEarFarFaqmarGarHaqoarIaqqaqqaqmarJarKarLdYHarNarOarPdYIarRarRarRarRarRarRalOalralrdYKdYJdXodYLdYNdYMaShdYOdYRdYQaShdYSdYUdYTdYWdYVdXodXodXodXodXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaakLarSapkakLakLakLakLakLakLarTarUarUarUarVarWarXapuarYapyaqParZasaasbapuascasdaseapCasfasgashapCasiasjaskaslasmasnadlasoasoaspasqasrajSamxarfaOdaOzanialHalHalHalHalHalHalHalHalHalHalHalIalIalIamHassastalIasuasvaswasxasyasyadFaszaghasAasAasAasAaqgasBasCasDaqgasEasFasGaqmasHasIasJarIasKaqqaqmasLasMasNasOasOasOaphalralralralralralralOalPalrdYXdYYdXHdZadYZdZcdZbdZedZddZfdZddZgdZddZhdZddZjdZidZldZkdZndZmdXoaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaakLasPapkakLasQasQasQasQasQarTasRasSasTasUasVasWasXasYapuasZapuapuapuapuataatbatcatdapCapCapCapCateadlarUarUadlatfarUatgathatiatjatkatlatmatmaOWaOXatmaurauraurauratoatoatoatoatoatpatqatratsattatuatvatwatpatxatyatzatAatBatCatDatEadFatDatDatDatDaqgaqgaqgaqgatFatGatHatIaqmaqmaqmaqmatJaqmatKaSzatNbDEatOatDatPatQatRatSatSatSatSatSalralOalOalrdZodZqdZpdZsdZrdZtdZbdZudYTdYTdYTdZwdZvdZxdZbdZzdZydZAdXKdZBdXKdXoaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> 5e38b8e... Adds shutoff valve monitor (#6353) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaafaaaaaaaaaatTatUapkakLasQasQasQasQasQatVatWatXatYatZauaaubaucaudatZaueaucaufatWaugauhauiaujaukaukaukaulaumaunauoaupauqauzausautauuaukauvauwauxauyauBauDauCauFauEavLauGavMauratoatoatoatoatoatpauIauJauKattauLauMauNatpauOauPauQauRauSauTauUauVauWauXauYauZavaavbauRavcauSauSavdasFauRaveavfavgavaavhauRaviavaavjavkauRavlavmauSavnatSatSatSatSatSalravoalOalrdZCdZEdZDdZGdZFdZbdZbdZHdZbdZbdZbdZbdZbdZIdZbdZKdZJdZLdXKdXKdXKdXoaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafatTdZMavqakLasQasQasQasQasQavravsavtavuavuavvavwavwavxavyavzavwavAavwavwavBavCavDavwavwavyavwavwavAavwavEavFavGavHavwavIavwavwavJavKavwavNavPavOavRavQawOavSawQauratoatoatoatoatoatpavTavUavVavWavXavYavZatpawaawbawcawdawdaweawdawfawgawhawiawjawkawlawlawmawlawlawnawoawlawlawmawpawlawqawlawrawlawlawsawtawtawuawvawwatSatSatSatSatSalrawxalOalrdXodZOdZNdXodZPdZbdZbdZRdZQdZTdZSdZVdZUdZWdYCdZYdZXdYydYydYydYydXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaafaaaaaaaaaatTapkawyakLasQasQasQasQasQawzawAawBawCawDawEawFawGawHawIawJawKaxGawAawLawMatbawNawAawAawPawAawRawAawSawTawUawVawWawXawYawZaxaaxbaxcauyaxdauDaxeaxgaxfaxiaxhaxjauratoatoatoatoatoatpaxkaxlaxmattavZaxnaxoatpaxpaxqaxrasGaxsaxtaxuaxvaxwauXaxxaxyaxzaxAaxBaxsaxDaxsaxEasFasGaxFaxsaUiaxHaxIasGaxJaxzaxKaxLasGaxMaxNaxsaxOatSatSatSatSatSalraxPalOalrdZZeabeaadZNeacdZbdZbeaddZbdZbdZbdZbdZbeaedZbeageafeahdXKdXKdXJeaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11317,58 +11158,43 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafakLakLaBfaBfaBgaBhaBiaBjaBkaBlaxTaBmaBmaBmaxVayQaBnayRaBoayRaBpaBqaxVaBraBsaBsaBtaBtaBtaBtaBtaBtaBtaBtaBuaBvaBwaybaaaaaaaBxaByaBzaBAaBDaAqaAmaBCaBBaBGaBHaBIaBJaBJaBKaBJaBEaBFaAvaCWaBOaBPaBQaBRaBSaBTaAzaBUaBVaBWaBXaaaaaaayxaBYazBaAIaBZaCaaCaayyaCbaCcaCdayyaqkaqlaqlayDaCeaCfayDaCgaARaChayDaCiaCjaCkaClaCmaCnaCnalraCoalOaCpaCqaCralralraafaaaaaaaaadXodXodXoeaVeaXeaWdYyeaYebaeaZdXodZbdZbdZbebbdXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaakLakLaBfaCsaCsaCsaCsaCtaCtaCsaCsaCuaCsaCsaCsaCsaCsaCsaCsaCsaCsaCvaCwaCxaCyaBtaCzaCAaCBaCCaCDaCEaBtaybaCFaCGaybaaaaaaaBxaCHaCIaCJauAaBLaBMaCZaCKaCLaCPaCQaCRaCSaCTaCUaCVaCXaAvaGpaCYaDbaDadVsaDcaHbaAzaDeaDfaDgaBXaaaaaaayxaDhaDiaAIaDjaDjaDjaDkaDlaDlaDlaDkaDmaDkaDnaDkaDjaDjaDjaDjaDjaDjaDjazUazUazUazUazUaDoaDoalralralralravpavpalraaaaaaaaaaaaaaaaaaaaadXodYldXKdXKdYydXKdXKdYldXoebcebeebddXodXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaDpaDqaDraDsaDtaDuaDvaDwaDxaDtaDyaDzaDAaDBaDCaDDaDEaDFaDGaDHaDIaDJaDKaDLaDMaDMaDMaDNaBtaDOaDPaybaybaaaaaaaBxaDQaCMaDSaCNaCNaykaykaykaykaDUaDVaDWaDXaDYaDZaEaaEbaEcaEdaEeaEfaAzaEgaEhaAzaAzaEiaEjaEkaBXaaaaaaayxayxaElaEmaDjaEnaEoaEpaEpaEpaEpaEqaEraEsaEtaEuaEuaEvaEuaEuaEwaExaDjaFDaEzaEzaEzaEAaEBaEBaECaEzaEzaEzaEDaEDaaaaaaaaaaaaaaaaaaaaaaaadXodYbdZBdXKdYydXKdXKdYddXodXodYfdYedXoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaEEaEFaEGaEHaEHaEIaEJaEJaEKaELaEMaENaENaEOaEPaEQaERaESaETaEUaEVaEWaEXaEYaEZaDMaDMaFaaFbaDOaDPaFcaaaaaaaaaaAeaFdaFeaFfaFgauHauHaFhaFhaDTaFiaFjaCUaCUaCUaFkaCVaFlaFmaFnaFoaFpaAzaAzaAzaAzaFqaFraFsaFtaAGaaaaaaaaaaFuaElaFvaDjaFwaFxaFyaFzaFzaFzaFzaFzaFzaFzaFzaFzaFzaFzaFAaFBaFCaDjaGzaFEaFFaFGaFHaFIaFJaFKaFLaFMaFNaEzaEDaaaaaaaaaaaaaaaaaaaaaaaadXoebfdXKdXKdYydXKdXKebgdXobhgbhgaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaEEaFOaFPaFQaFQaFQaFQaFQaFPaFRaFSaEPaEPaFTaEPaEPaFUaFVaFWaFXaFYaFZaGaaDMaGbaGcaGdaGeaBtaDOaDPaFcaaaaaaaaaaAeaAeaGfaFfaFfaGgaDTauHaFhaDTaGhaGiaGjaGkaCUaGlaGmaGnaAvaHdaHcaHPaGqaAzaGraGsaGtaFraGuaAGaAGaaaaaaaaaaFuaElaGvaDjaEnaGwaGxaGyaGAaHYaGyaGyaGyaGyaGyaGAaHYaGyaGBaGwaGCaDjaGzaFEaGDaFJaFJaFJaFJaFJaFJaFJaGEaGFaEDaaaaaaaaaaaaaaaaaaaaaaaadXodXodXodXodXodXodXodXodXoaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaEEaFOaFQaFQaFQaFQaFQaFQaFQaFRaGGaEPaEPaFTaEPaEPaGHaCxaGIaGJaGKaGLaGMaGNaGOaGPaGQaGRaBtaybaGSaFcaaaaaaaaaaaaaBxaFfaFfaFfaFfaGTauHauHauHaGUauHaGVaGWaGXaCUaGYaGZaHaaHSaHRaHTaAvaAvaHeaHfaHgaHhaGtaBXaaaaaaaaaaaaaFuaElaHiaDjaHjaGwaGxaGyaHkaHkaHlaGyaGyaGyaHlaHkaHkaGyaGBaGwaHmaDjaGzaFEaHnaHoaHpaHqaHraHsaHtaHuaFNaEzaEDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaHvaFOaFQaFQaFQaFQaFQaFQaFQaHwaHxaHxaHxaFTaEPaEPaHyaCxaHzaHAaHBaEWaEWaGLaHCaEWaEWaEWaEWaHDazhaybaybaaaaaaaaaaBxaBxaFfaFfaFfaFfaFgaHEaHFaHFaHFaHGaHHaHIaHJaHKaHLaAvaAvaAvaAvaAvaFqaGtaFraGtaGtaBXaBXaaaaaaaaaayxayxaElaDkaDjaHMaHNaGxaGyaHOaHVaHQbqBaMzbskaHQbsmaHOaGyaGBaHWaHXaDjaRLaEzaEzaEzaEAaEzaEzaECaEzaEzaEzaEDaEDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLakLaCsaEEaFOaFQaFQaFQaFQaFQaFQaFQaHZaHZaHZaIaaFTaEPaEPaIbaESaIcaHAaIdaIeaIfaDHaIgaESaDOaIhaIiaAcazhaIjaybaaaaaaaaaaaaaBxaBxaFfaFfaFfaFfaIkaIlaImaInazlaIoaIpaIqaIraIsaItaIuaIvaIwaIxaHgaHgaHhaGtaBXaBXaaaaaaaaaaaaayxaIyaElaDjaDjaDjaIzaGxaGyaIAaIBaICaIDaIEaIEaIFbwsaHOaGyaGBaIGaDjaDjalralralralralralralralralralralralralraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCOaEEaFOaFQaFQaFQaFQaFQaFQaFQaIHaIIaIJaIIaIKaENaENaILaIMaINaIOaIPaIQaIRaIQaISaITaDOaIhaAcaAcaIUaIVaybaaaaaaaaaaaaaaaaBxaBxaFfaIWaIXaIYaIZaJaaJbaJcaJdaJeaJfaJgaJhaJiaJjaJkaJlaJmaJnaJoaGtaBXaBXaaaaaaaaaaaaaaaayxaJpaJqaDkaDjaJraGwaGxaGyaJsaJtaJuaJvaJwaJwaJwaJwaJxaGyaGBaGwaJyaDjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaDRaJzaFOaFQaFQaFQaFQaFQaFQaFQaFRaEPaEPaJAaFTaJBaJCaJDaJEaJFaJGaJHaJIaJJaJKaJLaESaDOaJMaJNaAcazhaJOaybaaaaaaaaaaabaaaaaaaBxaBxaAeaJPaJQaJRaJSaInazlaIoaJTaJUaJVaJWaJXaJYaJZaKaaKbaKcaAGaBXaBXaaaaaaaabaaaaaaaaaayxaKdaElaKeaDjaJraGwaGxaGyaHOaKfaKgaKhaJwaKiaKjaKkaKlaGyaGBaGwaJyaDjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaKmaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCOaEEaFOaFQaFQaFQaFQaFQaFQaFQaHwaHxaKnaHxaKoaCsaCsaCsaCvaCvaCvaKpaKqaKraKqaKqaESaybaybaybaybazhaKsaKtaKtaKtaaaaaaaaaaaaaaaaaaaAeaAeaBxaBxaBxaAeaAeaKuaKvaJUaKwaKxaAGaAGaBXaBXaBXaAGaAGaaaaaaaaaaaaaaaaaaaKyaKyaKyaKzaElaKAaDjaKBaKCaGxaGyaHOaHOaHlaHkaKDaKhaHlaHOaHOaGyaGBaKEaKFaDjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaCsaEEaFOaFQaFQaFQaFQaFQaFQaFQaKGaKGaKGaKHaKIaCsaKJaKJaKJaKJaKJaKpaKKaKLaKMaKqaKNaKNaKNaKNaybazhaKsaKOaKPaKtaKtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKQaKRaKSaJUaKTaKUaKQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKyaKyaKVaKWaKzaElaKXaDjaJraKYaGxaGyaGyaHOaKZaLaaJwaLbaLcaHOaGyaGyaGBaKYaJyaDjaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCsaEEaFOaFQaFQaFQaFQaFQaFQaFQaIHaIIaIIaIIaFTaLdaKJaKJaKJaKJaKJaKpaLeaLfaLgaKqaLhaAcaAcaAcaLiazhaLjaLkaLlaLmaKtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKQaLnaLoaLpaLqaLraKQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKyaLsaLtaLuaLvaElaLwaDjaJraLxaGxaGyaGyaHkaLyaJwaJwaJwaLzaHkaGyaGyaGBaLxaJyaDjaDkaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCsaLAaFOaFQaFQaFQaFQaFQaFQaFQaFRaEPaEPaEPaLBaLCaKJaKJaKJaKJaKJaKpaLDaLEaLFaKqaAcaAcaAcaLGaybaLHaKsaLIaLlaLJaKtaaaaaaaaaaaaaLKaLLaLMaLLaLNaaaaaaaLOaLOaLPaJUaLQaLRaLRaLRaLRaLRaLRaLSaLSaLSaLRaLRaLRaLRaKyaLTaLtaLUaKzaElaDkaDjaDjaLVaLWaGyaGyaKhaLXaLXaJwaLXaLXaKhaGyaGyaGBaLYaDjaDjaDjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCsaEEaFOaFQaFQaFQaFQaFQaFQaFQaFRaLZaEPaEPaFTaMaaKJaKJaKJaKJaKJaKpaKqaMbaKqaKqaMcaMdaMeaMfaMfaMgaKsaMhaLlaMiaKtaaaaaaaaaaaaaMjaMkaMlaMmaMjaaaaaaaaaaLOaMnaJUaMoaMpaMqaMraMsaMtaLSaMuebhaMwaMxaMybCFaLRaMAaMBaLtaLuaKzaMCaDjaDjaMDaMEaLWaGyaGyaHOaMFaKhaMGaKhaHlaHOaGyaGyaGBaMHaMIaDjaDkaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaCsaEEaFOaFPaFQaFQaFQaFQaFQaFPaFRaMJaMKaMLaMMaCsaMNaKJaKJaKJaKJaMfaDOaDOaDOaybaybaybaybaMfaMOaLHaKsaKsaMPaKsaKtaMQaMQaMQaMRaMjaMSaMTaMUaMjaMVaMQaMQaMQaMWaMXaMWaLRaMqaMYaMZaNbaNaaNdaNcaNfaNeaNgbCFaLRaKzaKzaNhaKzaKzaNiaDkaDjaNjaNkaLWaGyaGyaKhaNlaNmaJwaNmaNnaKhaGyaGyaGBaNkaJyaDjaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaCsaNoaNpaNqaNraNraNsaNtaNtaNuaNvaNwaCtaCtaCtaCsaMfaMfaMfaMfaMfaMfaNxaNxaNxaNyaNzaybaNAaNBaAcaNCaNDaNEaNFaNGaNHaMQaNIaNJaNKaNLaNMaNNaNMaNLaNOaNPaNQaMQaNRaNSaNRaLRaNTaNUaNVaNWaNXaNYaNZaOaaObaOcbCFaLRaOdaOeaOfaOgaOhaOiaAIaOjaOkaNkaGxaGyaGyaHOaHUaOlaOmaOnaHUaHOaGyaGyaGBaNkaJyaDjaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaCsaCsaOoaOpaOqaOqaOraOqaOqaOsaOtaOuaCuaDOaOvaAcaAcaAcaOwaAcaAcaAcaAcaAcaOxaAcaAcaOyaAcaAcaAcaAcaAcaAcaAcaLHaOzaMQaOAaOAaOBaOCaODaOEaOFaOGaOHaOAaOIaMQaIpaOJaOKaLRaOLaOMaONaOOaOPaOQaORaOSaOTaOUaOVaLRaOWaOXaOYaOZebiaPbaAIaDjaPcaNkaGxaGyaGyaGyaHOaPdaPeaPfaHOaGyaGyaGyaGBaNkaJyaDjaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaCsaCsaCOaDRaCOaCsaCOaDRaCOaCsaCsaCsaDOaOvaMfaFcaFcaFcaFcaFcaMfaPgaPhaMfaMfaMfaMfaMfaMfaMfaFcaFcebjaAcazhaPiaMQaPjaOAaPkaPlaPlaPmaPnaPnaPoaOAaPpaMQaPqaPraPsaLRaPtaPuaPvaPwaPxaPyaPzaPAaPBaPCaPDaLRaPEaPFaPGaPHaFuaFuaPIaDjaDjaNkaPJaPKaPKaPKaPKaPKaPKaPKaPKaPKaPKaPKaPLaPMaDjaDjaafaafaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaCsaMfaMfaMfaaaaaaaaaaaaaaaaMfaMfaMfaMfaaaaaaaaaaafaaaaaaaaaaFcaFcaAcazhazcaMQaPNaPOaPPaPQaPRaPSaPTaPUaPVaPWaNMaPXaPYaPZaKTaLRaLRaQaaQbaQcaLSaQdaQeaQfaQgaQhaQiaLRaQjaQkaQlaFuaFuaaaaaaaaaaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaFcaFcazhaQmaMQaNMaNMaQnaNMaNMaQoaNMaNMaQpaNMaNMaQqaQraPZaQsaQtaQuaQuaQvaQuaQuaQuaQuaQuaQwaQuaQuaLRaQxaQyaFuaFuaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaFcaQzaQAaQBaQCaQDaQDaQEaQFaQGaQHaQDaQIaQDaQJaQKaQLaQMaQNaQKaQOaQPaQQaQRaQSaQKaQTaQUaQVaQVaQWaQXaQYaQZaFuaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaEEaEFaEGaEHaEHaEIaEJaEJaEKaELaEMaENaENaEOaEPaEQaERaESaETaEUaEVaEWaEXaEYaEZaDMaDMaFaaFbaDOaDPaFcaaaaaaaaaaAeaFdaFeaFfaFgauHauHaFhaFhaDTaFiaFjaCUaCUaCUaFkaCVaFlaFmaFnaFoaFpaAzaAzaAzaAzaFqaFraFsaFtaAGaaaaaaaaaaFuaElaFvaDjaFwaFxaFyaFzaFzaFzaFzaFzaFzaFzaFzaFzaFzaFzaFAaFBaFCaDjaGzaFEaFFaFGaFHaFIaSBaFKaFLaFMaFNaEzaEDaaaaaaaaaaaaaaaaaaaaaaaadXoebfdXKdXKdYydXKdXKebgdXobhgbhgaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaEEaFOaFPaFPaFPaFPaFPaFPaFPaFRaFSaEPaEPaFTaEPaEPaFUaFVaFWaFXaFYaFZaGaaDMaGbaGcaGdaGeaBtaDOaDPaFcaaaaaaaaaaAeaAeaGfaFfaFfaGgaDTauHaFhaDTaGhaGiaGjaGkaCUaGlaGmaGnaAvaHdaHcaHPaGqaAzaGraGsaGtaFraGuaAGaAGaaaaaaaaaaFuaElaGvaDjaEnaGwaGxaGyaGAaHYaGyaGyaGyaGyaGyaGAaHYaGyaGBaGwaGCaDjaGzaFEaGDaFJaFJaFJaFJaFJaFJaFJaGEaGFaEDaaaaaaaaaaaaaaaaaaaaaaaadXodXodXodXodXodXodXodXodXoaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaEEaFOaFPaFPaFPaFPaFPaFPaFPaFRaGGaEPaEPaFTaEPaEPaGHaCxaGIaGJaGKaGLaGMaGNaGOaGPaGQaGRaBtaybaGSaFcaaaaaaaaaaaaaBxaFfaFfaFfaFfaGTauHauHauHaGUauHaGVaGWaGXaCUaGYaGZaHaaHSaHRaHTaAvaAvaHeaHfaHgaHhaGtaBXaaaaaaaaaaaaaFuaElaHiaDjaHjaGwaGxaGyaHkaHkaHlaGyaGyaGyaHlaHkaHkaGyaGBaGwaHmaDjaGzaFEaHnaHoaHpaHqaHraHsaHtaHuaFNaEzaEDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxTalsaCtaHvaFOaFPaFPaFPaFPaFPaFPaFPaHwaHxaHxaHxaFTaEPaEPaHyaCxaHzaHAaHBaEWaEWaGLaHCaEWaEWaEWaEWaHDazhaybaybaaaaaaaaaaBxaBxaFfaFfaFfaFfaFgaHEaHFaHFaHFaHGaHHaHIaHJaHKaHLaAvaAvaAvaAvaAvaFqaGtaFraGtaGtaBXaBXaaaaaaaaaayxayxaElaDkaDjaHMaHNaGxaGyaHOaHVaHQbqBaMzbskaHQbsmaHOaGyaGBaHWaHXaDjaRLaEzaEzaEzaEAaEzaEzaECaEzaEzaEzaEDaEDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLakLaCsaEEaFOaFPaFPaFPaFPaFPaFPaFPaHZaHZaHZaIaaFTaEPaEPaIbaESaIcaHAaIdaIeaIfaDHaIgaESaDOaIhaIiaAcazhaIjaybaaaaaaaaaaaaaBxaBxaFfaFfaFfaFfaIkaIlaImaInazlaIoaIpaIqaIraIsaItaIuaIvaIwaIxaHgaHgaHhaGtaBXaBXaaaaaaaaaaaaayxaIyaElaDjaDjaDjaIzaGxaGyaIAaIBaICaIDaIEaIEaIFbwsaHOaGyaGBaIGaDjaDjalralralralralralralralralralralralralraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCOaEEaFOaFPaFPaFPaFPaFPaFPaFPaIHaIIaIJaIIaIKaENaENaILaIMaINaIOaIPaIQaIRaIQaISaITaDOaIhaAcaAcaIUaIVaybaaaaaaaaaaaaaaaaBxaBxaFfaIWaIXaIYaIZaJaaJbaJcaJdaJeaJfaJgaJhaJiaJjaJkaJlaJmaJnaJoaGtaBXaBXaaaaaaaaaaaaaaaayxaJpaJqaDkaDjaJraGwaGxaGyaJsaTJaJuaJvaJwaJwaJwaJwaJxaGyaGBaGwaJyaDjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaDRaJzaFOaFPaFPaFPaFPaFPaUcaFPaFRaEPaEPaJAaFTaJBaJCaJDaJEaJFaJGaJHaJIaJJaJKaJLaESaDOaJMaJNaAcazhaJOaybaaaaaaaaaaabaaaaaaaBxaBxaAeaJPaJQaJRaJSaInazlaIoaJTaJUaJVaJWaJXaJYaJZaKaaKbaKcaAGaBXaBXaaaaaaaabaaaaaaaaaayxaKdaElaKeaDjaJraGwaGxaGyaHOaKfaKgaKhaJwaKiaKjaKkaKlaGyaGBaGwaJyaDjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaKmaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCOaEEaFOaFPaFPaFPaFPaFPaFPaFPaHwaHxaKnaHxaKoaCsaCsaCsaCvaCvaCvaKpaKqaKraKqaKqaESaybaybaybaybazhaKsaKtaKtaKtaaaaaaaaaaaaaaaaaaaAeaAeaBxaBxaBxaAeaAeaKuaKvaJUaKwaKxaAGaAGaBXaBXaBXaAGaAGaaaaaaaaaaaaaaaaaaaKyaKyaKyaKzaElaKAaDjaKBaKCaGxaGyaHOaHOaHlaHkaKDaKhaHlaHOaHOaGyaGBaKEaKFaDjaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaCsaEEaFOaFPaFPaFPaFPaFPaFPaFPaKGaKGaKGaKHaKIaCsaKJaKJaKJaKJaKJaKpaKKaKLaKMaKqaKNaKNaKNaKNaybazhaKsaKOaKPaKtaKtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKQaKRaKSaJUaKTaKUaKQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKyaKyaKVaKWaKzaElaKXaDjaJraKYaGxaGyaGyaHOaKZaLaaJwaLbaLcaHOaGyaGyaGBaKYaJyaDjaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCsaEEaFOaFPaFPaFPaFPaFPaFPaFPaIHaIIaIIaIIaFTaLdaKJaKJaKJaKJaKJaKpaLeaLfaLgaKqaLhaAcaAcaAcaLiazhaLjaLkaLlaLmaKtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKQaLnaLoaLpaLqaLraKQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKyaLsaLtaLuaLvaElaLwaDjaJraLxaGxaGyaGyaHkaLyaJwaJwaJwaLzaHkaGyaGyaGBaLxaJyaDjaDkaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCsaLAaFOaFPaFPaFPaFPaFPaFPaFPaFRaEPaEPaEPaLBaLCaKJaKJaKJaKJaKJaKpaLDaLEaLFaKqaAcaAcaAcaLGaybaLHaKsaLIaLlaLJaKtaaaaaaaaaaaaaLKaLLaLMaLLaLNaaaaaaaLOaLOaLPaJUaLQaLRaLRaLRaLRaLRaLRaLSaLSaLSaLRaLRaLRaLRaKyaLTaLtaLUaKzaElaDkaDjaDjaLVaLWaGyaGyaKhaLXaLXaJwaLXaLXaKhaGyaGyaGBaLYaDjaDjaDjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaCsaEEaFOaFPaFPaFPaFPaFPaFPaFPaFRaLZaEPaEPaFTaMaaKJaKJaKJaKJaKJaKpaKqaMbaKqaKqaMcaMdaMeaMfaMfaMgaKsaMhaLlaMiaKtaaaaaaaaaaaaaMjaMkaMlaMmaMjaaaaaaaaaaLOaMnaJUaMoaMpaMqaMraMsaMtaLSaMuebhaMwaMxaMybCFaLRaMAaMBaLtaLuaKzaMCaDjaDjaMDaMEaLWaGyaGyaHOaMFaKhaMGaKhaHlaHOaGyaGyaGBaMHaMIaDjaDkaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaCsaEEaFOaFPaFPaFPaFPaFPaFPaFPaFRaMJaMKaMLaMMaCsaMNaKJaKJaKJaKJaMfaDOaDOaDOaybaybaybaybaMfaMOaLHaKsaKsaMPaKsaKtaMQaMQaMQaMRaMjaMSaMTaMUaMjaMVaMQaMQaMQaMWaMXaMWaLRaMqaMYaMZaNbaNaaNdaNcaNfaNeaNgbCFaLRaKzaKzaNhaKzaKzaNiaDkaDjaNjaNkaLWaGyaGyaKhaNlaNmaJwaNmaNnaKhaGyaGyaGBaNkaJyaDjaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaCsaNoaNpaNqaNraNraNsaNtaNtaNuaNvaNwaCtaCtaCtaCsaMfaMfaMfaMfaMfaMfaNxaNxaNxaNyaNzaybaNAaNBaAcaNCaNDaNEaNFaPEaPiaMQaNIaNJaNKaNLaNMaNNaNMaNLaNOaNPaNQaMQaNRaNSaNRaLRaNTaNUaNVaOeaNXaNYaNZaOaaObaOcbCFaLRaPFaQjaOfaOgaOhaOiaAIaOjaOkaNkaGxaGyaGyaHOaHUaOlaOmaOnaHUaHOaGyaGyaGBaNkaJyaDjaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaCsaCsaOoaOpaOqaOqaOraOqaOqaOsaOtaOuaCuaDOaOvaAcaAcaAcaOwaAcaAcaAcaAcaAcaOxaAcaAcaOyaAcaAcaAcaAcaAcaAcaAcaQmaQkaMQaOAaOAaOBaOCaODaOEaOFaOGaOHaOAaOIaMQaIpaOJaOKaLRaOLaOMaONaOOaOPaOQaORaOSaOTaOUaOVaLRaQxagAaOYaOZebiaPbaAIaDjaPcaNkaGxaGyaGyaGyaHOaPdaPeaPfaHOaGyaGyaGyaGBaNkaJyaDjaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaCsaCsaCOaDRaCOaCsaCOaDRaCOaCsaCsaCsaDOaOvaMfaFcaFcaFcaFcaFcaMfaPgaPhaMfaMfaMfaMfaMfaMfaMfaFcaFcebjaAcaQAaQzaMQaPjaOAaPkaPlaPlaPmaPnaPnaPoaOAaPpaMQaPqaPraPsaLRaPtaPuaPvaPwaPxaPyaPzaPAaPBaPCaPDaLRaQYaQyaPGaPHaFuaFuaPIaDjaDjaNkaPJaPKaPKaPKaPKaPKaPKaPKaPKaPKaPKaPKaPLaPMaDjaDjaafaafaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaCsaMfaMfaMfaaaaaaaaaaaaaaaaMfaMfaMfaMfaaaaaaaaaaafaaaaaaaaaaFcaFcaAcaQmbpyaMQaPNaPOaPPaPQaPRaPSaPTaPUaPVaPWaNMaPXaPYaPZaKTaLRaLRaQaaQbaQcaLSaQdaQeaQfaQgaQhaQiaLRbrrbwSaQlaFuaFuaaaaaaaaaaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaDjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaFcaFcaQZbwTaMQaNMaNMaQnaNMaNMaQoaNMaNMaQpaNMaNMaQqaQraPZaQsaQtaQuaQuaQvaQuaQuaQuaQuaQuaQwaQuaQuaLRbykbylaFuaFuaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaFcbySbyQaQBaQCaQDaQDaQEaQFaQGaQHaQDaQIaQDaQJaQKaQLaQMaQNaQKaQOaQPaQQaQRaQSaQKaQTaQUaQVaQVaQWaQXbznbzXaFuaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> 5e38b8e... Adds shutoff valve monitor (#6353) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaagaadaadabcaagaagaadaadaafaagaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaabaaaaaaaaaaMfazgazgaybaRaaRbaRbaRcaRdaReaRfaRgaRhaRbaRiaRjaRkaRlaRmaRjaRnaRjaRoaRpaRqaRraRsaRtaRjaRjaRuayxazBazBaPIaaaaaaaaaaabaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaafaadaadaadaafaaeaagaadaadaadaafaaaaafaagaadaadaadaadaafaaeaaaaMfaMfaMfaMfaLOaLOaLOaRvaRwaRxaRyaRzaRAaRzaRzaRBaKvaRCaKwaKxaRDaRDaRDaRDaREaRFaRGaRHaLOaLOaLOaPIaPIaPIaPIaafaafaadaadaadaadaKmaaaaadaafaadaadaadaadaadaadaadaaaaaeaKmaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaRIaRJaRJaRKaRJaSbaRMaRNaROaRMaRPaRQaRRaRzaRSaRTaRCaRUaRSaRDaRVaRWaRWaREaRYaRZaSaaTnaScaSdaScaScaSeaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaSfaaaaaaaaaaaaaaaaSfaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaSgbEoaSiaSjaSkaSlaSmaSnaRMaSoaSpaSqaSraRSaSsaStaKTaKRaRDaSuaRVaSvaSwaSxaSydgEaSAaSBaSCaSDaSEaSeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaRJaRJaRKaRJaSbaRMaSFaSGaRyaRzaRzaRzaRzaRSaSHaSIaSJaSKaSLaSMebkaSOaREaSPaSQaSaaTnaScaSdaScaScaSeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaSfaaaaaaaaaaaaaaaaSfaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaSgbEoaSidHcaSkaSlaSmaSnaRMaSoaSpaSqaSraRSaSsaStaKTaKRaRDaSuaRVaSvaSwaSxaSydgEaSAdLkaSCaSDaSEaSeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaSfdLNaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaRJaRJaRKaRJaSbaRMaSFaSGaRyaRzaRzaRzaRzaRSaSHaSIaSJaSKaSLaSMebkaSOaREaSPaSQaSaaTnaScaSdaScaScaSeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSRaRyaRyaRyaRyaRyaRyaSSaSTaRyaSUaSVaSWaSXaSYaSZaTaaTbaTcaTdaTeaTfaTgaREaThaTiaREaREaREaREaREaREaTjaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTlaTlaTmaTlaTDaRMaToaTpaTqaTraTbaTbaTbaTsaTbaTtaTuaTvaTwaTxaTyaTzaTAaTBaTCaSadmJaTEaTFaTEaTEaSeaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTGaTHaTIaTJaTKaTLaTMaTNaRyaTOaTPaTQaTRaRnaTSaTTaTUaTcaTdaTVaTWaTXaREaTYaTZaUaaUbaUcaUdaUeaUfaSeaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTlaTlaTmaTlaTDaRMaUgaUhaRydnCaKRaUjaUkaUlaUmaUnaUmaUoaUkaUpaUqaUraREaUsaUtaSadmJaTEaTFaTEaTEaSeaaaaaaaaaaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTlaTlaTmaTlaTDaRMaToaTpaTqaTraTbaTbaTbaTsaTbaTtaTuaTvaTwaTxaTyaTzaTAaTBaTCaSabvbaTEaTFaTEaTEaSeaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTGaTHaTIaTJaTKaTLaTMaTNaRyaTOaTPaTQaTRaRnaTSaTTaTUaTcaTdaTVaTWaTXaREaTYaTZaUaaUbaUcaUdaUeaUfaSeaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTlaTlaTmaTlaTDaRMaUgaUhaRydnCaKRaUjaUkaUlaUmaUnaUmaUoaUkaUpaUqaUraREaUsaUtaSabvbaTEaTFaTEaTEaSeaaaaaaaaaaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> a54c9d5... Merge pull request #6581 from Shadow-Quill/Emergency-Shutter-Fixx +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTlaTlaTmaTlaTDaRMaToaTpaTqaTraTbaTbaTbaTsaTbaTtaTuaTvaTwaTxaTyaTzaTAaTBaTCaSaaVYaTEaTFaTEaTEaSeaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTGaTHaTIdPJaTKaTLaTMaTNaRyaTOaTPaTQaTRaRnaTSaTTaTUaTcaTdaTVaTWaTXaREaTYaTZaUaaUbdYPaUdaUeaUfaSeaaaaaaaaaaTkaaaaaaaaaaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRIaTlaTlaTmaTlaTDaRMaUgaUhaRydnCaKRaUjaUkaUlaUmaUnaUmaUoaUkaUpaUqaUraREaUsaUtaSaaVYaTEaTFaTEaTEaSeaaaaaaaaaaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUuaUvaUvaUvaUvaUvaRyaUwaUwaRMaUxaUkaUkaUkaUyaUzaUAaUzaUBaUkaUCaUCaUCaREaUDaUEaREaUvaUvaUvaUvaUvaUuaaaaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUFaUGaUHaUFaUIaUJaUKaULaUMaUNaUOaUPaUQaURaUSaUTaUUaUVaUWaUXaUYaULaUYaUZaUMaVaaVbaVcaVdaUFaVeaVfaUFaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVgaVhaViaVjaVkaVlaVmaVnaVoaVpaVqaVraVraVraVraVsaVtaVuaVraVraVraVraVvaVwaVxaVyaVmaVlaVzaVAaVBaVCaVDaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVgaVhaViaVjaVkaVlaVmaVnaVoaVpaVqaVraVraVraVraVsaVtaVuaVraVraVraVraVvaVwaVxaVyaVmaVlaVzaVAaVBaVCaVDaTkecraTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUvaUCaUCaUvaUCaVEaUCaVFaVGaVGaVFaUCaVEaUCaVHaVIaVJaVKaVLaUCaVEaUCaVFaVMaVMaVFaUCaVEaUCaUvaUCaUCaUvaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVNaVOaVPaVQaaaaaaaUCaUCaVRaVSaVTaUCaUCaaaaaaaVNaVUaVVaVQaaaaaaaaaaaaaaaaaaaaaaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVWaVXaVYaVZaaaaaaaaaaUCaUCaVEaUCaUCaaaaaaaaaaVWaWaaWbaVZaaaaaaaaaaaaaaaaaaaaaaaaaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVWaVXbvbaVZaaaaaaaaaaUCaUCaVEaUCaUCaaaaaaaaaaVWaWaaWbaVZaaaaaaaaaaaaaaaaaaaaaaaaaTkaTkaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUuaWcaWdaUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUvaWeaWfaUuaaaaaaaaaaaaaaaaaaaaaaaaaaaaTkaTkaTkaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaaaaaaaaaaWgaaaaaaaaaaaaaaaaWgaaaaaaaaaaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWhaTkaTkaTkaTkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaaaaabaaaaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaaaaabaaaaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaWgectaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaWgaWgaWgaWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSfaSfaSfaSfaSfaSfaSfaSfaSfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaWgaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11395,7 +11221,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiecvaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWiaWiaWiaWiaWiaWiaWiaWiaWiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11500,7 +11326,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjecxaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWjaWjaWjaWjaWjaWjaWjaWjaWjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11509,10 +11335,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlecyaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkeczaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaWkaWkaWkaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWkaWkaWkaaaaaaaaaaWkaWkaWkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaWlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11532,45 +11358,6 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWBaYmaYnaYoaXaaYpaXLaXMaXIaXLaYqaXhaYraXjaYsaWnaYtaWNaYuaYvaYwaYxaYyaYzaYAaYBaYCaYDaYEaXvaYFaWoaYGaYHaYIaYJaYKaXAaYLaYMaYNaWXaXEaXFaXFaXFaYiaYjaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWsaWsaWtaWtaWtaWtaYkaWtaWtaWtaYlaWtaWtaWtaWtaWsaWsaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaWBaYOaYPaXJaXaaYQaYRaYSaYTaYUaYVaXhaYWaXjaYXaWnaYYaYZaZaaZbaWnaZcaZdaZeaZfaZgaWoaZhaZiaZjaWoaWoaXAaXAaZkaZlaZmaZnaZoaZpaZqaWXaXEaZraZsaZtaYiaYjaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaWsaWtaWtaWtaWtaWtaWtaYkaWuaYlaWtaWtaWtaWtaWtaWtaWsaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWCaXaaZuaXaaXhaZvaXLaZwaZxaXLaZyaXhaXhaZzaXhaWnaZAaWnaZBaWnaWnaWnaZCaZDaZCaWnaWoaWoaWoaWoaWoaWoaZEaZFaYbaZGaZHaXAaZIaZJaZKaWXaZLaXFaZMaXFaZNaWXaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaafaafaafaWsaWuaZOaWtaWtaWtaWtaWtaZPaWtaWtaWtaWtaWtaZQaWuaWsaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaZRaZSaZTaZUaZVaZWaXLaZXeblaXLaZZbaababbacbadbaebafbagbahbaibajbakbalbambanbaobapbaqbarbasbatbauaXAaXAaXAbavaXAaXAbawbaxbawaWXbaybazbaAbazbaBaWXaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWsaWtaWtaWtaWtaWtaWtbaCbaDbaEaWtaWtaWtaWtaWtaWtaWsaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaabaaaaaabaFbaGbaHbaIbaJbaKbaLbaMbaNbaLbaObaPbaLbaQbaRbakbaSbaTbaUbaVbaWebmbaYbaZbbabbbbbcbbdbbebbfbbgbaobbhbbibbjbbkbblbbmbbnbbkbbobbpbbqaXFbbraXFbbsaWXaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaWsaWsaWtaWtaWtaWtbaCaWtbaDaWtbaEaWtaWtaWtaWtaWsaWsaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabbtbbubbvaXMbbwbbxbbybbzbbAbbBbbCbbDbbEbbFbbGbakbaSbbHbbIbbJbbKbbLbbMbbNbbObaobbPbbQbbRbbSbapbaobbTbbUbbVbbWbbXbbXbbYbbZbcabcbbccbcdbcebcdbcfaYjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWtaWtaWtbaCaWtbcgbaDbchaWtbaEaWtaWtaWtaWsaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaWBaWBbcibcjbckaXhbclbcmbcnaXhbcobcpaXhaXLbcqbcrbcrbcrbcsbctbcubcvbcwbcxbcybczbaobaobcAbaobaobaobcBbcCbcDbcEbcFbbUbcGbbUbcHaYjbcIbcJbcKbcJbcLaYjaaaaaaaaaaadbcMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWsaWtaWtaWtaWtbcgbaDbchaWtaWtaWtaWtaWsaWsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabcNbcObcPbcQbcRbcSbcPbcTbcRbcUbcVaXhbcWbcXbcrbcYbcZbdabdbbdcbcrbddbdebdfbdgbdhbdibdjbdkbdlbdmbdnbdobdpbdqbdrbbUbbUbbUbdsbdtbdubdvbdwbdxbduaYjaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWtaWtaWtaWtbcgbaDbchaWtaWtaWtaWtaWsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaadaadaadaagaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabcNbdybdzbdAbcRbdBbdzbdAbcRbdCbdDaXhbdEbdFbcrbdGbdHbdIbdJbdKbdLbdMbcxbdNbdObdPbdQbdRbdQbdSbdgbdTbcCbdUbdVbdWbdXbdYbdZbdYbeabebbecbedbeebefaWXaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabegaWsbehaWsaWtaWtbcgbaDbchaWtaWtaWsbehaWsbegaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaadaafaafaafbeibcNbejbenbelbcRbembePbelbcRbeobepaXhbeqberbcrbesbdHbetbdHbeubevbcwbewbexbeybezbeAbeBbeCbeDbdgbeEbeFbeGbeHbbUbeIbeJbeJbeJbeJbeJbeKbeKbeKbeKbeLbeLaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabegbeMbaDaWsaWsaWsaWtbaDaWtaWsaWsaWsbaDbeMbegaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaafbeNaaaaaaaaabeObeQbeTbeRbeSbeUbkzbeRbeVbeWbeXbeYaXhbeZbfabcrbfbbfcbfdbdHbfebffbcwbcxbfgbfhbfibdQbfjbdQbfkbflbfmbfnbfobfpbfqbfrbeJbfsbftbfubfvbfwbfxbfybfzbfAbeLaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabegbaDbfBbegaaaaWsaWsbfCaWsaWsaaabegbfDbfEbegaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaabFhbFhbFhbFhbFhbFhbFhbFhbFhbFhbfFbFhbFhbFhbFhaaaaaaaaabfGaaaaaaaaaaaaaaaabcaaaaaaaaaaaabfHbfIbfJbfKbfLbfMbfNbfObfPbfQbfRbfSaXhbcWbfTbcrbfUbfVbfWbfXbfYbfZbcwbcxbgabgbbgcbgdbgebgfbggbdgbghbghbgibgjbghbgkbeJbglbgmbgnbeJbgobgpbgqbgrbgsbeLaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbegbehbgtbegaaaaafaaaaaaaaaaafaaabegbgtbgubegaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaafaafaafaafaafaafbgvbhibhjbgvbhkbhlbgvbhmbhnbgvbgwbgvbhpbhqbgvaafaafaafaafaadaaaaaaaaaaaaaadaaaaaaaaaaaabgxbgybgzbgybcRbgAbcRbgBbcRbcRbgCbgDbgEbgFbgGbcrbgHbgIbgJbgKbgLbcrbgMbgNbgObdgbgPbgQbgRbdgbdgbdgbgSbgTbgUbgVbgWbgXbhXbgYbgZbhabeJbhbbhcbhdbhebhfbeLaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaabhgbhgbhgaaaaaaaafaaaaaaaaaaafaaaaaabhgbhhbhgaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaabgvbTTbTTbgvbYmbYmbgvbYibYibgvbhobgvbZHbZHbgvaaaaaaaaaaaaaadaaaaaaaaaaaaaadaafaafaafbgxbgxbhrbhsbgybhtbhubcRbhvbhwbcRbhxbhybhzbhAbhBbhCbhDbhEbhFbhGbhHbhIbhJbhKbhLbhIbhMbhNbhObhPbhQbhRbhSbhTbhUbhTbhVbhWbstbhXbhYbhXbeJbhZbiabhZbeKbeKbeLaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaabgvbibbicbgvbidbiebgvbifbigbgvbgwbgvbihbiibgvaaaaaaaaaaaaaadaadaaaaaaaaaaadaaaaaaaaabgxbijbikbilbgybimbinbcRbiobipbcRbiqbirbisbitbiubivbiwbixbiybizbiAbiBbiCbiDbiEbiFbiGbiHbiIbiJbiKbiLbiKbiKbiMbiKbiNbiObiPbiQbiRbiSbiTbiUbiVbiWbiXbiYbiZaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaabaaaaaaaaabgvbjabjbbgvbjabjbbgvbjcbjdbgvbgwbgvbjabjebgvaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaabgxbjfbjgbjhbgybjibjjbcRbjkbjlbcRbjmbjnbjmbjmbjobjpbjqbjmbjrbjsbjtbjubjvbjwbjxbjubjybjsbjzbjAbjBbjCbfgbjDbjEbjFbjGbjHbjIbjJbjKbjLbjMbjNbjObjPbjQbjRbjSaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhbjTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaabjUbgwaaabjUbgwaaabjVbjVaaabgwaaabjUbjWaaaaaaaaaaaaaaaaaaaafbfGaaaaaaaaaaaaaaaaaabgxbjXbjgbjYbgxbcNbcNbcNbcNbcRbcRbjZbkabkbbkcbkdbkebkfbkgbjrbkhbkibkjbkkbklbkmbknbkobkpbkqbkrbksbktbkubkqbkvbkvbkvbkvbkvbkvbkvbkvbkwbkxbkybkybkybEBbkyaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaaaaabkAbkCbkEbkDbkBbkEbkFbkGbkHbkIbkJbkFbkGbkKbkLbkMbkAbkAaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaabgxbgxbkNbgxbgxbkObkPbkQbjrbkRbkSbkTbkUbkVbkWbkXbkYbkZblablbblcbldbleblfblgblhblibljblkbllblmblnbloblpblqbkvblrblsbltblublvblwbkvblxblybkyblzblAblBbkyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbhgaafaafaafaafaaaaaaaaaaafaafaafaafbhhaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaabkAblCblDblEblFblGblHblIblJblKblLblMblNblOblPblQblRblSblTbkAaafaafaafaadaafabcaadaafaafaafblUblVblVblVblWblXblYblZbjrbmabmbbmcbmdbmebkZbmfbmgbmhbmibmjbmkbldbmlbmmbmnbmoblcbljbmpebnbmrbmsbmtbmubmvbkvbmwbmxbmybmzbmAbmBbmCbmDbmEbmFbmGbmHbmIbkyaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmJbhgbmJaaaaaaaafaaaaaaaaaaafaaaaaabmJbhhbmJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaaabkAbmKbmLbmMbmNbmLbmObmPbmQbmRbmLbmSbmNbmTbmMbmUbmLbmVbmWbkAaaaaaaaaaaafaaaaaaaaaaaaaaaaaablUbmXbmYbmZblWblWbnablWbjrbnbbncbndbnebnfbngbnhbnibnjbnkbnlbnmbnnbnobnpbnqbnrbnobnsblkebobnubnvbnwbnxbnybkvbnzbnAbmAbnBbmAbnCbmCbnDbnEbkybkybkybkybkyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbhgaafaafaafaafaaaaaaaaaaafaafaafaafbhhaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbFhbgvbgvbgvbgvaaabkGbnFbnGbmObmPbnHbnIbnJbnKbnLbnMbnNbnObnPbnQbnRbmQbnSbnTbkGaaaaaaaaaaafaaaaaaaaaaaaaaaaaablUblUbnUebpbnWbnXbnYblVbjrbnZboabmbbobbocbkZbodbmfboebofbjrbogbohboibojbokbolbombonboobkqbopboqborbosbotbkvboubovbowboxbmyboybmCbozboAboBebqboDboEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabFhboFbZKboGboJboKboHboIboLboMboNboLboQboPboOboQboRboSboTboUbmMbmUboVboWboXbkGaaaaaaaaaaafaaaaaaaaaaabaaaaaaaaaboYboZbpablYbpbbnYblVbpcbpdbpebpfbpgbphbkZbpibkZbpjbpkbjrbjubjubjubplbpmbpnbjubpobjubkqbppbprbpqbpsbptbkvbpubpvbmAbpwbmxbpxbmCbpybpzbpAbpBbpCboEaaaaaaaaaaabaagaaaaaaaaaaaaaaaaafabcaadaadaadaadaadaagaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabFhbpDbZKbpEbpFbpGbpHbpIbpJbpKbmPbpLbpMbpMbpNbnHbpObpPbmPbpQbpRbpSbpTbpUbpVbpWbpWbpWbpWbpWaaaaaaaaaaaaaaaaaaaaaboYboZbpXbpYbpZbqablVbjrbqbbqcbqdbqebqfbqgbqhbqibqjbqkbjrbqlbjubqmbqnbqobqpbqmbqqbjubqrbkqbkqbkqbkqbkqbkvbqsbqtbqubqvbqwbqxbmCbqybqzbqAbZLbZLboEaaaaaaaaaaaaaadaaaaaaaaaaaaaafaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKaafaafaafbFhbgvbgvbgvbgvaaabqCbqDbqEbmMbmNbqFbqGbqJbqIbqHbqKbqLbqMbqHbqNbpTbmTbqObqPbpWbqQbqRbqSbpWbqTbqUbqUaaaaaabqVblUbqWbqXbqYbqZbrabrbbrbbrbbrbbrbbrbbrcbrbbrbbrbbrbbrbbrbbrbbrbbrbbrdbrebrfbrfbrgbrhbribribrjbrkbrlbrmbrnbmCbrobrpbrqbrobrobmCbmCbrrbrsbrtbrubrvbrwbrxaafaafaafaadaaaaaaaaaaafaafaaaaaaaafaaaaaaaafaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaabFhbrybZMbrzboJboKboHbrAboLbrBbrCboUbrDbmLbmTbmUbmLbrEbnJbrFbnJbrGbrHbrIbrJbrKbrLbrMbrNbrObrPebrbqUbqUaaabrRbrSbrTbrUbrVbrWbrXbrYbrZbsabsbbscbsdbsebsfbsgbshbsibsjbZNbslbZPbsnbsobspbsqbsrbssbsubsvbtPbswbsxbsybszbsAbsBbsCbsDbsEbsFbsGbsHbsIbsJbsKbsLbsMbsNbsObsPaaaaaaaaaabcaadaadaadaagaabaaaaaaaafaaaaaaaafaaaaafaafbsQaafaafaaaaaaaaaaaeaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabFhbsRbZMbsSbpFbpGbsTbsUbmTbsVbsWbsXbsYbqHbsZbpTbtabtbbtcbtdbtebtfbtgbthbtibtjbtkbtlbtmbtnbtobtpbtqbqUaaabtrbrSbtsbttbtubtvbtwbtxbtybtzbtAbtzbtBbtzbtCbtDbtzbtEbtFbtGbtHbtIbtJbtKbtLbtMbtNbtObtQbtRbuTbtSbvkbtTbtUbtVbtWbtVbtXbtVbtYbtZbuabubbucbudbsLbuebufbsObugaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabuhbuibujbukaaaaafaaabulaaaaafaaaaaaaagaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaabaaaaaabhhaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbFhbgvbgvbgvbgvaaabqCbumbqEbmMbmNbunbuobupbuqburbsWbusbutbutbutbuubutbutbuvbuwbuwbuwbuwbuwbuxbuybuzbqTbqTblUblUbuAbuBbuCbuDbuEbrbbuFbuGbuHbuGbuIbuJbuGbuKbuLbuHbuKbuMbuNbuObuPbuQbspbuRbuSbuUbuVbvXbvYbuWbuXbuWbuYbuWbuWbuWbuZbvabvbbvabuZbuZbvcbvdbrtbvebvfbrwbrwaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabvgbvhbvhbvgbvgbvgbvibvjaaaaafaaaaaaaafaaaaaaaaaaaaaabbhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabFhbvmcaPbvlboJboKbvnbvqboLbrBbvobvpbwvboQbvrboQboTbvsbutbvtbvubvvbvwbvxbuvbvybvzbvAbvBbuwbvCbvDbvEbvFbvGbvHbvIbvJbvKblUblUbvLbrbbvMbvNbvObvNbvPbrbbvQbuPbrbbvRbuPbrbbvSbuPbrYbvTbvUbvVbvWbxhbxjbzybxjbuWbwabwbbwcbwdbwebuWbwfbwgbwhbwibwjbuZbwkbvZbvZbwlbwmbwnbvgaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabwobwpbwqbwrcaQcaQbwtbvjbvibviaaaaaaaafaaaaaaaaaaaaaaabhgaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaabhhaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabFhbwucaPbBUbpFbpGbwwbwxbwybwzbwAbwBbwCbwBbwDbwBbwEbwFbwGbwHbwIbwJbwKbwLbuvbwMbwNbwObwPbwQbwRbwSbwTbwUbwUbwUbwUbwUbwUbwVbwWbwXbrbbwYbvNbwZbvNbvPbrbbvNbxabrbbvNbxbbrbbvNbxcbrbbxdbxebxfbxgbxhclfclgcnebuWbxkbxlbxmbxnbxobuWbxpbxqbxrbxsbxtbuZbxubxvbvZbxwbxibxxbvgaaaaaaaaaaaaaaabvgbvgbvibvibvibvgbxybxzbxAbxBbxCbxDbxEbxFbxGbvibvgbxHbxHbxIbxIaafaafaafbhgaafaafaafaafbxJbxKbxLbhgbxMbxNbxObxPbxQaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbFhbgvbgvbgvbgvaaabxRbxSbqEbxTbxUbxVbxWbxXbxYbmTbxZbyabwGbybbycbydbyebyfbuvbygbyhbyibyjbuwbvCbykbylbuxbuxbuxbuxbuxbuxbuxbymbynbrbbyobvNbypbyqbvPbrbbyrbysbrbbyrbytbrbbyrbyubrbbyvbywbyxbxgbxhcnfcoUcJZbuWbyybyzbyAbyBbyCbuWbyDbxqbyEbxqbyFbuZbyGbxvbvZbvZbyHbvZbvZbvgbvgbvgbvgbvgbvgebsbyIbyJbyKbyKbyLbyMbyMbyLbyNbyObyPbyQebtbySbyTbxHbyUbyVbxIbxIaaaaaabhgaaaaaaaaaaafbyWbyXbyYbyZbzabyZbyWbzbbyWaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJaaaaaaaaaaaaaaaaaaaaaaaaaaabkAbzcbzdbzebkAbkAbzfbzgbzhbzgbzibzjbzkbuvbutbzlbutbuvbuvbuwbuwbzmbuwbuwbuxbznbzobzpbuxbzqbzrbzsbztbuxbymbynbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbzubzvbzwbzxbxhcOBdcSdfrbuWbzAbzBbzCbzDbzEbuWbzFbzGbzHbxqbzIbuZbzJbzKbzLbzMbzNbzNbzNbzNbzNbzNbzObzNbzNbzNbzNbzPbzQbzRbzSbzTbzUbzVbzWbyObyPbzXbyObzYbzZbAabAbbAcbAdbxIaaaaaabhgaaaaaaaaaaaabyWbAebFdbAfbAgbAhbyWbAibyWaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaaaaabAjaaaaaaaaaaaaaaabAjaaaaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaaabAkbAkbAkbAkbAkbAkbAkbAkbAkbAlbAmbAnbAobApbAqbArbAsbAtbAtbAubAvbAwbAxbAybAzbAAbABbACbvCbADbAEbAFbuxbDJbymbymbymbAGbAHbAIbwUbAJbAKbALbAMbwUbwUbwUbwUbwUbwUbANbAObwUbAPbAQbuxbARbASbATbxhbxhbxhbxhbuWbAVbAWbAXbAYbAZbuWbBabBbbBcbBdbBebuZbBfbxibBgbBhbBibBjbBkbxibxibBlbBlbBlbBlbBlbBlbBlbBmbBnbBobBpbBqbBrbBrbBrbBrbBsbBsbBsbBsbBsbBtbBubBvbBwbBwbBxbBwbBxbBwbBxbBwbBwbBybBzbBAbBBbBCbyWbBDbyWbyWaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaaaaabAjbAjbAjbAjbAjbAjbAjaaaaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaabBEbBFbBGbBHbAkbBIbBJbBKbBLbBMbBMbBNbAkbBObBPbBQbBRbBSbBTbDpbBVbDpbBWbBXbBYbBZbCabCbbCcbCdbCebCfbvCbCgbzobChbuxbCibCjbymbymbuxbCkbClbymbCmbCnbuxbuxbCobuxbuxbCpbymbymbAQbCqbymbCrbuxbuxbCsbCtbCubvZbvZbCvbyJbuWbCwbCxbuWbuWbuWbuWbuZbuZbCybuZbuZbuZbBfbxibCzbCAbBibwnbCBbCCbCDbBlbCEcaRbCGbCHbCIbBlbCJbCJbCKbCJbCJbBrbCLbCMebubBsbCObBsbCPbBsbCQbCRbCSbBwbCTbCUbCVbCVbCWbCXbCYbBwbCZbDabDbbDcbDdbDebDfbDgbyWaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaabaaaaaaaaabBEbDhbDhbDibAkbDjbDjbDjbDkbBMbDlbDmbAkbDnbDobELbDqbDrbDsbDtbCfbDubDvbDwbDxbDubDybDybDzbDAbDBbDybuxbDCbDDbFebuxbuxbuxbDFbymbuxbCrbDGbDGbDHbDGbDGbDIbymbImbuxbDKbymbDLbuxbvFbymbCrbymbuxbDMbDNbDObvZbxibxibzzbDPbxibDQbAUbAUbAUbAUbBgbDRbDSbDTbDUbDVbDWbDXbDYbvZbDZbDZbDZbDZbEabBlbEbbEcbEdbEebEfbFMbEhebvbEjbEkbElbBrebwbEndgGbBsbEpbBsbEqbBsbBsbErbEsbEtbEubEvbCVbEwbExbEybEzbBwbEAbEAbEAbFUbEAbEAbEAbEAbEAbEAaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaagaadaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaabBEbECbEDbEEbAkbEFbEGbEGbEHbEGbEIbEJbAkbEKbGmbEMbENbEObEPbEQbERbESbETbEUbEVbEWbEXbEYbEZbFabFbbFcbuxbGSbGTbFfbFgcbEbuxbvGbvFbuxbFibDGbFjbFkbFlbDGbFmbFnbChbuxbzpbymbFobuxbvGbymbFpbFqbFrbFsbFtbFubFvbDTbFwbDTbFxbDTbFybDTbDTbDTbDTbFzbFAbFBbFBbFBbFBbFBbFBbFCbFDbDZbFEebxbFGbEabFHbFIbFJbFKbFLbFVbFMbFNbFObFPbEjbHxbKtebzebybFTbGbbGibFWbFXbFYbBsbFZbGabHybGcbGdbGebGdbGfbGgbGhbKrbGjbGkbGlbGpbGqbGnbGobJpbGrbGsaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaabBEbGtbGubGvbAkbGwbEGbEGbGxbGybGzbGAbGBbGCbGDbGEbGFbEObGGbGHbERbGIbGJbGKbGLbGMbEXbGNbGObGPbGQbGRbuxbGUbVfbuxbGVcbEbuxbAQbAQbuxbGWbDGbGXbFkbGYbDGbuxbuxbuxbuxbGZbGZbGZbuxbuxbuxbuxbuxbHabHbbHcbHdbHabvZbvZbvZbvZbvZbvibvibvibvZbvZbvZbvZbFBbHebHfbHgbHhbFBbHibHjbHkbHlbHmbHnbEabHobHpbEcbHqbHrbHsbEgbHtebBebCebAbFQbBrebFebDebEbBsbHCbHDbHEbHFbBsbHGbHHbBwbHIbHJbHKbHJbHKbHJbHLebGbHMbHNbHObHPbHQbHRbHSbHTbHUbHVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaafaaabHWbHWbHWbHWbHWbHWbHWbHXbHXbBEbHYbHZbDibAkbIabIabIbbIcbIdbIebIfbAkbIgbIhbIibIjbIkbIlccMbCfbInbIobIpbIqbIrbDybIsbItbIubIvbIwbIxbIxbIybIxbIxbIxbIxbuxbuxbuxbIzbDGbIAbIBbICbDGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIDbIEbIFbIGbIHbIIbIDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFBbIJbIKbILbILbIMbINbBqbDZbIObIPbIQbEabIRbISbITbIUbIVbIWbEgbEjebIbIXebHbIZbBrbBrbBrbBrbBsbJdbJebJfbJgbBsbJhbJibBwbBwbJjbJkbJlbJjbJmbJjbBxbJnbJobKFbJqbJrbJsbJtbJqbJubJvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafbHWbHWbJwbJxbJybJzbJAbHWbJBbJCbJDbJEbJFbJGbAkbIabIaebJbJIbJJbJKbJLbAkbJMbJNbJObJPbCfbERbJQbCfbJRbJSbJTbJUbJVbDybGNbJWbJXbJYbJZbIxbKabKbbKcbKdbKebIxbKfbKgbuxbCrbDGbKhbKibDGbDGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIDbKjbKkbHcbKlbKmbIDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFBbFBbKnbKobKpbFBbKqbvZbEabDZbKzbDZbEabBlbEgbKsbOobKsbKubBlbKvbxIbKwbxIbKxbCJebLebKebKbKybBsbPEbBsbBsbBsbHGbKAebMbBwbBwbBwbBwbBwbBwbBwbBwbKBbKCbKDbKEbLkbKBbKGbKBbKHbKIbKJbKKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaafbKLbKMbKMbKMbKMbKNbKObKPbKQbKRbKSbKTbKUbHWbKVbKWbKXbKYbKZbBEbAkbAkbAkbAkbAkbAkbAkbAkbAkbLabLbbLcbLdbLebLfbLgbLhbLibLjbPTbLlbLmbEXbLnbLobLpbLqbLrbLsbLtbLubLvbLwbLxbIxbLybLzbLAbCrbDGbDGbDGbDGaaaaaaaaaaaaaaaaaabLBbLBbLCbLCbLCbLBbLBbLDbLEbHcbLFbLGbLHbLHbIDbIDbIDbLHbLHaaaaaaaaaaaaaaaaaabFBbFBbFBbFBbFBbLIbBqbLJbLKbLLbLMbLNbLObLPbLQbLRbLSbLTbLUbLVbLWbLXbLYbLZbMabMbbMbbMbbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMmbMnbMobMpbMmbMqbMrbJvbMsbMtbMubMvbMwbMxbMybMzbMAbMAbMBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaabaaaaadaadaadaadaadaadaadaagaadaaaaaaaaaaaabMCbMDbMEbKMbMDbKNbMFbMGbMHbMIbMJbMKbMLbMMebNbMObMPbMQbBEbMRbMSbMTbMUbMVbMWbMXbMYbMZbNabNbbNcbNdbNebNfbNgbNhbNibNjbNkbPTbLlbLmbEXbNlbJWbNmbNnbNobIxbNpbNqbNrbNsbNtbIxbNubNvbuxbCrbymbuxaaaaaaaaaaabaaaaaabLCbLCbLBbNwbNxbNybNzbNAbNBbNCbNDbHcbNEbNFbNGbNHbNIbNJbNKbNLbLHbIDbIDaaaaaaaabaaaaaaaaabvZbNMbDXbNNbBqbCKbNObNPbNQbNRbNSbNTbNUbNVbNWbNXbNYbNXbNZbOabObbNXbOabNXbOcbOdbOeebObOfbOgbNWbNYbOabOhbNZbNXbOibOjbOkbOhbOlbOmbOnbPGbOpbOqbOrbOsbOtbOubOvbOwbOxbOxdgpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaafaagaadaadaadaadaadaadaadaadaadbhoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaZRaZSaZTaZUaZVaZWaXLaZXeblaXLaZZbaababbacbadbaebafbagbahbaibajbakbalbambanbaobapbaqbarbasbatbauaXAaXAaXAbavaXAaXAbawbaxbawaWXbaybazbaAbazbaBaWXaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaWsaWtaWtaWtaWtaWtaWtbaCbaDbaEaWtaWtaWtaWtaWtaWtaWsaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJadKaadaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaadaadbhobhobhobhobifaaaaaaaaaaaaaagaabaaaaaabaFbaGbaHbaIbaJbaKbaLbaMbaNbaLbaObaPbaLbaQbaRbakbaSbaTbaUbaVbaWebmbaYbaZbbabbbbbcbbdbbebbfbbgbaobbhbbibbjbbkbblbbmbbnbbkbbobbpbbqaXFbbraXFbbsaWXaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaWsaWsaWtaWtaWtaWtbaCaWtbaDaWtbaEaWtaWtaWtaWtaWsaWsaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaaaaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaafaafaaaaaaaaabhobhoaaaaaaaaaaadaaaaaaaaabbtbbubbvaXMbbwbbxbbybbzbbAbbBbbCbbDbbEbbFbbGbakbaSbbHbbIbbJbbKbbLbbMbbNbbObaobbPbbQbbRbbSbapbaobbTbbUbbVbbWbbXbbXbbYbbZbcabcbbccbcdbcebcdbcfaYjaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWsaWtaWtaWtbaCaWtbcgbaDbchaWtbaEaWtaWtaWtaWsaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11600,7 +11387,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgvbgvbgvbgvbgvaaabqCbumbqEbzhbzfbzgbzjbAnbzibAqbArbAsbAocOGbzibnLbAtbAubBQbuwbAvbyibyjbuwbvCbxGcozbuxbuxbuxbuxbuxbuxbuxbymbynbrbbyobvNbypbyqbvPbrbbyrbysbrbbyrbytbrbbyrbyubrbbyvbywbyxbxgbxhcnfcoUcJZbuWbyybyzbyAbyBbyCbuWbyDbxqbyEbxqbyFbuZbyGbxvbvZbvZbyHbvZbvZbvgbvgbvgbvgbvgbvgebsbyIbyJbyKbyKbyLbyMbyMbyLbyNcePbyOcqUcyVcqTbyTbxHbyUbyVbxIbxIaaaaaabhgaaaaaaaaaaafbyWbyXbyYbyZbzabyZbyWbzbbyWaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaabkHbzcbzdbBRbkAbkAbBTbBVbzkbuvbBWbzlbwwbuvbuvbDpbBYbDobqIbuwbuwbzmbuwbuwbuxbAObzobzpbuxbzqbzrbzsbztbuxbymbynbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbrbbzubzvbzwbzxbxhcOBdcSdfrbuWbzAbzBbzCbzDbzEbuWbzFbzGbzHbxqbzIbuZbzJbzKbzLbzMbzNbzNbzNbzNbzNbzNbzObzNbzNbzNbzNbzPbzQbzRbzSbzTbzUbzVbzWbyObyPcHvbyObzYbzZbAabAbbAcbAdbxIaaaaaabhgaaaaaaaaaaaabyWbAebFdbAfbAgbAhbyWbAibyWaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaaaaabAjaaaaaaaaaaaaaaabAjaaaaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAkbAkbAkbAkbAkbAkbAkbAkbAkbAlbAmbDvbDqbApbETbFhbELbEMbAwbGFbGmbEMbAxbAybAzbAAbABbACbvCcKMbAEbAFbuxbDJbymbymbymbAGbAHbAIbwUbAJbAKbALbAMbwUbwUbwUbwUcNqcOFcQhcOEcOFcQibAQbuxbARbASbATbxhbxhbxhbxhbuWbAVbAWbAXbAYbAZbuWbBabBbbBcbBdbBebuZbBfbxibBgbBhbBibBjbBkbxibxibBlbBlbBlbBlbBlbBlbBlbBmbBnbBobBpbBqbBrbBrbBrbBrbBsbBsbBsbBsbBsbBtbBubBvbBwbBwbBxbBwbBxbBwbBxbBwbBwbBybBzbBAbBBbBCbyWbBDbyWbyWaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaaaaabAjbAjbAjbAjbAjbAjbAjaaaaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaabBEbBFbBGbBHbAkbBIbBJbBKbBLbBMbBMbBNbAkbBObBPbIobGJbBSbJSbBSbIqbBSbLjbBXbJUbBZbCabCbbCcbCdbCebCfbvCbCgbzobChbuxbCibCjbymbymbuxbCkbClbymbCmbCnbuxbuxbCobuxbuxbCpcRncgecSBcRocSBcSEbuxbuxbCsbCtbCubvZbvZbCvbyJbuWbCwbCxbuWbuWbuWbuWbuZbuZbCybuZbuZbuZbBfbxibCzbCAbBibwnbCBbCCbCDbBlbCEcaRbCGbCHbCIbBlbCJbCJbCKbCJbCJbBrbCLbCMebubBsbCObBsbCPbBsbCQbCRbCSbBwbCTbCUbCVbCVbCWbCXbCYbBwbCZbDabDbbDcbDdbDebDfbDgbyWaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaaaaabAjbAjbAjbAjbAjbAjbAjaaaaaaaaabAjecAbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaabBEbBFbBGbBHbAkbBIbBJbBKbBLbBMbBMbBNbAkbBObBPbIobGJbBSbJSbBSbIqbBSbLjbBXbJUbBZbCabCbbCcbCdbCebCfbvCbCgbzobChbuxbCibCjbymbymbuxbCkbClbymbCmbCnbuxbuxbCobuxbuxbCpcRncgecSBcRocSBcSEbuxbuxbCsbCtbCubvZbvZbCvbyJbuWbCwbCxbuWbuWbuWbuWbuZbuZbCybuZbuZbuZbBfbxibCzbCAbBibwnbCBbCCbCDbBlbCEcaRbCGbCHbCIbBlbCJbCJbCKbCJbCJbBrbCLbCMebubBsbCObBsbCPbBsbCQbCRbCSbBwbCTbCUbCVbCVbCWbCXbCYbBwbCZbDabDbbDcbDdbDebDfbDgbyWaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaabaaaaaaaaabBEbDhbDhbDibAkbDjbDjbDjbDkbBMbDlbDmbAkbDnbNkbPTbLlbDrbDsbDtbCfbDuedNbDwecRbDubDybDybDzbDAbDBbDybuxbDCbDDbFebuxbuxbuxbDFbymbuxbCrbDGbDGbDHbDGbDGbDIbymbImbuxbDKbymbDLbuxbvFbymbCrbymbuxbDMbDNbDObvZbxibxibzzbDPbxibDQbAUbAUbAUbAUbBgbDRbDSbDTbDUbDVbDWbDXbDYbvZbDZbDZbDZbDZbEabBlbEbbEcbEdbEebEfbFMbEhebvbEjbEkbElbBrebwbEndgGbBsbEpbBsbEqbBsbBsbErbEsbEtbEubEvbCVbEwbExbEybEzbBwbEAbEAbEAbFUbEAbEAbEAbEAbEAbEAaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaabAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaagaadaadaadaagaafaaaaafaaaaaaaaaaaaaaaaaaaaabBEbECbEDbEEbAkbEFbEGbEGbEHbEGbEIbEJbAkbEKbNkedObENbEObEPbEQbERbESbOXbEUedPbEWbEXbEYbEZbFabFbbFcbuxbGSbGTbFfbFgcbEbuxbvGbvFbuxbFibDGbFjbFkbFlbDGbFmbFnbChbuxbzpbymbFobuxbvGbymbFpbFqbFrbFsbFtbFubFvbDTbFwbDTbFxbDTbFybDTbDTbDTbDTbFzbFAbFBbFBbFBbFBbFBbFBbFCbFDbDZbFEebxbFGbEabFHbFIbFJbFKbFLbFVbFMbFNbFObFPbEjbHxbKtebzebybFTbGbbGibFWbFXbFYbBsbFZbGabHybGcbGdbGebGdbGfbGgbGhbKrbGjbGkbGlbGpbGqbGnbGobJpbGrbGsaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaabBEbGtbGubGvbAkbGwbEGbEGbGxbGybGzbGAbGBbGCbGDedRedQcFcbGGbGHbERbGIbXNbGKedSbGMbEXbGNbGObGPbGQbGRbuxbGUbVfbuxbGVcbEbuxbAQbAQbuxbGWbDGbGXbFkbGYbDGbuxbuxbuxbuxbGZbGZbGZbuxbuxbuxbuxbuxbHabHbbHcbHdbHabvZbvZbvZbvZbvZbvibvibvibvZbvZbvZbvZbFBbHebHfbHgbHhbFBbHibHjbHkbHlbHmbHnbEabHobHpbEcbHqbHrbHsbEgbHtebBebCebAbFQbBrebFebDebEbBsbHCbHDbHEbHFbBsbHGbHHbBwbHIbHJbHKbHJbHKbHJbHLebGbHMbHNbHObHPbHQbHRbHSbHTbHUbHVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11608,20 +11395,10 @@ aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbA aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafbHWbHWbJwbJxbJybJzbJAbHWbJBbJCbJDbJEbJFbJGbAkbIabIaebJbJIbJJbJKbJLbAkbJMbJNbJObJPbCfbERbJQbCfbJRedWbJTedVbJVbDybGNbJWbJXbJYbJZbIxbKabKbbKcbKdbKebIxbKfbKgbuxbCrbDGbKhbKibDGbDGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIDbKjbKkbHcbKlbKmbIDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFBbFBbKnbKobKpbFBbKqbvZbEabDZbKzbDZbEabBlbEgbKsbOobKsbKubBlbKvbxIbKwbxIbKxbCJebLebKebKbKybBsbPEbBsbBsbBsbHGbKAebMbBwbBwbBwbBwbBwbBwbBwbBwbKBbKCbKDbKEbLkbKBbKGbKBbKHbKIbKJbKKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaafbKLbKMbKMbKMbKMbKNbKObKPbKQbKRbKSbKTbKUbHWbKVbKWbKXbKYbKZbBEbAkbAkbAkbAkbAkbAkbAkbAkbAkbLabLbbLcbLdbLebLfbLgbLhbLibOXbIpedXbLmbEXbLnbLobLpbLqbLrbLsbLtbLubLvbLwbLxbIxbLybLzbLAbCrbDGbDGbDGbDGaaaaaaaaaaaaaaaaaabLBbLBbLCbLCbLCbLBbLBbLDbLEbHcbLFbLGbLHbLHbIDbIDbIDbLHbLHaaaaaaaaaaaaaaaaaabFBbFBbFBbFBbFBbLIbBqbLJbLKbLLbLMbLNbLObLPbLQbLRbLSbLTbLUbLVbLWbLXbLYbLZbMabMbbMbbMbbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMmbMnbMobMpbMmbMqbMrbJvbMsbMtbMubMvbMwbMxbMybMzbMAbMAbMBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaabaaaaadaadaadaadaadaadaadaagaadaaaaaaaaaaaabMCbMDbMEbKMbMDbKNbMFbMGbMHbMIbMJbMKbMLbMMebNbMObMPbMQbBEbMRbMSbMTbMUbMVbMWbMXbMYbMZbNabNbbNcbNdbNebNfbNgbNhbNibNjbOXbIpedYbLmbEXbNlbJWbNmbNnbNobIxbNpbNqbNrbNsbNtbIxbNubNvbuxbCrbymbuxaaaaaaaaaaabaaaaaabLCbLCbLBbNwbNxbNybNzbNAbNBbNCbNDbHcbNEbNFbNGbNHbNIbNJbNKbNLbLHbIDbIDaaaaaaaabaaaaaaaaabvZbNMbDXbNNbBqbCKbNObNPbNQbNRbNSbNTbNUbNVbNWbNXbNYbNXbNZbOabObbNXbOabNXbOcbOdbOeebObOfbOgbNWbNYbOabOhbNZbNXbOibOjbOkbOhbOlbOmbOnbPGbOpbOqbOrbOsbOtbOubOvbOwbOxbOxdgpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> c6222fd... Merge pull request #6363 from Atermonera/atmosia_remap aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKLbMDbMDbKMbMDbKNbMFbOybOzbOAbOBbOCbODbHWbOEbKXbOFbOGbOHbOIbOJbOKbOLbOMbONbOObOPbOQbORbOSbOTbOKbOUbOVbLgbNhbOWbNjbOXbOYbOZbPabDybDybDzbPbbDzbDybIxbIxbPcbPdbNsbPebIxbPfbPgbAQbCrbymbuxaaaaaaaaaaaaaaabLCbLCbPhbPibPhbPjbPkbPlbNAbNAbPmbNDbHcbNEbPmbNHbNHbPnbPobPpbPqbPrbPqbIDbIDaaaaaaaaaaaaaaabvZbPsbPtbPubPvbPvbPwbPxbPwbPwbPwbPwbPybPzbCSbPAbPAbPAbPAbPBbPAbPAbPAbPAbPAbPAbPAbPCbPDbSWbPFbPFbPFbPFbPFbPFbPFbTabPHbPIbPJbPKbPLbJvbPMbPNbMubPObPPbPQbMybPRbPSbTCbMBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMCbKMbKMbKMbKMbKNbKObPUbPVbPVbPWbPXbPYbHWbPZbQabQbbQcbDibQdbQebQfbQgbQhbQibQhbQhbQjbQhbQgbQkbQlbQmbQnbQobQpbQkbQqbQrbQsbOZbQtbQubQvbQwbQxbQybQzbQAbQBbQCbQDbNsbQEbIxbQFbPgbAQbCrbQGbuxaaaaaaaaaaaabLCbLCbQHbQIbQJbQKbQLbQMbQNbQJbQObQPbQQbHcbQRbQPbQSbNEbQTbQUbQVbQWbNEbQXbQYbIDbIDaaaaaaaaaaaabvZbQZbvZbvZbPvbRabRbbRcbRdbRebRfbRgbRhbRibEsbRjbRkbRlbRmbRnbRobRpbRqbRrbRsbRtbPAbPCbRubRvbRwbRxbPFbRybRzbRAbPFbRBbRCbPIbPIbRDbREbRFbRGbRHbRIbRJbKBbKKbKBbKBbKBbKBbKGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaabHWbRKbRLbRMbRNbRObRPbHWbRQbRRbQbbRSbDibRTbRUbQgbQgbRVbRWbRXbRYbRZbSabSbbQkbScbSdbSebSfbSgbShbSibSjbSkbEVbSlbSmbSnbSobSpbSqbSrbSsbStbStbSubStbStbStbStbuxbuxbCrbSvbuxaaaaaaaaabLCbLCbQHbQIbSwbSwbSxbSybSzbSAbSAbSBbSCbSDbSEbSFbSGbSHbSIbSJbSJbSKbSLbSMbSMbQXbQYbIDbIDaaaaaaaaabvZbSNbSObSPbPvbSQbSRbSSbSTbSUbSVbWObSXbSYbSZcdnbTbbTcbTdbTdbTdbTebTfbTgbThbTibTjbPCbTkbTlbTmbTnbTobTobTobTobPFbTpbTqbTrbPIbTsbTtbKBbTubTvbTwbTxbTybTzbTAbTBbJvaaaaaaaabaaaaaaaaaabcaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaafaaaaaaaaabKLbVibKLbVibKLbVibKLbVibKLbVibKLbViaafaafbTDbTEbTDbTDbTDbTDbTDbTEbTFbTGbTDbBEbTHbQbbTIbDibTJbTKbQgbTLbTMbTNbTObTPbTQbTRbTSbQkcbFbTUbTVbTWbTXbTYbTZbSjbUabEVbUbbUcbUdbUebUfbUgbUhbUibStbUjbUkbUlbUlbUmbStbUnbymbCrbUobGZaaaaaaaaabLCbUpbQIbSwbUqbUrbUsbUtbUubUvdNgbUxbUybUzbUAbUBbQPbUCbekbUDbUEbUFbUGbUHbUIbSMbQXbUJbIDaaaaaaaaabvibUKbxibULbPvbUMbUNbUObUPbUQbURbUSbUTbUUbUVbRjbUWbUXbUYbUZbUYbVabTibVbbVcbVdbVebPCcdFbVgbVhbVxbVjbVkbTobVlbPFbVmbVnbVobPIbVpbVqbKBbVrbVsbVtbVtbVtbVsbVsbVubHVaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabVvbVwbVAbVwbVAbVwbVAbVwbVAbVwbVAbVwbVybVzbVEbVBbVCbVDbVBbXpbVBbVFbVGbVHbVIbBEbVJbVKbVLbVMbVNbVObQgbVPbTMbVQbVRbVSbVTbTRbVUbQkbVVbVWbVXbVYbVZbWabNjbWbbWcbWdbWebWfbWgbWhbWibWjbUhbWkbWlbWmbWnbWobWpbWqbStbWrbymbCrbWsbGZaaaaaabLBbLBbWtbQJbSwbWubWvbWwbWxbWybWxbWxbWzbWAbKjbWBbWCbWDbWEbWDbWFbWGbWDbWDbWHbUHbSMbNEbWIbLHbLHaaaaaabvibUKbxibWJbPvbWKbWLbWMbUPbWNbPvbPvbxHcfqbxHbPCbPCbWPbWQbWRbWSbVabWTbWUbWVbWWbWXbPCbWYbWZbXabXbbVjbXcbTobXdbPFbXebXfbXgbPIbXhbBvbKBbVrbXibXjbXkbXlbXmbXnbVubGsaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabMCbKMbKMbKMbKMbKMbKMbKMbKMbKMbKMbKMbVybXoccAbXqbXrbXsbXtbXrbXsbXubXvbXwbXxbBEbXybXzbKZbDibXAbXBbQgbXCbTMbTObXDbXEbTObTRbXFbQkbXGbXHbXIbXJbXKbXLbXMbXNbXObGLbXPbUcbQwbXQbXRbXRbXSbQwbStbXTbXUbXVbXWbXXbStbWrbymbCrbDLbGZaaaaaabLBbXYbXZbYabYbbYcbWwbWwbYdbYebYfbWwbYgbWAbWAbYhbWDbWDbYlbYjbYkbZOcbebWDbWDbYnbYobYpbYqbYrbLHaaaaaabvibUKbYscvCbPvbYtbYubYubYvbYwbUSbYxbYybYzbYAbYBbRjbYCbYDbYDbYDbYEbYFbYFbYGbYHbYFbYIbYJbYKbYLbYMbTobTobTobYNbPFbYObYPbYQbPIbRDbREbKBbYRbKBbKBbKBbKBbKBbKBbKBbKBbYSbYSaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabKLbVibKLbVibKLbVibKLbVibKLbVibKLbViaadbYTbYUbYVbYWbYXbYVbYWbYXbXubYYbYZbZabBEbZbbZcbZbbDibZdbZebQgbZfbZgbZhbZibXEbZhbZjbZkbQkbZlbZmbZnbZobZpbZqbSibOXbEVbEVbSlbZrbZsbQwbQwbQwbQwbZtbStbZubStbZvbStbStbStbuxbymbCrbZwbuxaaaaaabLCbZxbZybZzbZAbZBbZCbZDbZEbZFbZGbWwcbIcbIbZIbZJbWDcbGcgpcdfcdgcbHcbJceJbWDbZQbZRbZSbYqbZTbIDaaaaaabvZbUKbAUbvZbPvbZUbZVbZWbZWbZXbZYbZZcaacabcaccadcaecafcagcagcagcahcaicajcakcalcambYIcancaocapcaqbPFcarcascatbPFcaucavcawbPIbRDbREcaxcaycazcaAcaBcaCcaDcaEcaFcaGcaHcaIcaIcaHcaHcaHcaHcaHaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabVvbVwbVAbVwbVAbVwbVAbVwbVAbVwbVAbVwbVycaJbTDcaKbYWbYXbYVbYWbYXbXucaLcaMcaMcaMcaMcaMcaMcaMcaNcaObQgdxCdzedxlcaScaTcaUcaVcaWbQkbQkcaXbQkcaYcaZbQkcbacbbbEVcbccbdbQuczOcbfcbgcbhcbicbjbStcbkbStcblbStcbmcbncbobymbCrbymbuxaaaaaabLCcbpcbqcbrcbscbtcbuebPcbwcbxcbycbzcbAcbBcbCcbDbWDceKceLcgocgqceMceNchTcbKcbLcbMcbNcbOcbPbIDaaaaaabvZbUKcbQcbRbPvbPvcbScbTcbUcbVbUScbWcbXcbYcbZccaccbcccccdebRebQccgcaicchcciccjcckbYIbPFcclbPFbPFbPFbPFbPFbPFbPFbPIbPIbPIbPIccmccncaxccoccpccqccrccscctcaCcaFcaFcaHccuccvccwcaHccxccycaHcaHaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbVvcczcdQcczcdQcczcdQcczcdQcczcdQcczbVyccBbTDccCbYWccDccEbYWccDbXuccFcaMccGccHccIccJccKcaMbXAccLcaWcaWcaWcaWcaWcaWcaWcaWcaWcCibQkbQkbQkbQkbQkbQkccNccObDxccPccNccQccQccQccQccQccQccQccRccRccRccRbStccSccTbuxccUccVccWbuxaaaaaabLCccXccYccZcdacdbbWwbWwbWwbWwbWwbWwcdccddcddcdebWDbWDbWDclubWDchUbYjcnxbWDcdhcbMcdicbOcdjbIDaaaaaabvZcdkbxibxicdlbPvbPvbPvbPvbPvbPvcdmcipcdocipcdmbPCbPCbPCbPCbPCbPCbYIcdpcdqcdqcdrbYIcdscdscdscdtcducdvcdwcdxcdycdAcgUebVebSebTcdDcdEcrWcdGcdHccrccscdIcaCcdJcaFcdKcdLcdMcdNcaIcdOcdMcdPcaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabMCcdRbMCcdRbMCcdRbMCcdRbMCcdRbMCcdRaafaafbTDcehcdScdTcdUcdVcdTcdWcdXcdYcdZceacebceccedceebXAcefcegcfEceicejcekcekcekcekcekcekcekcekcekcelcemcenceocepceqceqcerbuxcescescetbDLceubymbAQbAQbvFbvGbuxcevbuxbuxbymbCrcewbuxaaaaaabLBcexccYbQJceycezceAceBceCceDceEceFceGceHceHceIceHceHceHdcybWDbYjcnydzAbWDbNEceObNEcbObNGbLHaaaaaabvZcePceQceQceQceRceSbxiceTceUbvZceVceWceXceWceYceZcfacfbcfccfdcfebYIbYIcffcfgbYIbYIcfhcficficfjcfkcflcfmcfmcfmcdvebYbxHebWebXbOncoHcfrcfscftccrccsccscdIcdIcaFcaHcfucfvcfwcfxcfycfzcfAcfBcfCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaabTDcfDbXrcfFciGcfGcfHbXucfIcaMcaMcaMcaMcfJcfKcfLcfMcfNcfOcfOcfPcfQcfRcfRcfRcfRcfRcfRcfRcencencencfScfTcfUcfVcfWcfXcfYcfZcgacgbcgacgacgacgacgacgccgccgccgccgdcgccgccgccgecgfbuxbLCbLCbLBcggccYcghcgicgjcgkcglcglcgmceEcgnbWAbWAbWAbWAbWAbWAbWAcgnbWEdMrecFecGbWDcgrcgscgtcgucgvbLHcgwcgwbvZbUKbxibAUbCCbCDcgxbxicgybxicgzcgAcgBcgCcgDcgAcgEcfacgFcgGcgHcgIcgJcgKcgLcgMcgNcgNcgOcdtcdtcdtcdtcdtcdtcdtcfmcdvcgPbxHcgQcgRcgScaxcgTcvecgVccrccscdIcgWcgXcaFcaHcgYcgZchacaHcaIchbcaIcaHcaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabVvbVwbVAbVwbVAbVwbVAbVwbVAbVwbVAbVwbVybVzbVEbVBbVCbVDbVBbXpbVBbVFbVGbVHbVIbBEbVJbVKbVLbVMbVNbVObQgbVPbTMbVQbVRbVSbVTbTRbVUbQkbVVbVWbVXbVYbVZbWabNjbWbbWcbWdbWebWfbWgbWhbWibWjbUhbWkbWlbWmbWnbWobWpbWqbStbWrbymbCrbWsbGZaaaaaabLBbLBbWtbQJbSwbWubWvbWwbWxbWybWxbWxbWzbWAbKjbWBbWCbWDbWEbWDbWFbWGbWDbWDbWHbUHbSMbNEbWIbLHbLHaaaaaabvibUKbxibWJbPvbWKbWLbWMbUPbWNbPvbYxbxHcfqbxHbPCbPCbWPbWQbWRbWSbVabWTbWUbWVbWWbWXbPCbWYbWZbXabXbbVjbXcbTobXdbPFbXebXfbXgbPIbXhbBvbKBbVrbXibXjbXkbXlbXmbXnbVubGsaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabMCbKMbKMbKMbKMbKMbKMbKMbKMbKMbKMbKMbVybXoccAbXqbXrbXsbXtbXrbXsbXubXvbXwbXxbBEbXybXzbKZbDibXAbXBbQgbXCbTMbTObXDbXEbTObTRbXFbQkbXGbXHbXIbXJbXKbXLbXMbXNbXObGLbXPbUcbQwbXQbXRbXRbXSbQwbStbXTbXUbXVbXWbXXbStbWrbymcWTbDLbGZaaaaaabLBbXYbXZbYabYbbYcbWwbWwbYdbYebYfbWwbYgbWAbWAbYhbWDbWDbYlbYjbYkbZOcbebWDbWDbYnbYobYpbYqbYrbLHaaaaaabvidGFdGGcvCbPvbYtbYubYubYvbYwbUScbWbYybYzbYAbYBbRjbYCbYDbYDbYDbYEbYFbYFbYGbYHbYFbYIbYJbYKbYLbYMbTobTobTobYNbPFbYObYPbYQbPIbRDbREbKBbYRbKBbKBbKBbKBbKBbKBbKBbKBbYSbYSaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabKLbVibKLbVibKLbVibKLbVibKLbVibKLbViaadbYTbYUbYVbYWbYXbYVbYWbYXbXubYYbYZbZabBEbZbbZcbZbbDibZdbZebQgbZfbZgbZhbZibXEbZhbZjbZkbQkbZlbZmbZnbZobZpbZqbSibOXbEVbEVbSlbZrbZsbQwbQwbQwbQwbZtbStbZubStbZvbStbStbStbuxbymcWTbZwbuxaaaaaabLCbZxbZybZzbZAbZBbZCbZDbZEbZFbZGbWwcbIcbIbZIbZJbWDcbGcgpcdfcdgcbHcbJceJbWDbZQbZRbZSbYqbZTbIDaaaaaabvZdGHcqSbvZbPvbZUbZVbZWbZWbZXbZYbZZcaacabcaccadcaecafcagcagcagcahcaicajcakcalcambYIcancaocapcaqbPFcarcascatbPFcaucavcawbPIbRDbREcaxcaybGEcaAcaBcaCcaDcaEcaFcaGcaHcaIcaIcaHcaHcaHcaHcaHaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11629,32 +11406,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbVvcczcdQcczcdQcczcdQcczcdQcczcdQcczbVyccBbTDccCbYWccDccEbYWccDbXuccFcaMccGccHccIccJccKcaMbXAccLcaWcaWcaWcaWcaWcaWcaWcaWcaWcCibQkbQkbQkbQkbQkbQkccNccObDxccPccNccQccQccQccQccQccQccQccRccRccRccRbStccSccTbuxccUdHeccWbuxaaaaaabLCccXccYccZcdacdbbWwbWwbWwbWwbWwbWwcdccddcddcdebWDbWDbWDclubWDchUbYjcnxbWDcdhcbMcdicbOcdjbIDaaaaaabvZdHxdHzcbQcdlbPvbPvbPvbPvbPvbPvcdmcipcdocipcdmbPCbPCbPCbPCbPCbPCbYIcdpcdqcdqcdrbYIcdscdscdscdtcducdvcdwcdxcdycdAcgUebVebSebTcdDcdEcrWcdGcdHccrccscdIcaCcdJcaFcdKcdLcdMcdNcaIcdOcdMcdPcaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabAjbAjbAjbAjbAjbAjbAjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabMCcdRbMCcdRbMCcdRbMCcdRbMCcdRbMCcdRaafaafbTDcehcdScdTcdUcdVcdTcdWcdXcdYcdZceacebceccedceebXAcefcegcfEceicejcekcekcekcekcekcekcekcekcekcelcemcenceocepceqceqcerbuxcescescetbDLceubymbAQbAQbvFbvGbuxcevbuxbuxbymcWTcewbuxaaaaaabLBcexccYbQJceycezceAceBceCceDceEceFceGceHceHceIceHceHceHdcybWDbYjcnydzAbWDbNEceObNEcbObNGbLHaaaaaabvZdIcdILceQceQceRceSbxiceTceUbvZceVceWceXceWceYceZcfacfbcfccfdcfebYIbYIcffcfgbYIbYIcfhcficficfjcfkcflcfmcfmcfmcdvebYbxHebWebXbOncoHcfrcfscftccrccsccscdIcdIcaFcaHcfucfvcfwcfxcfycfzcfAcfBcfCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaabTDcfDbXrcfFciGcfGcfHbXucfIcaMcaMcaMcaMcfJcfKcfLcfMcfNcfOcfOcfPcfQcfRcfRcfRcfRcfRcfRcfRcencencencfScfTcfUcfVcfWcfXcfYcfZcgacgbcgacgacgacgacgacgccgccgccgccgdcgccgccgcdINcgfbuxbLCbLCbLBcggccYcghcgicgjcgkcglcglcgmceEcgnbWAbWAbWAbWAbWAbWAbWAcgnbWEdMrecFecGbWDcgrcgscgtcgucgvbLHcgwcgwbvZdJCdJEbAUbCCbCDcgxbxicgybxicgzcgAcgBcgCcgDcgAcgEcfacgFcgGcgHcgIcgJcgKcgLcgMcgNcgNcgOcdtcdtcdtcdtcdtcdtcdtcfmcdvcgPbxHcgQcgRcgScaxcgTcvecgVccrccscdIcgWcgXcaFcaHcgYcgZchacaHcaIchbcaIcaHcaHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> cf3893d... Merge pull request #6439 from Woodratt/09022019_Maptweaksstrikeback aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaabTEbTDchcchcbTDchdchechfbXuchgchhchichjchkchlchmchnchochpchqchrchschtcfRchuchuchuchuchuchvchwchxcenchychzchAchBchCchDchEbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxbuxchFchGchHchIbLBchJchKchLchMchNcgkcgkchOchPceEchQbWAchRchRchRchRchRbWAchSbWDbWDbWDbWDbWDchVchWchVchXchYchZciacibciccidbvgbvZbvZbvZbvZbvZbvZbvZbvZciecifcigcihcieceZceZceZciiceZceZceZceZcijcikcgNcilcimcinciociociociociocdtcdvcdvcaGbxHcoIbxHbxHcaxciqcaxcaxccrcaFcaGcaHcaHcaHcaHcircgZciscitciucivciwcixcaHcaHaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafciybTDcizciAciBciCciDciEciFcmCciHciIciJciKciLciMciNciOciPciQciRcfOciSciTcfRchuchuchuchuchuciUciVciWciXciYciZcjacjbcjccjdcjecjfcjgdVxcjdcjhcjicjbcjjcjkcjlcjmcjbcjncjociWcjpcjqcjrcjscjtcjucjvbUwbUwcjwcjxcjycjzcgkceEceEceEcdcbWAchRchRchRchRchRbWAcgnbWAdxoebUbWDciacjAcjBcjCcjDcjDebZcjFcjGcjHcjIcjJcjKcjLcjMcjNcjOcjPcjQcjRcjNcjOcjScjTcjUcjVcjWcjXcjTcjYcjZckaecacijckcckdckeckfckgciociociociociocdtckhcdvckickjckkcklcaGckmcknckockpcaCckqckrcaHckscktcaHckueccecbecbecbcopcdMckvckwcaIaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaackxckyckzckAckBckCckDckEckFckGckHckIckJckKckLckMchnbLgckNcfOcfOckOcencfRchuchuchuchuchuckPckQckRckSckTckUckVckWckXckWckYckUckZckUckUclaclbckUckUclccldcledhndhpdhqclhclicljclkcllclmcllcllcllcllcllclncloclpbYhclqclrceHclsbWAchRchRchRchRchRbWAcltbZJecJclvclwclxclyclzclAclAclAclAclAclBclCclDclEclFclGclHclIclHclHclJclKclHclIclLclHclMclHclHclNclHclHclOclPclJclQclRclSecdclUclVciociociociociocdtclWcdvclXclYclZcmacmbcmccmdcmecmfcmgcmhcmicmjcmkcmlcmmcmncmocmpcmqcmrcmscmtcdMcmucmvaafaafaafaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaaabTDcmwciAcmxcmycmzcmAcmBcrAcmDcmEcmFcmGcmHcmIcmJcmKcfOcfOcfOcmLcmMcmNcfRchuchuchuchuchucmOcmPciWciXcmQcmRcmScmTcjccmUcmVcmWcmXchCdhscmYcmZcmTcnacnbcnccndcngdhSdiqcnhcnicnjcnkcnlcnmcnncnobUwbUwcnpcnqcnrcnsbWAcntcnucddcddbWAchRchRchRchRchRbWAcnvcnwbZJecKbWAcnzcnAcnBcnCcnDcnDcnEcnFcnGcnHcnIcnJcjKcjLcjPcnKcjPcjPcnLcnMececnOcnPcnQdVycnRcnScnTcnLcnRcnUcnVcnWcnXckcckdcnYcnZcoaciociociociociocdtcobcoccaGcodcoecofcaGcogcohcogcoicojcokcolcaHcomconcaHcoocopcoqcdMcorcgZcdMcoscotcaIaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaabTEbTDchcchcbTDcoucovcowbXucoxchhcoycozcoAcoBcoCcoDcoEcoFcoGcmLcrQcrOcfRchuchuchuchuchuchvcoJcoKcencencoLchEcoMchCcoNcoOcoPcoPcoPcoPcoPcoPcoQcoQcoRcoScoQdirdwgdwqditcoTcoVcoWchGcoXcnsbLBcoYchKchLcoZchNbLBbWAcgncpacpbcpcbWAchRchRchRchRchRcpdcpdcpecpdcpdcpdcpdcpfchWchVchXcpgchZcphcpiciccpjcpkcpkcpkcplcpmcpncpncpncpncpncpocpncpncpncpncpncpncppcpqcprcnVcpsciecptcgNcpuciecinciociociociociocdtcpvcdvcaGcpwcpxcpycpzcpzcpzcpAcpzcpBcpzcpzcaHcaHcaHcaHcpCechecfecgeciecjcpIcpJcaHcaHaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaabTDcpKcpLcpMcpNchecmDbXucpOcpPcpPcpQcpPcpRcpScpPcoEcmLcmLcmLcpUcpTcfRcfRcfRcfRcfRcfRcfRcencencencpVcpWcpXcpYcpZcqacpXcqbcqccqdcqecqfcqgcqhcqicqjcqkcqlcoQdwTdwWdwTdwUcqncqocoVbLCbLCcqpcqqcqrcqscqtcqubWzcqvcqwcqxcqxcqxcqycqycqzcqAcqBcqpcpdcqCcqDcqEcqFcqGcpdcqHcqIcjCcqJcqKchZcgwcgwcpkcqLcqMcqNcqOcqPcqPcqQcqRcqScqTcqUcqVcqWcqXcqYcqZcracracrbcrccrdcrecrfcrgcrhcrhcrhcricdtcdtcdtcdtcdtcdtcdtcfmcdvcrjcpwcrkcrlcrmcrncrocrpcrqcrrcrscrtcrucrvcrvcaHcrwcgZcrxcaHcaIcrycaIcaHcaHaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabKLbVibKLbVibKLbVibKLbVibKLbVibKLbViaafaafbTDcrzbXrctqcrBcrCcrDcrEcrFcrGcrHcrIcrJcrKcrLcpPcuXcrMcrNcrNcrPcuZcrRcrRcrRcrScrTcrUcrVcpVcvfcpVcpVcencrXcrXcrXcrXcrXcoPcrYcrZcsacsbcsccoQcsdcsecsfcsgcoQdyidypdybdwUcshcqocoVaaaaaacqpcsicqrcsjcskcslbWzcsmcsncqxcsocspcsqcsrcsjcsjcsjcsscstcsucsvcswcsxcsycpdcszcsAcjDcsBcsCchZaaaaaacpkcsDcsEcsFcpkcsGcsHcpncsIcsJcsKcsLcsMcsNcsOcsPcsQcsRcsScpncsTcsUcsVcsVcsWcrhcdvcdvcsXcfmcfmcfmcfmcfmcfmcfmcfmcdvcsYcpwcsZctacrmctbctcctdctectfctgcthcticrvcrvctjctkctlctmcaIctnctoctpcaHaaaaaaaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafbVvbVwbVAbVwbVAbVwbVAbVwbVAbVwbVAbVwbVybVzbTDcttctrctscwRctrctuctvctwcpPctxctyctzctActBcpPcuXctCctDctDctFctEctDctGctGctHctHctIctJctIcvgcvgctIctLctLctMctNctMctLctLctOctOctOctPctOctOctQctRctScoQcoQdUPdUQdBMdwUctTcqocoVaaaaaactUctVctWctXcskctYbWzctZcuacubcuccudcuecufcugcuhcsjcuicujcukculcumcuncuocpdcupcsAcuqcurcuscgwaaaaaacpkcutcuucuucuucuvcuwcuucuucuxcuxcuxcuycuzcuAcuzcuzcuzcuzcuBcuCcuDcuEcuFcuCcuGcuGcuGcuGcuGcuGcuGcuHcuHcuHcuHcuIcuIcuIcuIcuJcuKcuLctbcuMcrqcrqcrqcrqcrqcrvcrvcrvcaHcuNcorcuOcaIcdOcdMcdPcaHaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabVvcczcdQcczcdQcczcdQcczcdQcczcdQcczbVycaJbTDcaKcuPcuQcuRcuScuQcuTcuUcpPcpPcpPcpPcpPcpPcpPcuXcuVctDcuWcuYcxbctDcvacvbcvccvcctIcvdctIctKctIcxicvhcvicvjcvkcvjcvlcvmcvncvocvpcvqcvrctOcvscvtcvucvvcoQdUSdUTdURdwUcvwcqocoVaaaaaactUcvxcvycvzcvAcvBbWzcDQcvDcqxcvEcvFcvGeckcvIcvJcsjcvKcvLcvMcvNcumcvOcvPcvQcvRcsAcvScvTcvUcgwaaaaaacpkcsDcuucvVcvWcvXcvYcvZcwacwbcwccwdcuycwecwfcwgcwhcwicwjcwkcwlcwmcwncwocwpcwqcwrcwscwtcwucwvcwwcwxcwycwzcwAcwBcwCcwDcwEcwFcwGcrmcwHcwIcwJcrqcrqcrqcwKcwLcwIcrvcaHcwMcwNcwOcaHccxcwPcaHcaHaafaafaafaadaXGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabMCcdRbMCcdRbMCcdRbMCcdRbMCcdRbMCcdRaadbYTcwQcwUcwScwTcxtcwScwTcwVcwWcwXcwYbTDcfRcrMcrNcrNcrNcwZctDcxacxccxdctDcvacxectHctHctIcxfcxgcxhcXqcxjcxkcxlcxlcxlcxmcxncxocxpcxqcxrcxscFGcxucxvcxwcxxcvvcoQdwUdwUdwUdwUcoVcqocoVaaaaaactUcxycqrcxzcxAcxBbWzcxCcxDcqxcxEcxFcxGcsrcxHcxIcxJcvKcxKcxLcxMcxNcxOcxPcpdcvRcxQcxRcxScxTcgwaaaaaacpkcsDcuucxUcxVcxWcxXcxYcxZcyacybcyccuzcydcyecyfcygcyhcyicyjcykcylcymcyncyocypcyqcyrcyscyrcytcwwcyucyvcywcwAcyxcyycyzcwEcyAcyBcrmcrmcrmcrmcrmcrmcrmcrmcrmcpzcpzcaHcyCcaIcaHcaHcaHcaHcaHaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaaaaaaaaabKLbKMbKMbKMbKMbKMbKMbKMcyDbKMbKMbKMbVybXocyEcyFcyGcyHcyIcyJcyHcyKcyLcyLcyMbTDcfRcyNcmLcyOcyOcyPcyOctDcyRcyQctDctDcyTcyUcyVctIcyWcyXcyYcyZczaczbcxlcxlczcczdczeczfctOczgczhcziczjctOcoQcoQczkcoQcoQcqmcqmcqmcqmcoVcqoczlaaaaaacqpcsicqrczmcznczobWAbWAczpcqxcxEczqczrcsrcsjcvAcsjczscpdcztczuczvczwcpdcpdczxczyczzczAczBchZaaaaaaczCcsDcuuczDczEcxWczFczGcxZczHczIczJcuzczKcyeczLczMczNcXCczPczQczRczSczTczUczVczWczXczYczXczZcAacAbcAccAdcwAcAecAfcAgcwEcAhcAicAjcAkcAlcAmcAncAocApcAqcArcAsbYScAtcAuaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabVvcczcdQcczcdQcczcdQcczcdQcczcdQcczbVyccBbTDbTDcAvcAwcAxbXpcAxcAycyLcyLcAzbTDcfRcyNcmLcyOcAAcABcACctDcAEcyScAFctDcAGcAHcAIctIcAJcAKcALcAMcANcAOcAPcAQcAQcARczecAScATcAUcAVcAWcAXctOcAYcAZcBacBbcBccqmcBdcqmcBecoVcqoczlaaaaaacqpcqpcBfcsjcuhcBgcBhbWAcBicqxcqxcqxcqxcBjcBkcBlcBkcBmcpdcpdcBncBocpdcpdcBpcBqcBrcjDcBschZchZaaaaaaczCcsDcuucuucBtcBucBvcBwcxZcBxcBycBzcuzcBAcBBcBCcBCcBDcBEcBFcBGcBHcBIcwocBJcypcBLcBNcBMcBKcBOcuGcBPcBQcBRcwAcBScBTcBUcwEcBVcBWcBXcBYcBYcAmcBZcCacCbcAmcAmcAsaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabMCcdRbMCcdRbMCcdRbMCcdRbMCcdRbMCcdRaafaafaafbTEbTDbTDbTDbTDbTDbTDbTDbTDbTDbTDcfRcCccencyOcCdcABcCectDcCfcADcNpcCjcCkcClcCmctIcCncCocCpcCqctIcCrcCscCtcCtcCucCvcCwcxpcCxcCycxrcCzctOcAYcCAcCBcCCcBbcBbcqmcBdcqmcoVcqoczlaaaaaaaaactUcCDcCEcuhcCFcCGcCHcCIcCJdVzcCKcCLcCMcCNcskcCOcCMcCPcnDcCQcCRcCScCTcCUcCVcBrcCWcCXcgwaaaaaaaaaczCcsDcCYcuucCZcDacDbcDccxZcDdcDecDdcuzcDfcyecDgcDhcDicDjcDkcDlcwmcDmcwocDncypcDoczXcDpczXcDqcuGcDrcDscDtcwAcDucDvcDwcwEcDxcDycDzcDAcDBcDCcDDcDEcApcDFcDGcAsaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacDHcDIcDJcDKcDLcDLcDMcDNcXVcCheclcPXcyOcDRcDScDTctDctDctDctDcDUcDVcDWcDUctIcDXctIcDYcDZctIcEacEbcEcdmccEdcEecEactOcEfcEgcEhcEictOcEjcEjcEjcEkcEjcBbcBbcBbcqmcoVcqocoVaaaaaaaaactUctUcElcCEcuhcuhcEmcEncEocEocEpcEqcErcEscEtcEucErcEvcEwcExcExcEycEzcBrcBrcCWcEAcgwcgwaaaaaaaaacpkcsDcEBcuucuucECcEDcEEcxZcEFcEGcEHcuzcEIcEJcEKcELcEMcENcEOcEPcEQcERcEScETcuGcEUcEVcEWcEXcEYcuGcDOcFacFbcwAcFccFdcFecwEcFfcFgcFhcFicFjcAmcFkcFlcFmcAscAscAsaafaafaafabcaafaaaaaaaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabVvcczcdQcczcdQcczcdQcczcdQcczcdQcczbVycaJbTDcaKcuPcuQcuRcuScuQcuTcuUcpPcpPcpPcpPcpPcpPcpPcuXcuVctDcuWcuYcxbctDcvacvbcvcecVctIcvdctIctKctIcxicvhcvicvjcvkcvjcvlcvmcvncvocvpcvqcvrctOcvscvtcvucvvcoQdUSdUTdURdwUcvwcqocoVaaaaaactUcvxcvycvzcvAcvBbWzcDQcvDcqxcvEcvFcvGeckcvIcvJcsjcvKcvLcvMcvNcumcvOcvPcvQcvRcsAcvScvTcvUcgwaaaaaacpkcsDcuucvVcvWcvXcvYcvZcwacwbcwccwdcuycwecwfcwgcwhcwicwjcwkcwlcwmcwncwocwpcwqcwrcwscwtcwucwvcwwcwxcwycwzcwAcwBcwCcwDcwEcwFcwGcrmcwHcwIcwJcrqcrqcrqcwKcwLcwIcrvcaHcwMcwNcwOcaHccxcwPcaHcaHaafaafaafaadaXGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabMCcdRbMCcdRbMCcdRbMCcdRbMCcdRbMCcdRaadbYTcwQcwUcwScwTcxtcwScwTcwVcwWcwXcwYbTDcfRcrMcrNcrNcrNcwZctDcxacxccxdctDcvacxectHecWctIcxfcxgcxhcXqcxjcxkcxlcxlcxlcxmcxncxocxpcxqcxrcxscFGcxucxvcxwcxxcvvcoQdwUdwUdwUdwUcoVcqocoVaaaaaactUcxycqrcxzcxAcxBbWzcxCcxDcqxcxEcxFcxGcsrcxHcxIcxJcvKcxKcxLcxMcxNcxOcxPcpdcvRcxQcxRcxScxTcgwaaaaaacpkcsDcuucxUcxVcxWcxXcxYcxZcyacybcyccuzcydcyecyfcygcyhcyicyjcykcylcymcyncyocypcyqcyrcyscyrcytcwwcyucyvcywcwAcyxcyycyzcwEcyAcyBcrmcrmcrmcrmcrmcrmcrmcrmcrmcpzcpzcaHcyCcaIcaHcaHcaHcaHcaHaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaaaaaaaaabKLbKMbKMbKMbKMbKMbKMbKMcyDbKMbKMbKMbVybXocyEcyFcyGcyHcyIcyJcyHcyKcyLcyLcyMbTDcfRcyNcmLcyOcyOcyPcyOctDcyRcyQctDctDcyTcyUecHctIcyWcyXcyYcyZczaczbcxlcxlczcczdczeczfctOczgczhcziczjctOcoQcoQczkcoQcoQcqmcqmcqmcqmcoVcqoczlaaaaaacqpcsicqrczmcznczobWAbWAczpcqxcxEczqczrcsrcsjcvAcsjczscpdcztczuczvczwcpdcpdczxczyczzczAczBchZaaaaaaczCcsDcuuczDczEcxWczFczGcxZczHczIczJcuzczKcyeczLczMczNcXCczPczQczRczSczTczUczVczWczXczYczXczZcAacAbcAccAdcwAcAecAfcAgcwEcAhcAicAjcAkcAlcAmcAncAocApcAqcArcAsbYScAtcAuaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabVvcczcdQcczcdQcczcdQcczcdQcczcdQcczbVyccBbTDbTDcAvcAwcAxbXpcAxcAycyLcyLcAzbTDcfRcyNcmLcyOcAAcABcACctDcAEcyScAFctDcAGcAHecIctIcAJcAKcALcAMcANcAOcAPcAQcAQcARczecAScATcAUcAVcAWcAXctOcAYcAZcBacBbcBccqmcBdcqmcBecoVcqoczlaaaaaacqpcqpcBfcsjcuhcBgcBhbWAcBicqxcqxcqxcqxcBjcBkcBlcBkcBmcpdcpdcBncBocpdcpdcBpcBqcBrcjDcBschZchZaaaaaaczCcsDcuucuucBtcBucBvcBwcxZcBxcBycBzcuzcBAcBBcBCcBCcBDcBEcBFcBGcBHcBIcwocBJcypcBLcBNcBMcBKcBOcuGcBPcBQcBRcwAcBScBTcBUcwEcBVcBWcBXcBYcBYcAmcBZcCacCbcAmcAmcAsaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabMCcdRbMCcdRbMCcdRbMCcdRbMCcdRbMCcdRaafaafaafbTEbTDbTDbTDbTDbTDbTDbTDbTDbTDbTDcfRcCccencyOcCdcABcCectDcCfcADcNpcCjcCkcClcCmctIcCncCocCpcCqctIcCrcCscCtcCtcCucCvcazcxpcCxcCycxrcCzctOcAYcCAcCBcCCcBbcBbcqmcBdcqmcoVcqoczlaaaaaaaaactUcCDcCEcuhcCFcCGcCHcCIcCJdVzcCKcCLcCMcCNcskcCOcCMcCPcnDcCQcCRcCScCTcCUcCVcBrcCWcCXcgwaaaaaaaaaczCcsDcCYcuucCZcDacDbcDccxZcDdcDecDdcuzcDfcyecDgcDhcDicDjcDkcDlcwmcDmcwocDncypcDoczXcDpczXcDqcuGcDrcDscDtcwAcDucDvcDwcwEcDxcDycDzcDAcDBcDCcDDcDEcApcDFcDGcAsaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacDHcDIcDJcDKcDLcDLcDMcDNcXVcCheclcPXcyOcDRcDScDTctDctDctDctDcDUcDVcDWcDUctIcDXctIcDYcDZctIcEacEbcEccEccEdcEecEactOcEfcEgcEhcEictOcEjcEjcEjcEkcEjcBbcBbcBbcqmcoVcqocoVaaaaaaaaactUctUcElcCEcuhcuhcEmcEncEocEocEpcEqcErcEscEtcEucErcEvcEwcExcExcEycEzcBrcBrcCWcEAcgwcgwaaaaaaaaacpkcsDcEBcuucuucECcEDcEEcxZcEFcEGcEHcuzcEIcEJcEKcELcEMcENcEOcEPcEQcERcEScETcuGcEUcEVcEWcEXcEYcuGcDOcFacFbcwAcFccFdcFecwEcFfcFgcFhcFicFjcAmcFkcFlcFmcAscAscAsaafaafaafabcaafaaaaaaaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> e070c7c... Oct Map Fixes (#6485) -======= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaabTEbTDchcchcbTDcoucovcowbXucoxchhcoyebtcoAcoBcoCcoDcoEcoFcoGcmLcrQcrOcfRchuchuchuchuchuchvcoJcoKcencencoLchEcoMchCcoNcoOcoPcoPcoPcoPcoPcoPcoQcoQcoRcoScoQdirdwgdwqditcoTcoVcoWchGcoXcnsbLBcoYchKchLcoZchNbLBbWAcgncpacpbcpcbWAchRchRchRchRchRcpdcpdcpecpdcpdcpdcpdcpfchWchVchXcpgchZcphcpiciccpjcpkcpkcpkcplcpmcpncpncpncpncpncpocpncpncpncpncpncpncppcpqcprcnVcpsciecptcgNcpuciecinciociociociociocdtcpvcdvcaGcpwcpxcpycpzcpzcpzcpAcpzcpBcpzcpzcaHcaHcaHcaHcpCechecfecgeciecjcpIcpJcaHcaHaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaabTDcpKcpLcpMcpNchecmDbXucpOcpPcpPcpQcpPcpRcpScpPcoEcmLcmLcmLcpUcpTcfRcfRcfRcfRcfRcfRcfRcencencencpVcpWcpXcpYcpZcqacpXcqbcqccqdcqecqfcqgcqhcqicqjcqkcqlcoQdwTdwWdwTdwUcqncqocoVbLCbLCcqpcqqcqrcqscqtcqubWzcqvcqwcqxcqxcqxcqycqycqzcqAcqBcqpcpdcqCcqDcqEcqFcqGcpdcqHcqIcjCcqJcqKchZcgwcgwcpkcqLcqMcqNcqOcqPcqPcqQcqRcDfcSCecUcqVcqWcqXcqYcqZcracracrbcrccrdcrecrfcrgcrhcrhcrhcricdtcdtcdtcdtcdtcdtcdtcfmcdvcrjcpwcrkcrlcrmcrncrocrpcrqcrrcrscrtcrucrvcrvcaHcrwcgZcrxcaHcaIcrycaIcaHcaHaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabKLbVibKLbVibKLbVibKLbVibKLbVibKLbViaafaafbTDcrzbXrctqcrBcrCcrDcrEcrFcrGcrHcrIcrJcrKcrLcpPcuXcrMcrNcrNcrPcuZcrRcrRcrRcrScrTcrUcrVcpVcvfcpVcpVcencrXcrXcrXcrXcrXcoPcrYcrZcsacsbcsccoQcsdcsecsfcsgcoQdyidypdybdwUcshcqocoVaaaaaacqpcsicqrcsjcskcslbWzcsmcsncqxcsocspcsqcsrcsjcsjcsjcsscstcsucsvcswcsxcsycpdcszcsAcjDcsBcsCchZaaaaaacpkcsDcsEcsFcpkcsGcsHcpncsIcsJcsKcsLcsMcsNcsOcsPcsQcsRcsScpncsTcsUcsVcsVcsWcrhcdvcdvcsXcfmcfmcfmcfmcfmcfmcfmcfmcdvcsYcpwcsZctacrmctbctcctdctectfctgcthcticrvcrvctjctkctlctmcaIctnctoctpcaHaaaaaaaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11665,128 +11420,16 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaabVvcczcdQcczcdQcczcdQcczcdQcczcdQcczbVyccBbTDbTDcAvcAwcAxbXpcAxcAycyLcyLcAzbTDcfRcyNcmLcyOcAAcABcACctDcAEcyScAFctDcAGcAHecIctIcAJcAKcALcAMcANcAOcAPcAQcAQcARczecAScATcAUcAVcAWcAXctOcAYcAZcBacBbcBccqmcBdcqmcBecoVcqoczlaaaaaacqpcqpcBfcsjcuhcBgcBhbWAcBicqxcqxcqxcqxcBjcBkcBlcBkcBmcpdcpdcBncBocpdcpdcBpcBqcBrcjDcBschZchZaaaaaaczCcsDcuucuucBtcBucBvcBwcxZcBxcBycBzcuzcBAcBBcBCcBCcBDcBEcBFcBGcBHcBIcwocBJcypcBLcBNcBMcBKcBOcuGcBPcBQcBRcwAcBScBTcBUcwEcBVcBWcBXcBYcBYcAmcBZcCacCbcAmcAmcAsaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaabMCcdRbMCcdRbMCcdRbMCcdRbMCcdRbMCcdRaafaafaafbTEbTDbTDbTDbTDbTDbTDbTDbTDbTDbTDcfRcCccencyOcCdcABcCectDcCfcADcNpcCjcCkcClcCmctIcCncCocCpcCqctIcCrcCscCtcCtcCucCvcazcxpcCxcCycxrcCzctOcAYcCAcCBcCCcBbcBbcqmcBdcqmcoVcqoczlaaaaaaaaactUcCDcCEcuhcCFcCGcCHcCIcCJdVzcCKcCLcCMcCNcskcCOcCMcCPcnDcCQcCRcCScCTcCUcCVcBrcCWcCXcgwaaaaaaaaaczCcsDcCYcuucCZcDacDbcDccxZcDdcDecDdcuzdbIcyecDgcDhcDicDjcDkcDlcwmcDmcwocDncypcDoczXcDpczXcDqcuGcDrcDscDtcwAcDucDvcDwcwEcDxcDycDzcDAcDBcDCcDDcDEcApcDFcDGcAsaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacDHcDIcDJcDKcDLcDLcDMcDNcXVcCheclcPXcyOcDRcDScDTctDctDctDctDcDUcDVcDWcDUctIcDXctIcDYcDZctIcEacEbcEccEccEdcEecEactOcEfcEgcEhcEictOcEjcEjcEjcEkcEjcBbcBbcBbcqmcoVcqocoVaaaaaaaaactUctUcElcCEcuhcuhcEmcEncEocEocEpcEqcErcEscEtcEucErcEvcEwcExcExcEycEzcBrcBrcCWcEAcgwcgwaaaaaaaaacpkcsDcEBcuucuucECcEDcEEcxZcEFcEGcEHcuzcEIcEJcEKcELcEMcENcEOcEPcEQcERcEScETcuGcEUcEVcEWcEXcEYcuGcDOcFacFbcwAdbLcFdcFecwEcFfcFgcFhcFicFjcAmcFkcFlcFmcAscAscAsaafaafaafabcaafaaaaaaaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacDHcFncFocFpcFqcDHcDHcDHcMXcEZcDPcFtcyOcyOcyOcyOcGTcFvcFwcFxcDUcFycFzcFAcFBcFCcFDcFEcFFctIcOlcFHcFIcFJcFKcFLcFMctOcxpcFNcxpcFOctOcFPcFQcFRcFScEjcoVcoVcFTcoVcoVcFUcoVaaaaaaaaaaaactUctUcElcCEcsjcFVcFWcFXcFYcsjcFZcGacGbcskcGccGacGdcjDcGecGfcGgcGhcjDcCWcEAcgwcgwaaaaaaaaaaaacpkcsDcGicGjcGkcGlcGmcGncGocGpcGqcGrcuzcGscuzcuzcGtcGucGtcuycuEcGvcuEcGwcuEcuGcwwcGxcGycwwcuGcuGcGzcGAcFrcwAcwEcGCcwEcwEcFfcFgcFhcGDcGEcAmcGFcGGcGHcAsaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacFpcGIcFpcGJcGKcGLcDHcGMcGBcLFcFscGPcGQcGRcGScGTcFucGUcGVcFxcDUcGWcGXcGYcGZcHacDUcHbcHccHdcHecHfcHgcHgcHhcHicHjcHkcHlcHmcHncHocEjcHpcHqcHrcHscEjcHtcHucBbcHvcHwcHxcoVaaaaaaaaaaaaaaactUctUcHycHzcHycHAcHBcHCcHDcHDcHEcslcskcslcHEcHFcHFcHGcHHcHIcHJcHKcHJcgwcgwaaaaaaaaaaaaaaacpkcHLcHMcGjcHNcHOcHPcHQcHRcHScHTcHUcHVcHWcHXcHYcHZcIacHUcIbcIccIdcIecIfcIgcIhcIicIjcIkcIlcImcIncIocIpcIqcIrcIsecmcIucIvcIwcIxcIycIzcIAcAmcAmcIBcAmcAsaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaagaafaafaafaagaadaadaadaadaadaadaagaaaaaaaaacFpcICcIDcIEcGKcIFcIGcIHcGNcKtcIJcIKcGQcGRcGScGTcGTcILcIMcFxcDUcINcIOcIPcIQcIRcIScITcIUcIVcIWcIXcIVcIVcIYcIZcJacJbcJccITcJdcJecJfcJgcJhcJicJjcJkcHtcHucBbcFUcBbcJlcoVaaaaaaaaaaabaaaaaactUctUcqpcJmcJncJocJpcHDcsicJqcslcskcslcJrczBcHFcJscJtcJucJvchZcgwcgwaaaaaaaabaaaaaaaaacpkcJwecncGjcGkcJycJzcJAcJBcJCcJDcJEcJFcJGcJHcJIcJJcJIcJEcJKcJLcJMcJNcJOcJPcJQcJRcJScJTcJUcJVcJWcJXcJYdUUcKacJXcKbcJXcKccJXcKdcKecKfcKgcKhcKicKjcKkcKlaaaaaaaabaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacDHcKmcKncKocGKcKpcDHcKqcKrcGOcKscKtcKucKtcKucKvcKwcKxcIMcIMcDUcKycKzcKzcKAcKBcKCcHgcKDcHgcKEcHgcHgcHgcKDcKFcKGcKGcKGcKGcKGcKGcKHcKIcKJcKKcKLcEjcHtcHucBbcKMcKNcKNcKNcKNcKNaaaaaaaaaaaaaaaaaacqpcqpctUctUctUcqpcqpcqpcKOcKPcKQcqpchZchZcgwcgwcgwchZchZaaaaaaaaaaaaaaaaaacKRcKRcKRcKRcKScKTcKTcIIcKVcKTcKWcKXcKYcKXcKZcLacLbcLccLdcLccLbcLbcLbcLecLfcLgcLbcLhcLicLjcLkcLjcLhcLhcLlcLmcLncLmcLlcAjcLocLpcLqcLrcAjcLscLtcLucLvcLwcLxcLyaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafcLzcLAcDHcLBcLCcLDcDHcKqcLEcLFcLGcLHcLIcLJcLKcLLcGTcLMcIMcIMcDUcLNcLOcKzcLPcLQcDUcLRcLScHgecoecpecpecpcLScLVcKGcLWcLWcLWcLWcLWcLXcLYcLYcLZcLYcoVcoVcoVcBbcFUcKNcMacMbcMccKNcKNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactUcMdcMecMfcMgcMhctUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKRcKRcMicMjcKRcMkcKVcMlcMmcMncKTcMocMpcMqcMrcMscKZcMtcMucMvcMwcMxcLbcMycMzcMAcMBcMCcLhcMDcMEcMFcMGcMHcMIcMJcMKcMLcMMcMNcMOcMOcMOcMOcMOcMOcMPcMQcMRcMScMTcMUcMVaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaacMWcDHcFpcFpcDHcDHcMXcMYcMYcMXcMZcNacMXcMXcLLcGTcIMcIMcIMcDUcNbcNccNdcNecNfcDUcNgcHgcHgcNhcNicHgcHgcHgcNjcNkcLWcLWcLWcLWcLWcLXcNlcNmcNncLYcNocQkcoVcBbcNqcNrcNscNscNtcNucKNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactUcNvcNwcNxcNycNzctUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKRcNAcNBcNCcKRcNDcKVcNEcNFcNGcKTcNHcNIcNJcNKcNLcNMcNNcNOcNPcNQcNRcLccNScNTcNUcNVcNWcNXcNYcNZcOacObcOccLhcOdcOecOfcOgcOhcMOcOicOjcOkcPucMOcOmcOncLucOocOpcOqcLyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacMXcOrcOscOtcMXcLLcGTcIMcIMcIMcDUcDUcDUcDUcDUcDUcDUcOucOvcHgcHgcOwcOwcOwcHgcOxcOycLWcLWcLWcLWcLWcLXcOzcOAdUVcLYcOCcBbcODcOEcOFcKNcOGcOHcOIcOJcKNcoVcoVcoVcoVczlczlczlcoVcoVcoVcoVcoVcOKcOLcMfcOMcOKcpkcpkcpkcpkcpkczCczCczCcpkcpkcpkcpkcKRcONcOOcOPcKRecqcKVcORcOScOTcKTcOUcOVcOWcOXcOYcKZcOZcPacPbcPccPdcLfcNScNTcPecPfcPgcPhcPicPjcPkcPlcPmcLhcPncPocPpcPqcPrcMOcPscPtcPtcSLcMOcPvcPwcPxcPycPzcPAcKlaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacMXcPBcPCcPDcMXcLLcGTcGTcPEcIMcFucFucIMcIMcIMcPFcGTcEacPGcEacEacPHcPIcPJcPKcPLcPMcLWcLWcLWcLWcLWcLXcPNcPOcPPcLYcPQcPRcoVcPScPTcKNcKNcKNcKNcKNcKNcPUcPVcPWcQZcPYecrcQacQacQacQacQacQacQbcQccQdcQecQfcQgcQgcQgcQgcQgcQgcQhcQicpkcQjcSpcQlcKRcQmcOOcQncKRcQocKVcKVcQpcKVcKTcQqcQrcQscQtcQucKXcQvcQwcQxcQycPdcLccNScQzcQAcQBcQCcQDcQEcQFcQGcQHcQIcLhcLlcLlcLlcLlcLlcMOcPscQJcQKcSLcMOcQLcQMcKlcKlcKlcKlcKlaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaafaaaaaaaaaaaacMXcQNcQNcMXcMXcLLcIMcGTcGTcFucFucGTcGTcGTcGTcGTcGTcQOcQOcQOcEacEacEacEacQPcQQcKGcLWcLWcLWcLWcLWcLXcLYcKUcLYcLYcoVcoVcoVcQScQTcQUcHwcQVcQWcQXcHwcQacQYdFLcRacRbcRccPUcAYcPUcPUcRdcRecoVcRfcRgcRhcpkcRicRjcRicRkcRlcRmcRncQocRmcsFcsFcRocKRcKRcRpcKRcKRcQocpkcGjcRqcRrcLacRscRtcRucRvcRwcKZcRxcRycRzcRAcRBcLbcRCcRDcREcRFcRGcRHcRIcRJcRKcRLcRMcRNcROcRPcRQcRRcRScMOcRTcRUcPtcRVcMOcRWcRXcpwaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaadaadaaaaaaaaacMXcRYcRZcSacMXcSbcKvecscSdcSecSfcSgcShcIMcSicIMcSjcSkcSkcSkcSlcSmcSmcEacEacEacKGcKGcKGcKGcKGcKGcKGcQOcSncQOcGTcSocGTdTdcBbcFUcBbcSqcSrcPScSscBbcPUcPUcRdcPUcPUcStcAYcSucSvcSwcSucSucSucSxcSycSzcSAcSAcSAcSAcSAcSAcSAcSBcSCcSDcSDcSDcSEcSFcSGcSHcSDcSDcSIcSJcSKcVacSMcLacLacLacLacLacLacLacSNcLbcLbcLbcSOcLbcSPcSQcSRcSScSPcLhcSTcLhcLhcLhcMIcSUcSVcSWcSXcSYcSZcTacPtcTbcTccTdcTecTfcTgcpwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfGaafaafaafaafaaaaaaaaacMXcMXcSbcKucKucKucThcTicTicTicTjcTicTicTicTkcKucKucKucKucThcKucKucKucKucKucKucKucKucTlcTmcTncTocTpcKucTqcTrcTscTtcTucTucTucTucTucTucTucSucSucSucSucSucSucSucTvcTwcTxcTycSucTzcTAcTBcSAcTCcTDcTEectcTGcSAcTHcsFcsEcsFcsFcTIcTJcTJcTJcTJcTJcTJcTKcTLcsFcTMcTNcTOcTPcTQcTQcTRcTScTTcTUcTVcTWcTXcSRcTYcTZcUacUbcUccSRcUdcTWcTVcTUcUecSUcUfcUgcUhcUicUjcMOcUkcUlcUmcUncUocUpcUqcpwaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaacMXcMXcMYcMYcMYcMXcMXcMXcMYcMYcMYcMXcMXcMXcMXcMXcMXcMXcMXcIMcIMcIMecucIMcIMcIMcIMcIMcIMcIMcMXcMXcMXcMXcUrcUscUtcTucUucUvcUwcUxcUycTucUzcUAcUBcUCcUDcUEcUFcUGcUGcUHcUIcSucUJcUKcULcUMcUNcUOcUPcUQcURcSAcUScUTcpkcUUcUVcRmcTJcUWcUXcUYcUZcVYcsFcTLcVbcVccVdcVecVfcVgcVhcGjcTScVicUacVjcVkcVlcSRcVmcVncVocVpcVqcSRcVrcVkcVjcUacVscSUcSUcSUcSUcVtcSUcMOcMOcMOcMOcMOcMOcVucVvcVwaafaafaafabcaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacMXcMXcVxcVycVzcVAcVBcVCcVDcVEcVFcMXcMXaaaaaaaaaczlcVGcVHcTucTucTucVIcVJcVKcTucVLcVMcVNcVOcVPcVQcSucVRcVScVTcVUcSucVVcVWcVXcSAcXjcVZcWacWbcWccSAcWdcWecTJcTJcTJcTJcTJcWfcWgcWhcWicWjcqMcWkcWlcWmcWmcWlcWncWocWpcWqcWrcWscWtcWucWvcWwcWxcWycWzcWAcWycWycWxcWAcWBcWCcWycWDcWEcQRcWGcWHcWIcWJcWKcWLcWMcWNcWOcWPcWQcWRcWSaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaacMXcMXcMXcMYcMYcMYcMYcMYcMXcMXcMXaaaaaaaaaaaaczlcWTcWUcTucWVcWWcWXcWYcWZcTucXacXbcXccXdcXecXfcSucSucXgcSucSucSucXhcUKcXicSAcSAdbNcXkcXlcXmcSAcXncXocXpdlccXrcXscTJcXtcXucXvcXwcTJcXxcQocXycXzcXAcXBecLecLecvcGjcTScXEcXFcXGcXHcXIcXJcXKcXLcXMcXNcXKcXOcXPcXQcXRcXScXTcXUcWFcXWcXXcXYcXZecwcYbcYccYdcYecYfcYgcYhcYiaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaabaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacUrcVGcVHcTucTucTucTucYjcTucYkcYlcYlcYmcYlcYlcYncYocYpcYqcYrcYscYtcYucUKcYvcYwcYxcYycYzcYAcYBcYCcYDcYEcYFcYGcYHcYIcTJcTJcTJcYJcTJcTJcpkcYKcYLcYMcYNcYOcTRczCczCcTRcTScTScYPcYQcYRcYScYRcSPcYTcYUcYVcSPcYWcYXcYYcYZcYYcZacZbcZbcZbcZccZdcZccZecZfcZgcZfcZhcZicZjcZicWSaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaadabcaagaagaadaadaadaadaafaaeaaaaafaagaadaadaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacUrcUscZkcZlcZmcZncSucZocTwcZpcZqcZqcZrcZqcZqcZscTwcZtcZucZvcZwcYtcZxcZycZzcZAcZBcZCcXocZDcZEcXocZFcZGcZHcZIcZJcZKcZLcZMcZNcZOcZPcTJcZQcZRcZScZTcZTcTRaaaaaaaafaaaaaaaaacYPcZUcZVcZWcZXcZYcZYcZZcZYcZYdaadabdacdaddaedafdagdahcZbdaidajdakcZedaldamdancZhcWScYicWScVwaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacUrcUrdaodapdaqdaqdaqdardasdatdatdaudatdavdatdawdaxdaydazdaAdazdaBdaCdaDdaEdaFdaGdaHdaIdaJdaKdaJdaJdaLdaMdaNdaOdaPdaQdaRdaQdaQdaSdaTcTJdaUcZRdaVdaWdaXdaYaaaaaaaafaaaaaaaaacYPdaZdbadbbdbcdbddbedbfdbgdbhdbidbjdbkdblcYYdbmdbndbocZbdbpdbqdbrcZedbsdbtdbucZhaaaaaaaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafabcaagaadaafaaaaaaaaaaadaadaadaaaaaaaaaaaacUrdbvdbwdbxdbydbzdbAcSudbBdbCdbDdbEdbFcTwcTwcZocTwdbGcTwdbHcTwdbIdbJdbKcUKcULdbLdbMddDdbOcXodbPdbOcZFdbQdbRcZKcZJdbSdbTdbUdbVdbWdbXcTJdbYdbZdaVaaaaaaaaaaaaaaaaafaaaaaaaaacYPdcadcbdccdcddbddcedcfdcgdbhdchdcidcjdckcYYdcldcmdcncZbdcodcpdcqcZedcrdcsdctcZhaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaacUrdcudcvdcwdcxecMecMcSudczdcAdbDdcBdcCdcDcTwdcEdcFdbGdcGdcHdcIdbIdcJdcKdcLdcMcYwdcNdcOdcPdcQdcRdcPcZFdbQdUWdcTcZJdcUdcVdcWcZKdbWdcXcTJdcYdcZdaVaaaaaaaaaaaaaaaaafaaaaaaaaacYPddaddbddcddddbdddeddfdcgdbhddgddhddiddjcYWddkddkddkddkddlddmddlddnddoddpddocZhaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaafaafaafcUrddqddrddrddrddrddrddrddrddrddsddrddrddrddtdducSuddvcZtddwcZvddxcYtddycUKddzddAddBddCdfBcXoddCdfBcZFddEdbRddFddGddHddIddHddHddJddKcTJddLddMcZSaaaaaaaaaaaaaaaaafaafaafaafcYPcYPddNddOddPddQddRddSddTddQddUddVddWcYWcYWaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczlddXddYddZddZddZddZddZddZddZddZddZddZddYdeadebddrdeccTwdedcTwcTwcYtddycUKdeeddAdefcXocXocXocXocXocZFdegdbRcZKcZJcZKcZKcZKcZKcZKdehcTJdeidejcZSaaaaaaaaaaaaaadaagaaaaaaaaaaafcYPcYPcYPcYPddQddQddQddQddQcYWcYWcYWcYWaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczlddXdekddZddZddZddZddZddZddZddZddZddZddYdeldemddrdendeodepdeqdercSudescVWdetcYwdeudevdewdexdeydezdeAdeBdeCdeDdeEdeFdeGdeHdeIcZKdeJcTJdeKdeLcZSaaaaaaaaaaagaadaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaczlddXdeMddZddZddZddZddZddZddZddZddZddZddYdeNdeOddrcSucSudePcSucSucSudeQcUKdeRdeSdeTdeTdeUdeUdeUdeVdeWdeXdeTdeYdeZdeTdeUdeUdeUdeUdeTdeTdfadcZcZSaafaafaafaadaaaaabaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaafaadaadaadaafaaeaagaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafcUrddXddYddZddZddZddZddZddZddZddZddZddZdfbdfcdfddfeddrdffdfgdfgdfhdfidfjcUKdfkdfkdeUdfldfmdfndfodfpdfqdUXdfsdftdfudfvdfwdfxdfydfzdfAdhXdaUdcZcZSaaaaaaaaaaadaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaafaaaaadaadaafaadaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczlddXddYddZddZddZddZddZddZddZddZddZddZdfCdfDdfEdfFdfGdfHdfIdfJdfKdfLdfMcZydfNcULdfOdfPdfQdfRdfSdfQdfTdfUdfUdfUdfVdfWdfUdfUdfXdfUdfYdeTecxdcZdaVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaadaagaaaaadaadaadaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczlddXdgaddZddZddZddZddZddZddZddZddZddZddYdgbdgcdgddgedgfdggdghcULcSzdgidgjdgkdgldgmdgndgodUYdgqdgqdgrdgqdgsdgqdgtdgudgvdgwdgxdgvdgydgzdgAdgBdaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafcUrddXddYddZddZddZddZddZddZddZddZddZddZdfbdfcdgCdgDddrdgHdgFdhNdXTdfidgIcTAdgJdfkdeUdgKdgLdgMdgNdgOdgPdgQdgRdgSdgTdgNdgOdgUdgVdgVdgWdeTdgXdcZdaVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaczlddXdeMddZddZddZddZddZddZddZddZddZddZddYdgYdgZddrdhadhbdhadhadhadfidhcdhddhedeTdeTdhfdeTdeTdeTdeTdhgdeTdeTdeTdeTdeTdeTdeTdeTdeTdeTdeTdhhdhicZSaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczlecydekddZddZddZddZddZddZddZddZddZddZddYdeldhldhmdVadhodUZdVcdhrdVbcTBcTAdhtdhudhvdhwdhxdhydhzdhxdhAdhvdhBdhCdhDdhEdhFdhGdhBdhHdhIdhJdhKdhLcZSaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaczldhkddYddZddZddZddZddZddZddZddZddZddZddYdhMdYPdhmdhOdhPdhQdhRdVddhTdhUdhVdhWdhudhxdhYdibdhZdiadicdizdhxdhBdiddiedifdigdihdhBdiidijdikdildimcZSaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaafaafaafcUrdhkddrddrdindiodipddrddrddrddrddrddrddrddrddrddrdVfdVedisdVgdhrdiudivcVWdiwdixdiydiBdiAdhydhydjRdiCdhxdiDdiEdiFdiGdiHdiIdhBdiJdiKdikdiLdimcZSaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacUrdhkcvwdiMdiNdiMdiOdiMdiPdiQdiRdiQdiSdiTdiUdiVdiMdiWdhadhadhadhadiXdfkcUKdiYdixdiZdjadiZdhydjbdiZdjcdjddjedjfdjfdjgdjfdjhdhBdjidjjdjkdjldjmcZSaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacUrdhkctTdiMdjndjodjpdjqdiPdjrdiRdjsdiSdjtdjsdjsdjudjsdjsdiQdjsdjvdbKdfkcUKdjwdhudhxdhYdibdhydhydicdizdjxdhBdiDdiDeczdiDdiDdhBdixdixdixdhhdjzdjAdjAdjAaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrdjBdjCdiMdjDdjEdjFdjsdjGdjHdjIdjJdjIdjKdjLdjMdjNdjLdjOdjLdjLdjPdhTdhUdhVdjQdhudiZdjUdjSdjTdjTdnhdjVdjWdjXdjYdjYdjZdkadkbdkcdkddkbdkbdkedkfdkgdkhdkiaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrdkjdkkdkldkmdknecAdkpdkqdkrdksdktdkudkvdjsdjsdjsdkwdiMdkxdiMdiMdiMdkycZydkzdixdkAdkBdkCdkDdkEdkFdkGdkHdkIdkJdkHdkKdkLdkMdkNdkOdkNdkNdkPdkQdkRdkSdkiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacFpcGIcFpcGJcGKcGLcDHcGMcGBcLFcFscGPcGQcGRcGScGTcFucGUcGVcFxcDUcGWcGXcGYcGZcHacDUcHbcHccHdcHecHfcHgcHgcHhcHicHjcHkcHlcHmcHncHocEjcHpcHqcHrcHscEjcHtcHuecZedacHwcHxcoVaaaaaaaaaaaaaaactUctUcHycHzcHycHAcHBcHCcHDcHDcHEcslcskcslcHEcHFcHFcHGcHHcHIcHJcHKcHJcgwcgwaaaaaaaaaaaaaaacpkcHLcHMcGjcHNcHOcHPcHQcHRcHScHTcHUcHVcHWcHXcHYcHZcIacHUcIbcIccIdcIecIfcIgcIhcIicIjcIkcIlcImcIncIocIpcIqcIrcIsecmcIucIvcIwcIxcIycIzcIAcAmcAmcIBcAmcAsaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaagaafaafaafaagaadaadaadaadaadaadaagaaaaaaaaacFpcICcIDcIEcGKcIFcIGcIHcGNcKtcIJcIKcGQcGRcGScGTcGTcILcIMcFxcDUcINcIOcIPcIQcIRcIScITcIUcIVcIWcIXcIVcIVcIYcIZcJacJbcJccITcJdcJecJfcJgcJhcJicJjcJkcHtcHuedbedccBbcJlcoVaaaaaaaaaaabaaaaaactUctUcqpcJmcJncJocJpcHDcsicJqcslcskcslcJrczBcHFcJscJtcJucJvchZcgwcgwaaaaaaaabaaaaaaaaacpkcJwecncGjcGkcJycJzcJAcJBcJCcJDcJEcJFcJGcJHcJIcJJcJIcJEcJKcJLcJMcJNcJOcJPcJQcJRcJScJTcJUcJVcJWcJXcJYdUUcKacJXcKbcJXcKccJXcKdcKecKfcKgcKhcKicKjcKkcKlaaaaaaaabaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacDHcKmcKncKocGKcKpcDHcKqcKrcGOcKscKtcKucKtcKucKvcKwcKxcIMcIMcDUcKycKzcKzcKAcKBcKCcHgcKDcHgcKEcHgcHgcHgcKDcKFcKGcKGcKGcKGcKGcKGcKHcKIcKJcKKcKLcEjcHtcHueddedecKNcKNcKNcKNcKNaaaaaaaaaaaaaaaaaacqpcqpctUctUctUcqpcqpcqpcKOcKPcKQcqpchZchZcgwcgwcgwchZchZaaaaaaaaaaaaaaaaaacKRcKRcKRcKRcKScKTcKTcIIcKVcKTcKWcKXcKYcKXcKZcLacLbcLccLdcLccLbcLbcLbcLecLfcLgcLbcLhcLicLjcLkcLjcLhcLhcLlcLmcLncLmcLlcAjcLocLpcLqcLrcAjcLscLtcLucLvcLwcLxcLyaaaaaaaaaaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafcLzcLAcDHcLBcLCcLDcDHcKqcLEcLFcLGcLHcLIcLJcLKcLLcGTcLMcIMcIMcDUcLNcLOcKzcLPcLQcDUcLRcLScHgecoecpecpecpcLScLVcKGcLWcLWcLWcLWcLWcLXcLYcLYcLZcLYcoVcoVcoVedbedccKNcMacMbcMccKNcKNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactUcMdcMecMfcMgcMhctUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKRcKRcMicMjcKRcMkcKVcMlcMmcMncKTcMocMpcMqcMrcMscKZcMtcMucMvcMwcMxcLbcMycMzcMAcMBcMCcLhcMDcMEcMFcMGcMHcMIcMJcMKcMLcMMcMNcMOcMOcMOcMOcMOcMOcMPcMQcMRcMScMTcMUcMVaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaacMWcDHcFpcFpcDHcDHcMXcMYcMYcMXcMZcNacMXcMXcLLcGTcIMcIMcIMcDUcNbcNccNdcNecNfcDUcNgcHgcHgcNhcNicHgcHgcHgcNjcNkcLWcLWcLWcLWcLWcLXcNlcNmcNncLYcCwcQkcoVcTDedgcNrcNscNscNtcNucKNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactUcNvcNwcNxcNycNzctUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKRcNAcNBcNCcKRcNDcKVcNEcNFcNGcKTcNHcNIcNJcNKcNLcNMcNNcNOcNPcNQcNRcLccNScNTcNUcNVcNWcNXcNYcNZcOacObcOccLhcOdcOecOfcOgcOhcMOcOicOjcOkcPucMOcOmcOncLucOocOpcOqcLyaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacMXcOrcOscOtcMXcLLcGTcIMcIMcIMcDUcDUcDUcDUcDUcDUcDUcOucOvcHgcHgcOwcOwcOwcHgcOxcOycLWcLWcLWcLWcLWcLXcOzcOAdUVcLYcOCcBbcODedhedicKNcPVcOHcOIcOJcKNcoVcoVcoVcoVczlczlczlcoVcoVcoVcoVcoVcOKcOLcMfcOMcOKcpkcpkcpkcpkcpkczCczCczCcpkcpkcpkcpkcKRcONcOOcOPcKRecqcKVcORcOScOTcKTcOUcOVcOWcOXcOYcKZcOZcPacPbcPccPdcLfcNScNTcPecPfcPgcPhcPicPjcPkcPlcPmcLhcPncPocPpcPqcPrcMOcPscPtcPtcSLcMOcPvcPwcPxcPycPzcPAcKlaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacMXcPBcPCcPDcMXcLLcGTcGTcPEcIMcFucFucIMcIMcIMcPFcGTcEacPGcEacEacPHcPIcPJcPKcPLcPMcLWcLWcLWcLWcLWcLXcPNcPOcPPcLYcPQcPRcoVcPScPTcKNcKNcKNcKNcKNcKNcPWcHwcHwcQacQacPYcQacQacQacQacQacQacQbcQccQdcQecQfcQgcQgcQgcQgcQgcQgcTHcTDcpkcQjcSpcQlcKRcQmcOOcQncKRcQocKVcKVcQpcKVcKTcQqcQrcQscQtcQucKXcQvcQwcQxcQycPdcLccNScQzcQAcQBcQCcQDcQEcQFcQGcQHcQIcLhcLlcLlcLlcLlcLlcMOcPscQJcQKcSLcMOcQLcQMcKlcKlcKlcKlcKlaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaafaaaaaaaaaaaacMXcQNcQNcMXcMXcLLcIMcGTcGTcFucFucGTcGTcGTcGTcGTcGTcQOcQOcQOcEacEacEacEacQPcQQcKGcLWcLWcLWcLWcLWcLXcLYcKUcLYcLYcoVcoVcoVcQScQTcQUcHwcQVcQWcQXcHwcHxcBbcBbcBbcBbcQYcQZcAYcPUcPUcRdcRecoVcRfcRgcRhcpkcRicRjcRicRkcRlcRmcWccURedmedpedpedocKRcKRcRpcKRcKRcQocpkcGjcRqcRrcLacRscRtcRucRvcRwcKZcRxcRycRzcRAcRBcLbcRCcRDcREcRFcRGcRHcRIcRJcRKcRLcRMcRNcROcRPcRQcRRcRScMOcRTcRUcPtcRVcMOcRWcRXcpwaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaadaadaaaaaaaaacMXcRYcRZcSacMXcSbcKvecscSdcSecSfcSgcShcIMcSicIMcSjcSkcSkcSkcSlcSmcSmcEacEacEacKGcKGcKGcKGcKGcKGcKGcQOcSncQOcGTcSocGTdTdcBbcFUcBbcSqcSrcPScCwcBbcSucSvcSwcSucSucSucSucSucSucSucSucSucSucSxcSycSzcSAcSAcSAcSAcSAcSAcSAcWfcWeedrdeOedvedtcSFcSGcSHcSDcSDcSIcSJcSKcVacSMcLacLacLacLacLacLacLacSNcLbcLbcLbcSOcLbcSPcSQcSRcSScSPcLhcSTcLhcLhcLhcMIcSUcSVcSWcSXcSYcSZcTacPtcTbcTccTdcTecTfcTgcpwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfGaafaafaafaafaaaaaaaaacMXcMXcSbcKucKucKucThcTicTicTicTjcTicTicTicTkcKucKucKucKucThcKucKucKucKucKucKucKucKucTlcTmcTncTocTpcKucTqcTrcTscTtcTJcTJcTJcTJcTJcVYcSucTvcTwcRbcRacSucStcTxcUCcRccSscTEcSucTzcTAcXacSAcTCcYrcUucTIcTGcYscSAcUvcsFcpkcpkcpkcpkcpkcpkcpkcpkcpkcTKcTLcsFcTMcTNcTOcTPcTQcTQcTRcTScTTcTUcTVcTWcTXcSRcTYcTZcUacUbcUccSRcUdcTWcTVcTUcUecSUcUfcUgcUhcUicUjcMOcUkcUlcUmcUncUocUpcUqcpwaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaacMXcMXcMYcMYcMYcMXcMXcMXcMYcMYcMYcMXcMXcMXcMXcMXcMXcMXcMXcIMcIMcIMecucIMcIMcIMcIMcIMcIMcIMcMXcMXcMXcMXcUredwcUtcTJcUycUwcUxcUYcUZcSucUzcTwcUDcUAcUBcUGcUHcUEcUFcUIcUScSucUJcUKcULcUMcUNcUOcUPcUTcUPcYxcSAcUvcYvcpkcUUcsFcsFcpkcUXcTycsFcsFcsFcTLcVbcVccVdcVecVfcVgcVhcGjcTScVicUacVjcVkcVlcSRcVmcVncVocVpcVqcSRcVrcVkcVjcUacVscSUcSUcSUcSUcVtcSUcMOcMOcMOcMOcMOcMOcVucVvcVwaafaafaafabcaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacMXcMXcVxcVycVzcVAcVBcVCcVDcVEcVFcMXcMXaaaaaaaaaczldfqcVHcVKcVIcVIcVJcVNcVOcSucVLcVQcVRcVPcSucVTcVUcVScVMcWacUVcSucVVcVWcVXcSAcXjcWbcWdcUQcYBcZFcSAcZwddrddrddrddrddrddrddrddrddrcsEcsFcTLcWlcWmcWmcWlcWncWocWpcWqcWrcWscWtcWucWvcWwcWxcWycWzcWAcWycWycWxcWAcWBcWCcWycWDcWEcQRcWGcWHcWIcWJcWKcWLcWMcWNcWOcWPcWQcWRcWSaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaagaadaadaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaacMXcMXcMXcMYcMYcMYcMYcMYcMXcMXcMXaaaaaaaaaaaaczledycWUcTJcUWcWgcVZcWicXtcSucSucSucSucSucWjcWVcWXcWYcWZcWZcYlcSucXhcUKcXicSAcSAcXbcXkcZIcXmcSAcSAdeacXcddscXgcXecXfcXecXocXlcXnddrcpkcYKcXycXzcXAcXBecLecLecvcGjcTScXEcXFcXGcXHcXIcXJcXKcXLcXMcXNcXKcXOcXPcXQcXRcXScXTcXUcWFcXWcXXcXYcXZecwcYbcYccYdcYecYfcYgcYhcYiaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaabaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacUrcVGcXrcTJcTJcTJcTJcXucTJcTJcXscXxcYjcXvcXwcYncYocYkcYmcYpcYqddAcYucUKddzdUXdUYecrcYydYPcYtcYAectcXdcYzcYzcYDcYzcYCcYGcYzcYEcYFcYHcqMcWkcYLcYMcYNcYOcTRczCczCcTRcTScTScYPcYQcYRcYScYRcSPcYTcYUcYVcSPcYWcYXcYYcYZcYYcZacZbcZbcZbcZccZdcZccZecZfcZgcZfcZhcZicZjcZicWSaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaagaadaadabcaagaagaadaadaadaadaafaaeaaaaafaagaadaadaadaadaadaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacUrcUscZkcZncTJcYIcZPcZmcYJcWhcZlcZqcZrcYmcZpcZtcZucZscYqcZvcYqddAcZxcZycZzecxcZAcZDcZEcZBcZCcZHecAecycZGcZNcZOcZJcZMdardascZQdaqddrdbYdatcZScZTcZTcTRaaaaaaaafaaaaaaaaacYPcZUcZVcZWcZXcZYcZYcZZcZYcZYdaadabdacdaddaedafdagdahcZbdaidajdakcZedaldamdancZhcWScYicWScVwaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacUrdaodapdawdaxdaudavdaAdavdaydazdaGdaHdaBdaCdaKdaLdaIdaJdaNdaOdfUdaDdaEdaFdkkdaQdaTdaUdaRdaScSAdbvddrddYddYddYdfbddYddYdfbddYddYddrddrcZRcZSdaWdaXdaYaaaaaaaafaaaaaaaaacYPdaZdbadbbdbcdbddbedbfdbgdbhdbidbjdbkdblcYYdbmdbndbocZbdbpdbqdbrcZedbsdbtdbucZhaaaaaaaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafabcaagaadaafaaaaaaaaaaadaadaadaaaaaaaaaaaaaaacUrdbwdbxdbzcTJdbyddFdbBdbCdbAcZKdbDdbEcYmcZpdbGdbHcYqdbFdbJcYqdkmdbKcUKcULdlcdbMdbPdbQcZodbOdbRdbSddYddZddZddZddZddZddZddZddZddZddZddYcZRdaVaaaaaaaaaaaaaaaaafaaaaaaaaacYPdcadcbdccdcddbddcedcfdcgdbhdchdcidcjdckcYYdcldcmdcncZbdcodcpdcqcZedcrdcsdctcZhaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaacUrdcudbTdbWcTJdbNcZKdbUdcVdbXcZKdbDdcvcYmcZpdczdcAdcwdcxdcCdcDdcBdcKdcLdcMcSAdcEdcHdcIdbZdcGdcJdcNddYddZddZddZddZddZddZddZddZddZddZdcOdcZdaVaaaaaaaaaaaaaaaaafaaaaaaaaacYPddaddbddcddddbdddeddfdcgdbhddgddhddiddjcYWddkddkddkddkddlddmddlddnddoddpddocZhaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaafaafaafaafcUrddXdcPdcRcTJdcFdbVdcQdcTcZlcZKcZqdcWcYmcZpdcYddtcYqdcXdduddvddAddycUKddzddwdbQddBddCdcUddBddDddEddYddZddZddZddZddZddZddZddZddZddZddYdcZdaVaaaaaaaaaaaaaaaaafaafaafaafcYPcYPddNddOddPddQddRddSddTddQddUddVddWcYWcYWaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaacUrddXddGecMcTJddxddJddHddIddKddLcTJdebcYqcZpcYqcYqcYqcYqcYqcYqddAddycUKdeeddwdecddBdegddMdefdeidejdehddZddZddZddZddZddZddZddZddZddZdhmdcZcZSaaaaaaaaaaaaaadaagaaaaaaaaaaafcYPcYPcYPcYPddQddQddQddQddQcYWcYWcYWcYWaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrddqcoVcoVcTJdekcZKcZKcZKcZldeldjFdemdemdendbHderdepdeqdeudevcYwdescVWdetcSAdewdexdeycTucTucTudezcTuddZddZddZddZddZddZddZddZddZddZdeAdcZdaVaaaaaaaaaaagaadaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaaacUrddXdeBcAYcTJcZLdeCdeFdeddeDdeEcXpdeIcYqdeHdeKcYwdeJddAddAdeLcYwdeQcUKdnzdeMcSAdlcdmdcTudeNcTudePcTuddZddZddZddZddZddZddZddZddZddZddYdcZdaVaaaaafaafaadaaaaabaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaafaadaadaadaafaaeaagaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafczlddXdeRdeTdeTdeUdeUdeUdeTdeSdeZdeTdeTcYqcZpdeVcYwdffdfgdfgdeXdfideWcUKdfkdfkdeYdfadfccTucWWcTudfdcTuddZddZddZddZddZddZddZddZddZddZdhmdhicZSaaaaaaaaaaadaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaaaaaaafaaaaadaadaafaadaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaczlddXcBbdhXdfhdfxdfedfxdfmdfjdfldfodeUcYqdfndfpdFLdfHdfIdfJdfKdfLdfMcZydfNcULdfsdfudfvcTudftdfwdfycTuddZddZddZddZddZddZddZddZddZddZddYdcZdaVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaadaagaaaaadaadaadaagaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaczldfzdfAdfDdfEdfBdfCdfBdfBdfFdfGdfPdfRdfOdfOdfTdHddgfdggdghcULcSzdgidfXdfYdfVdfWdgcdgddgadgbdgedgjcTuddZddZddZddZddZddZddZddZddZddZdcOdcZdaVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafcUrddXcBbdeTdgldfQdgkdgodgqdgmdgndgtdeUdgrdgsdgvcYwdgudgFdhNdXTdfidgIcTAdgJdfkdeYdgxdgycTudgwdgzdgjcTuddZddZddZddZddZddZddZddZddZddZddYdcZdaVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaczlddXdgAdeTdgCdfQdgBdgHdgKdgDdfQdgLdeTdeTdeTdeTdhadhbdhadhadhadfidhcdhddhedfidfidgMdficTucTucTudgNcTuddrddrddrddrddrddrddrdindiodipddrdcZcZSaaaaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaczldgOcvwdeTdgQdfQdgPdfSdfQdgRdfQdgTdgUdeTdeGdgVdVadhodUZdVcdhrdVbcTBcTAdhtdhudhvdhwdhxdhydhzdhxdhAdhvdhBdhCdhDdhEdhFdhGdhBdgWdgXdgYdhhdcZcZSaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaczldhkctTdeTdhgdgZdgZdhldgZdgZdgZdhIdgUdeTdgSdgVdhOdhPdhQdhRdVddhTdhUdhVdhWdhudhxdhYdibdhZdiadicdizdhxdhBdiddiedifdigdihdhBdhHdhJdhLdhMdhKcZSaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaafaafaafaafcUrdhkcoVdeTdeTdijdeTdeTdeTdeTdhfdeTdeTdeTdeTdeTdVfdVedisdVgdhrdiudivcVWdiwdixdiydiBdiAdhydhydjRdiCdhxdiDdiEdiFdiGdiHdiIdhBdiidildikdiLdimcZSaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacUrcUrdhkdiMdiJdjsdiQdiMdiPdiQdiRdiQdiSdiTdiUdiVdiMdiWdhadhadhadhadiXdfkcUKdiYdixdiZdjadiZdhydjbdiZdjcdjddjedjfdjfdjgdjfdjhdhBdiKdiNdjkdjldjmcZSaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacUrcBbdhkdiMdjsdjsdjsdjqdiPdjrdiRdjsdiSdjtdjsdjsdjudjsdjsdiQdjsdjvdbKdfkcUKdjwdhudhxdhYdibdhydhydicdizdjxdhBdiDdiDeczdiDdiDdhBdixdixdixdhhdjzdjAdjAdjAaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcBbdiOdiMdjidjEdjEdjsdjGdjHdjIdjJdjIdjKdjLdjMdjNdjLdjOdjLdjLdjPdhTdhUdhVdjQdhudiZdjUdjSdjTdjTdnhdjVdjWdjXdjYdjYdjZdkadkbdkcdkddkbdkbdkedkfdkgdkhdkiaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrdjndjjdkldlDdkndjodkpdkqdkrdksdktdkudkvdjsdjsdjsdkwdiMdkxdiMdiMdiMdkycZydkzdixdkAdkBdkCdkDdkEdkFdkGdkHdkIdkJdkHdkKdkLdkMdkNdkOdkNdkNdkPdkQdkRdkSdkiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> d974caf... Merge pull request #6457 from Woodratt/09162019_BarKitchenOverhaul -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrdkTdkUdiMdkVdkWdkXdjsdkYdjsdjsdkZdjsdkvdladlbdlzdlddkxdledlfdlgdiMdlhcUKdlidixdhudhudixdljdlkdixdlldhudixdixdlmdixdlndixdlodlpdlqdhxdlrdhxdlsdixdjAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcAYdltdiMdludjsdlvdjsdkYdlwdlxdlydmpdlAdlBdlCdlDdlDdlEdlFdlGdlHdiMdfkdlIdlJdlKdlLdlMdlNdlOdlPdlQdlRddzdlSdixdlTdlUdlVdixdlWdlWdlXdlYdlZdhxdmadjpdjBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrdmediMdiMdmfdmgdmhdkYdmidlxdmjdmpdmkdmldmjdmmdmndkxdmodYrdmqdiMdmrdmsdmtdmudmvdmwdmxdmydmzdmAdmBdmCdmDdixdixdixdixdixdixdixdixdixdmEdmFdmFdmFdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHecHdmKdmLdmMdiMdmNdmOdmOdmPdmQdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdmRdmSdcLdmTdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmVdmWdmVdmXdmYdmZdnadmVdnbdncdVtdpRdmGaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHdjFdmKdmLdmMdiMdmNdmOdmOdmPdmQdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdmRdmSdcLdmTdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmVdmWdmVdmXdmYdmZdnadmVdnbdncdVtdpRdmGaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> d974caf... Merge pull request #6457 from Woodratt/09162019_BarKitchenOverhaul -======= -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHdkjdmKdmLdmMdiMdmNdmOdmOdmPdmQdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdmRdmSdcLdmTdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmVdmWdmVdmXdmYdmZdnadmVdnbdncdVtdpRdmGaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> a54c9d5... Merge pull request #6581 from Shadow-Quill/Emergency-Shutter-Fixx -======= -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrdmediMdiMdmfdmgdmhdkYdmidlxdmjdmpdmkdmldmjdkjdmndkxdmodYrdmqdiMdmrdmsdmtdmudmvdmwdmxdmydmzdmAdmBdmCdmDdixdixdixdixdixdixdixdixdixdmEdmFdmFdmFdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHdmmdmKdmLdmMdiMdmNdmOdmOdmPdmQdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdiMdmRdmSdcLdmTdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmUdmVdmWdmVdmXdmYdmZdnadmVdnbdncdVtdpRdmGaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> 18199a5... Adds book cart to library (#6645) -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdrgdrgdrgdnidnidmKdnjdnkdnkdnldnkdnmdnndnodnpdnqdnrdnsdntdnudnvdnwdnxdnydnzdnAdnBdfkcUKdVAdmUdnDdnEdnFdnGdnHdnIdmUdnJdnKdmUdmXdmXdmXdmXdmXdmXdmXdmXdnLdnMecBdqCdnfaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmIdnPdnQdnRdnRdnSdmIdnTdnUdnVdnWdnXdnYdnZdoadobdocdoddoedofdogdohdoidojdokdoldomdomdomdondoodopdmUdmUdmUdoqdordosdotdoudovdowdmUdoxdoydozdoAdoBdoCdoDdmXdnbdnMdnMdrfdnfaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdoGdoHdoHdoIdoJdmcdoLdoMdoNdoOdoPdoQdoRdoPdoPdoOdoSdoTdoUdoVdoWdoXdoYdoZdpadpbdoYdfkdpcdpddmUdpedpfdpgdphdpidpjdmUdpkdnKdmUdpldpmdpndpodppdpqdprdmXdnbdpsdnMdrMdnfaafaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdptdoHdoHdoIdoJdmcdoLdpudpvdoOdpwdpxdpydpzdpAdoOdpBdpBdpCdpBdpDdpEdpFdpGdpFdpHdpIdpJdpcdpKdmUdmUdmUdmUdpLdmUdmUdmUdmUdmUdmUdpMdpmdpndpNdpOdpmdpPdmXdpQdnMdmGdmGdmGdmGaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmIdpSdoKdpTdpTdnSdmIdmKdpVdpudpWdoPdpXdpYdpZdpXdpXdqadqbdqcdqddqcdqedpEdqfdqgdqhdpFdqidfkdpcdqjdqkdqldqmdqndqodqpdqqdqrdqsdqtdqudqvdqvdqvdqwdqxdqxdqydqzdqAdqBdmFdnddnednfaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdqDdqDdqDdnidnidmKdqEdpudqFdoPdqGdqHdqIdqJdqKdoOdqLdqMdqNdqcdqOdpEdqPdqQdqRdpFdqidfkdqSdqjdqkdqldqTdqUdqUdqVdqWdqUdqXdqUdqYdqZdradrbdqYdqUdrcdqUdmXdrddrednNdnMdnOdnfaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -<<<<<<< HEAD -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHecIdmKdrhdridrjdoOdrkdrldrmdrndrodoOdrpdrqdrrdqcdrsdpEdrtdrudrvdrwdrxdfkdrydrzdrAdrBdrCdrDdrEdqUdqWdrFdrGdrGdrHdrGdrIdrIdrJdrIdrIdmXdmXdrKdrLdmFdoEdoFdnfaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHdkjdmKdrhdridrjdoOdrkdrldrmdrndrodoOdrpdrqdrrdqcdrsdpEdrtdrudrvdrwdrxdfkdrydrzdrAdrBdrCdrDdrEdqUdqWdrFdrGdrGdrHdrGdrIdrIdrJdrIdrIdmXdmXdrKdrLdmFdoEdoFdnfaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> d974caf... Merge pull request #6457 from Woodratt/09162019_BarKitchenOverhaul -======= -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHdoKdmKdrhdridrjdoOdrkdrldrmdrndrodoOdrpdrqdrrdqcdrsdpEdrtdrudrvdrwdrxdfkdrydrzdrAdrBdrCdrDdrEdqUdqWdrFdrGdrGdrHdrGdrIdrIdrJdrIdrIdmXdmXdrKdrLdmFdoEdoFdnfaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> a54c9d5... Merge pull request #6581 from Shadow-Quill/Emergency-Shutter-Fixx -======= -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHdpUdmKdrhdridrjdoOdrkdrldrmdrndrodoOdrpdrqdrrdqcdrsdpEdrtdrudrvdrwdrxdfkdrydrzdrAdrBdrCdrDdrEdqUdqWdrFdrGdrGdrHdrGdrIdrIdrJdrIdrIdmXdmXdrKdrLdmFdoEdoFdnfaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> 95e3373... Merge pull request #6613 from Shadow-Quill/Whyy -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmKdmKdmKdmKdmKdmKdmKdrNdrOdpWdoPdrPdrQdrRdrSdrTdoOdrUdqcdrVdrWdrXdpEdrYdrZdsadpFdqidfkcUKdsbdscdsddqTdsedsfdqUdqWdsgdrGdshdsidsjdrIdskdsldsmdrIdsndmXdsodspdmFdmFdmGdmGaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmKdsqdsrdqFdoPdssdpxdssdstdsudoOdsvdqcdswdqcdsxdpEdsydszdsAdpFdsBdsCcTAdsDdscdsEdsFdsGdsHdqUdsIdsJdrGdsKdsLdsMdrIdsNdsOdsPdrIdsQdmXdsRdsSdmGaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTaaaaaaaaaaaaaaaaaadmKdsUdsVdoXdoOdsWdsXdsYdssdsZdtadtbdtcdtddtcdtedpEdpEdpEdpEdtfdtgdthdtidtjdtgdtkdtldtmdsHdtndqUdsJdrGdtodtpdtqdrIdtrdtsdttdrIdsndmXdtudtvdmGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaadtgdtgdtwdtxdtydoOdoOdoPdoPdoPdoOdoOdtzdpBdpBdpBdtzdtAdtBdtCdtydtDdtCdtxdtEdtwdtFdtgdtAdtGdtGdtGdtGdtAdrGdrGdrGdrGdrIdrIdrIdrIdrIdmXdmXdtHdtIdtgdtgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaadaadaaaaaaaaacMXcRYcRZcSacMXcSbcKvecscSdcSecSfcSgcShcIMcSicIMcSjcSkcSkcSkcSlcSmcSmcEacEacEacKGcKGcKGcKGcKGcKGcKGcQOcSncQOcGTcSocGTdTdcBbcFUcBbcSqcSrcPScNocBbcSucSvcSwcSucSucSucSucSucSucSucSucSucSucSxcSycSzcSAcSAcSAcSKcSAcSAcSAcTCcWeedrdeOedvedtcSFcSGcSHcSDcSDcSIcSJcTucTycSMcLacLacLacLacLacLacLacSNcLbcLbcLbcSOcLbcSPcSQcSRcSScSPcLhcSTcLhcLhcLhcMIcSUcSVcSWcSXcSYcSZcTacPtcTbcTccTdcTecTfcTgcpwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaacMXcPBcPCcPDcMXcLLcGTcGTcPEcIMcFucFucIMcIMcIMcPFcGTcEacPGcEacEacPHcPIcPJcPKcPLcPMcLWcLWcLWcLWcLWcLXcPNcPOcPPcLYcPQcPRcoVcPScPTcKNcKNcKNcKNcKNcKNcPWcHwcHwcQacQacPYcQacQacQacQacQacQacQbcQccQdcQecQfcQgcQgcQgcQgcQgcQgcURcTHcpkcQjcSpcQlcKRcQmcOOcQncKRcQocKVcKVcQpcKVcKTcQqcQrcQscQtcQucKXcQvcQwcQxcQycPdcLccNScQzcQAcQBcQCcQDcQEcQFcQGcQHcQIcLhcLlcLlcLlcLlcLlcMOcPscQJcQKcSLcMOcQLcQMcKlcKlcKlcKlcKlaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaafaaaaaaaaaaaacMXcQNcQNcMXcMXcLLcIMcGTcGTcFucFucGTcGTcGTcGTcGTcGTcQOcQOcQOcEacEacEacEacQPcQQcKGcLWcLWcLWcLWcLWcLXcLYcKUcLYcLYcoVcoVcoVcQScQTcQUcHwcQVcQWcQXcHwcHxcBbcBbcBbcBbcQYcQZcAYcPUcPUcRdcRecoVcRfcRgcRhcpkcRicRjcRicRkcRlcRmcWecWcedmedpedpedocKRcKRcRpcKRcKRcQocpkcGjcRqcRrcLacRscRtcRucRvcRwcKZcRxcRycRzcRAcRBcLbcRCcRDcREcRFcRGcRHcRIcRJcRKcRLcRMcRNcROcRPcRQcRRcRScMOcRTcRUcPtcRVcMOcRWcRXcpwaaaaaaaaaaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcaadaadaaaaaaaaacMXcRYcRZcSacMXcSbcKvecscSdcSecSfcSgcShcIMcSicIMcSjcSkcSkcSkcSlcSmcSmcEacEacEacKGcKGcKGcKGcKGcKGcKGcQOcSncQOcGTcSocGTdTdcBbcFUcBbcSqcSrcPScNocBbcSucSvcSwcSucSucSucSucSucSucSucSucSucSucSxcSycSzcSAcSAcSAcSKcSAcSAcSAcSAdaMedvedredvedtcSFcSGcSHcSDcSDcSIcSJcTucTycSMcLacLacLacLacLacLacLacSNcLbcLbcLbcSOcLbcSPcSQcSRcSScSPcLhcSTcLhcLhcLhcMIcSUcSVcSWcSXcSYcSZcTacPtcTbcTccTdcTecTfcTgcpwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> ffb8292... Removes distro pressure regulators, which were choking flow (#6685) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabfGaafaafaafaafaaaaaaaaacMXcMXcSbcKucKucKucThcTicTicTicTjcTicTicTicTkcKucKucKucKucThcKucKucKucKucKucKucKucKucTlcTmcTncTocTpcKucTqcTrcTscTtcTJcTJcTJcTJcTJcVYcSucTvcTwcRbcRacSucStcTxcUCcRccSscTEcSucTzcTAcXacSAcTGcTIcUucUvcUvcUMcSAcUNcSAcpkcpkcpkcpkcpkcpkcpkcpkcpkcTKcsFcTLcTMcTNcTOcTPcTQcTQcTRcTScTTcTUcTVcTWcTXcSRcTYcTZcUacUbcUccSRcUdcTWcTVcTUcUecSUcUfcUgcUhcUicUjcMOcUkcUlcUmcUncUocUpcUqcpwaaaaaaaaaabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaafaaaaaaaaaaaacMXcMXcMYcMYcMYcMXcMXcMXcMYcMYcMYcMXcMXcMXcMXcMXcMXcMXcMXcIMcIMcIMecucIMcIMcIMcIMcIMcIMcIMcMXcMXcMXcMXcUrdaPcUtcTJcUycUwcUxcUYcUZcSucUzcTwcUDcUAcUBcUGcUHcUEcUFcUIcUScSucUJcUKdfkcSAcSAcSAcUOcUPcUQcUTcSAcUUcUXcVacVbcVccWdcWfcWkcWncWocpkcpkcpkcTLcVfcVhcVdcVecVgcWbcGjcTScVicUacVjcVkcVlcSRcVmcVncVocVpcVqcSRcVrcVkcVjcUacVscSUcSUcSUcSUcVtcSUcMOcMOcMOcMOcMOcMOcVucVvcVwaafaafaafabcaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaacMXcMXcVxcVycVzcVAcVBcVCcVDcVEcVFcMXcMXaaaaaaaaaczledbcVHcVKcVIcVIcVJcVNcVOcSucVLcVQcVRcVPcSucVTcVUcVScVMcWacUVcSucVVcVWcVXcSAcWpcWqcWrcWWcXbcXccXdcXecXfcVacXgcXjcYrcWfcYscYtcYvcpkcXkcpkcTLcWlcWmcWmcWlcXlcXmcXncXocWscWtcWucWvcWwcWxcWycWzcWAcWycWycWxcWAcWBcWCcWycWDcWEcQRcWGcWHcWIcWJcWKcWLcWMcWNcWOcWPcWQcWRcWSaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11806,7 +11449,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafcUrddXcBbdeTdgldfQdgkdgodgqdgmdgndhPdeUcYqcYqdhQcYwdhRdhZdiadiidfidgIcTAdgJdeYdhmdgwcYGdhIcYGcYGdfNdhKdeMddZddZddZddZddZddZddZddZddZddZdeMdcEdnfaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaczlddXdgAdeTdgCdfQdgBdgHdgKdgDdfQdiodeTdiSdiSdiMdiMdiMdiMdiMdiMdiMdhcdhddhedfidhMdgwdhNdhOdikdildimdindeMddZddZddZddZddZddZddZddZddZddZdfsdcEdnfaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaczldgOcvwdeTdgQdfQdgPdfSdfQdgRdfQdiPdeTdjsdjsdiTdjwdiVdiMdiWdlIdiMcTBcTAdiXdixdisdiudiwdiJdiKdiLdiNdjedeMddZddZddZddZddZddZddZddZddZddZdeMdcEdnfaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaczldhkctTdeTdhgdgZdgZdgZdjtdgZdgZdjvdeTdjsdjsdjBdjsdjEdjGdjHdjIdiMdhUdhVdhWdixdhudhudixdljdlkdixdlldhucYHcYHcYHcYHcYHcYHcYHdjfdjgdjhcYHcYHdcEdmGaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaczldhkctTdeTdhgdgZdgZdgZdjtdgZdgZdjvdeTdjsdjsdjBdjsdjEdjGdjHdjIdiMdhUdhVdhWdixdhudhudixdljdlkdixdlldhucYHcYHcYHcYHcYHcYHcYHdjfdjgdjhcYHcYHdcEdmGaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjecBdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaadaafaafaafaafcUrdhkcoVdeTdijdeTdeTdeUdjOdeUdhfdeTdeTdjPdjsdjQdjSdmkdjTdjUdjVdjTdivcVWdiYdhudhvdhwdhxdkkdhydhxdhAdkndhBdhCdhDdhEdhFdhGdhBdgWdgXdgYdmFdjidjkdmGaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacUrcUrdhkdiMdktdkudlcdkwdkxdjsdjzdkAdmpdkBdjsdjsdlbdjWdkjdiMdjTdjTdiMdfkcUKdiYdhudiZdkEdkFdkkdhydkGdkIdiZdhBdiddiedifdigdihdhBdhHdhJdhLdjldjmdnMdmGaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadhjdhjdhjdhjdhjdhjdhjdhjdhjdhjdhjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacUrcBbdhkdiMdkUdkVdkWdkXdkxdjsdkYdjsdjsdjsdjsdjsdjsdkZdladjudjsdjsdkCdbKcUKdlddixdiydiBdiAdkkdhydjRdiCdhxdiDdiEdiFdiGdiHdiIdhBdjodjpdjqdjrdjJdmGdmGaaaaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11818,7 +11461,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdmHdmHdmIdmHdmHdoBdmKdmLdmMdiMdmNdmOdmOdmPdmQdiMdiMdiMdiMdiMdiMdiMdiMdiMdmOdmOdmOdmRdmSdcLdmTdnednhdnhdnxdnhdnydnDdnednednednednEdnFdnGdixdnHdnHdnIdnNdnOdhxdordosdotaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdrgdrgdrgdnidnidmKdnjdnkdnkdnldnkdnmdnndnodnpdnqdnrdnsdntdnudnvdnwdpNdpOdnzdnAdnBdfkcUKdVAdnedovdovdoCdoDdpkdoFdnedpcdpcdnedixdixdixdixdixdixdixdixdmadixdixdixdjAaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmIdnPdnQdnRdnRdnSdmIdnTdnUdnVdnWdnXdnYdnZdoadobdocdoddoedofdogdohdoidojdokdoldomdomdomdondqodopdnednednedpedpfdpgdphdpidpjdsRdnedpldpmdpndpodppdpqdprdnedpsdcGdpLdpMdpPaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdoGdoHdoHdoIdoJdmcdoLdoMdoNdoOdoPdoQdoRdoPdoPdoOdoSdoTdoUdoVdoWdoXdoYdoZdpadpbdoYdfkcUKdpddnedpQdpRdpUdqkdqldqmdnedoEdoEdnedqndqpdpqdqqdqrdqsdqtdnedqudqvdcGdqwdpPaafaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdoGdoHdoHecTdoJdmcdoLdoMdoNdoOdoPdoQdoRdoPdoPdoOdoSdoTdoUdoVdoWdoXdoYdoZdpadpbdoYdfkcUKdpddnedpQdpRdpUdqkdqldqmdnedoEdoEdnedqndqpdpqdqqdqrdqsdqtdnedqudqvdcGdqwdpPaafaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdptdoHdoHdoIdoJdmcdoLdpudpvdoOdpwdpxdpydpzdpAdoOdpBdpBdpCdpBdpDdpEdpFdpGdpFdpHdpIdpJcUKdpKdnednednednedqxdnednhdnednednednedqydqzdpqdsbdqAdpqdqtdnedqBdcGcZScZScZScZSaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmIdpSdoKdpTdpTdnSdmIdmKdpVdpudpWdoPdpXdpYdpZdpXdpXdqadqbdqcdqddqcdqedpEdqfdqgdqhdpFdqidfkcUKdqjdqCdqSdqTdqUdqVdqWdqXdqYdqZdradrbdrcdrddredrfdrydrydrydrzdrAdrBdhhdrCdrDdpPaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmHdngdqDdqDdqDdnidnidmKdqEdpudqFdoPdqGdqHdqIdqJdqKdoOdqLdqMdqNdqcdqOdpEdqPdqQdqRdpFdqidfkdsLdqjdqCdqSdrEdpqdpqdrFdrGdrGdrHdrGdrIdrJdrKdrGdrLdrGdrMdscdnedsddsedsfdcGdsgdpPaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11827,25 +11470,24 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmKdsqdsrdqFdoPdssdpxdssdstdsudoOdsvdqcdswdqcdsxdpEdsydszdsAdpFdsBdsCcTAdsDdsIdtmdtndtodsNdrGdrGdsndpqdtpdpqdpqdnhdpmdtqdttdnedtudnedtvdFLcZSaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTaaaaaaaaaaaaaaaaaadmKdsUdsVdoXdoOdsWdsXdsYdssdsZdtadtbdtcdtddtcdtedpEdpEdpEdpEdtfdtgdthdtidtjdtgdHddUXdUYdUZdVadrGdsndpqdpqdVbdVcdnhdVddVedVfdnedsSdnedVgdVtcZSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaadtgdtgdtwdtxdtydoOdoOdoPdoPdoPdoOdoOdtzdpBdpBdpBdtzdtAdtBdtCdtydtDdtCdtxdtEdtwdtFdtgdtAedledledledldtAdnednednednednednednednednednednedtHdtIdtgdtgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> 792245a... Merge pull request #6665 from Woodratt/02022020_civilianmaptweak aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaadtgdtJdtKdtLdtLdtGdtMdtNdtOdtPdtQdtPdtRdtSdtTdtUdtTdtVdtKdtLdtLdtWdtLdtXdtYdtKdtLdtWdtLdtXdtLdtZdtTdtPdtTdtSduadtUdtQdtPdubdtNdtMdtGdtLducdudduedtgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufaaaaaaaaaaaaaaadufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaadtgdugduhduidujdukdulduldumdulduldujdundulduldumduldulduodulduldukduldupduqduoduldukduldumduldulduldujduldurdusdumdulduldujdulduldukdujdutduuduvdtgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufaaaaaaaaadufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaadtgdtgduwduxduydtWduzduAduBduCduDduEduFduGduHduIduDduCduJdtgdtAdtgduKduLduMduNduOdtgdtAdtgduPduCduDduEduQduGduFduIduDduCduRduAduSdtWduyduxduTdtgdtgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaaaaaduUduVduWduUdtgdtGdtgdtgdtGduXdtGdtgdtgdtgdtGduXdtGdtgdtgaaaduYduZdvadvbdvcdvdduYaaadtgdtgdtGduXdtGdtgdtgdtgdtGduXdtGdtgdtgdtGdtgdvedvfdvgdveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaaaaaduUdvhdvidvjaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvkdvldvmdvndvkaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvodvpdvqdveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTaaaaaaaaaaaaaaaduUdvhdvidvjaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvkdvldvmdvndvkaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvodvpdvqdveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufecVdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTaaaaaaaaadvjduUdvrdvsdvtaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvudvvdvwdvxdvuaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvydvzdvAdvedvoaaaaaaaaadvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTdvCdvDdvDdvjdvEdvFdvGdvjaaaaaaaafaaaaaadvHdvHdvHdvHdvHdvHdvHaaaaaaaafaaaaaadvkdvvdvIdvJdvkaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvodvKdvLdvMdvodvNdvNdvOdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTdvPdvQdvRdvSdvTdvUdvVduUaaaaaaaafaaadvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaafaaaaaaduYdvWdvwdvXduYaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvedvYdvZdwadwbdwcdwddwedvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTecXdsTdvPdvQdvRdvSdvTdvUdvVduUaaaaaaaafaaadvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaafaaaaaaduYdvWdvwdvXduYaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaadvedvYdvZdwadwbdwcdwddwedvBecYdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTdvDdwfdVhdwhdwidwjdwkdvjaaaaaaaafaafdvHdvHdvHdvHdvHdvHdvHdvHdvHaafaafaaaaaadvkdvxdvwdvxdvkaaaaaaaafaaaaaadwldwldwldwldwlaaaaaaaaaaaaaafaaaaaadvodwmdwndwodwpdVidwrdvNdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTdsTdsTdsTdsTdsTdsTaaaaaaaaadvjdvjdwsdwtdvjaaaaaabeNaaadvHdvHdvHdvHdvHdvHdvHdvHdvHaaabeNaaaaaadvkdvxdvwdvxdvkaaaaaabeNaaadwldwldwldwldwldwldwlaaaaaaaaabeNaaaaaadvodwudwvdvodvoaaaaaaaaadvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTdsTaaaaaaaaadsTdsTdsTaaaaaaaaaaaadvjdwsdwwdvjaaaaaaaafaaadvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaafaaaaaadvkdwxdvwdvxdvkaaaaaaaafaaadwldwldwldwldwldwldwlaaaaaaaaaaafaaaaaadvodwydwvdvoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsTdsTaaaaaaaaaaaaaaadsTdsTaaaaaaaaaaaaduUdwzdwAduUaaaaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaaaaduYdwBdwCdwDduYaaaaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaaaaadvedwEdwFdveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaadwGduUduUduUduUdwHdwIdwhdwJdwKdwLdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdwMdwNdwOdwPdwQdwRdwSdvkdVjdVjdVkdwldwldwldwldwldwldwldwldwlaaaaaadVndVldVmdwXdwYdwZdvedvedvedvedxaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduUdxbdxcdxddxedxfdxgdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdxhdxidxjdxkecNdvwdxmdxndxpdxqdxIdwldwldwldwldwldwldwldwldwlaaaaaadxrdxsdxtdxudxvdxwdveaaaaaaaaaaaadxxdxxaaaaaaaaaaaaaaadxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduUdxbdxcdxddxedxfdxgdvHedfdvHdvHdvHdvHdvHdvHdvHdvHdvHdxhdxidxjdxkecNdvwdxmdxndxpdxqdxIdwledjdwldwldwldwldwldwldwlaaaaaadxrdxsdxtdxudxvdxwdveaaaaaaaaaaaadxxdxxaaaaaaaaaaaaaaadxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadufdufdufdufdufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvjdwsdxydxddxzdxAdxBdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHecOdxDdxEdxkdxFdxGdxHdxJdxKdxLdzkdwldwldwldwldwldwldwldwldwlaaaaaadxMdxNdxOdxudxPdwvdvoaaaaaaaaaaaadxxdxxdxxaaaaaaaaadxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQaaaaaaaaaaaadvjdvjdxRdxSdwhdxTdxUdvDdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdxVdxWdxXdwPdxYdxZdyadvkdvkdVjdVjdwldwldwldwldwldwldwldwldwlaaaaaadvNdVodycdyddyedyfdvodvoaaaaaaaaadxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdygdyhdVpdwhdyjdwjdwkdykduUaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaduYdyldvxdvwdvxdymduYaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaadvedyndwmdwndyodwpdVqdyqdvNdxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdyrdysdytdyudyvdvUdwtdywduUaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaduYdyxdvxdyydvxdyzduYaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaadvedyAdwudvZdyBdyCdyDdyEdyFdxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQedkdxQdyrdysdytdyudyvdvUdwtdywduUaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaduYdyxdvxdyydvxdyzduYaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaadvedyAdwudvZdyBdyCdyDdyEdyFdxxedndxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdvDdvDdvDdvjdyGdyHdyIdyJduUaaaaaadvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHaaaaaaduYdyKdvxdyLdyMdyNduYaaaaaadwldwldwldwldwldwldwldwldwlaaaaaaaaaaaadvedyOdyPdyQdyRdvodvNdvNdvOdxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadxQdxQdxQdxQdxQdxQdxQdxQdxQdxQdxQaaaaaaaaaaaadvjdvjdySdyTdwhdwJdwKdvDdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdxVdwNdwOdwPdyUdyVdyWdvkdvkdVjdVjdwldwldwldwldwldwldwldwldwlaaaaaadvNdVldVmdwXdyXdyYdvodvoaaaaaaaaadxxdxxdxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvjdwsdyZdzadzbdzcdzddvHdvHdvHdvHdvHdvHdvHdvHdvHdvHdvHecPdzfdzgdzhdxFdzidzjdzldzmdzndzDdwldwldwldwldwldwldwldwldwlaaaaaadzodzpdzqdzrdzsdwvdvoaaaaaaaaaaaaaaadxxdxxdxxdxxdxxdxxdxxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -11859,7 +11501,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwfdAEdAFdxUaaaaaaaaaaaaaaaaaadvHdvHdvHdvHdvHaaaaaaaaaaaaaaaaaadxVdAGdAHdAIdxVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAJdAKdALdwraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwGdAMdANduUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAOdxVdAPduYduYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvedAQdARdxaaaaaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATaaaaaaaaaaaadATdATdATdATdATaaaaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadASdASdASdASaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaaaaadATdATdATdATdATdATaaaaaadATdATdATdATdATdATaaaaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATaaaaaaaaaaaaaaadATdATedqdATdATdATaaaaaadATdATdATdATdATdATaaaaaaaaadAUdAUdAUdAUdAUdAUedsdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaaaaaaaaaaadASdASdASdASdASedudASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaaaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATdATaaadAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUdAUaaaaaadASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASdASaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12001,7 +11643,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBcdBddBcdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaafaaaaaaaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdAZdAZdBadAVdAVdAVdBcdBcdBcdBedBfdBgdBhdBgdBidBjdBcdBcdBcdAVdAVdAVdBadAZdAZdAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadAVaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaadAVaaaaaaaaaaaaaadaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaafdAVdAVdAVdAVdAVaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBcdBkdBldBmdBndBodBpdBqdBcdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadAVaaaaaaaaaaafdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaaaaadBraaaaaaaaaaaaaaadBraaaaaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJaaaaaaaaaaaaaaaaafaaaaafaaaaaadAVdAVdAVdAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBvdBwdBxdBydBzdBmdBAdBBdBCdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdAVdAVaaadAVaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaaaaadBrdBrdBrdBrdBrdBrdBraaaaaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJaaaaaaaaaaaaaaaaafaaaaafaaaaaadAVdAVdAVdAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdBsdBtdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAZdBadAVdAVdAVdAVdAVdBcdBcdBvdBwdBxdBydBzdBmdBAdBBdBCdBcdBcdAVdAVdAVdAVdAVdBadAZdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdBDdBEdBFdAVdAVdAVaaadAVaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaaaaadBrdBrdBrdBrdBrdBrdBraaaaaaaaadBredwdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaafaaaaaaaaaaaaaaaaafdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBadAVdAVdAVdAVdBcdBcdBcdBIdBJdBKdBLdBLdBLdCedBmdBNdBcdBcdBcdAVdAVdAVdAVdBadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaafaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBPdBcdBcdBQdBRdBSdBTdBUdBVdBWdBXdBYdBZdCadBcdBcdCbdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBraaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaadBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaadaadaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdBGdBHdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdCcdCcdCcdCcdCcdCcdAVdAVdAVdAVdAVdAVdAVdBcdBcdBcdBIdBJdBKdBLdCddBLdCedBmdBNdBcdBcdBcdAVdAVdAVdAVdAVdAVdAVdCfdCfdCfdCfdCfdCfdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdBDdBOdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12015,27 +11657,18 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEnaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdBGdEodBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdEUdEVdCcaaaaaaaaaaaadAVdAVdAVdAVdCLdAVdAVdAVdErdEWdESdEXdESdEYdESdEXdESdEZdErdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaadCfdFadFbdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdBDdExdBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaafaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBGdFcdBudAVdBGdFcdBudAVdBGdFcdBudAVdBGdFcdBudAVdBGdFcdBudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdEUdFddCcaaaaaaaaadAVdAVdAVdAVdAVdCLdAVdAVdAVdErdFedESdErdFfdFgdFhdErdFidFjdErdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadCfdFkdFbdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdBDdFldBFdAVdBDdFldBFdAVdBDdFldBFdAVdBDdFldBFdAVdBDdFldBFdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaabcaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdFmdFndFoaaaaaaaaadAVdAVdAVdAVdAVdCLdAVdAVdFpdFpdFqdFpdFpdErdFrdErdFsdFsdFtdFsdFsdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaadFudFvdFwdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaadaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdFxdFydFoaaaaaadAVdAVdAVdAVdAVdAVdCLdAVdFpdFpdFzdFAdFBdFpdFCdFDdFEdFsdFFdFGdFHdFsdFsdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadFudFIdFJdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEnedxdEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdFxdFydFoaaaaaadAVdAVdAVdAVdAVdAVdCLdAVdFpdFpdFzdFAdFBdFpdFCdFDdFEdFsdFFdFGdFHdFsdFsdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadFudFIdFJdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdFKdVudFoaaaaaadAVdAVdAVdAVdAVdAVdCLdAVdFpdFMdFNdFOdFPdFQdFRdFSdFTdFUdFVdFWdFXdFYdFsdAVdAVdAVdAVdAVdAVdAVdAVaaaaaadFudFZdGadCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdGbecCdCcaaaaaadGddGedGfdGedGgdGgdGhdGgdGgdGidGjdGkdGldFpdGmdGndGmdFsdGodGpdGqdGrdGsdGtdGudGtdGsdGvdGwdGvdGxaaaaaadCfecDdGzdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -<<<<<<< HEAD -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdGAdCldCcaaaaaadGddGBdGCdGDdGEdGFdGGdGHdGgdFpdFpdFpdGIdGJdGKdGLdGMdGNdGOdFsdFsdFsdGsdGPdGQdGRdGSdGTdGUdGVdGxaaaaaadCfdCUdGWdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdGXdGYdCcaaaaaadGddGZdHadHbdGEdHcdHddHedGgdHfdHgdHgdHhdHgdHgdHidHgdHgdHjdHgdHgdHkdGsdHldHmdHndGSdHodHpdHqdGxaaaaaadCfdHrdHsdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdCcdHtdEqdCcaaaaaadGddHudHvdHwdGEdHxdHydHzdGgdHAdHBdHCdHDdHEdHFdHGdHEdHEdHHdHIdHBdHAdGsdHJdHKdHLdGSdHMdHNdHOdGxaaaaaadCfdEvdHPdCfdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdHQdHQdHRdHSdHTdHUdHVdHWdHXdHYdHYdGddHZdIadIbdGgdIcdGEdGEdIddHAdHCdIedIedIedIedIedIedIedIedIedIfdHAdIgdIhdIidGSdGsdIjdIkdIldGxdImdImdIndIodIpdKwdIrdIsdItdIudIudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdIvdIwdIxdIydIzdIAdIBdICdIDdIEdIFdIGdIHdIIdIJdIKdILdIMdINdIOdIPdIQdIRdIedISdISdISdISdISdIedITdIUdIVdIWdIXdIYdIZdJadJbdIYdJcdJddJedJfdIWdJgdJhdJidJjdJkdJldJmdJndAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdJodIwdJpdJqdIzdJrdJsdJtdJudJvdJwdJxdJydJzdJAdJBdJCdJDdJEdJFdJGdJHdJIdIedISdISdISdISdISdIedJIdJJdJKdJLdJMdJNdJOdJPdJOdJNdJQdJRdJOdJSdJLdJTdJUdJVdJjdJWdJXdJmdJYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -======= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdGAdCldCcaaaaaadGddGBdGCdGDdGEedAedzedBdGgdFpdFpdFpdGIdGJdGKdGLdGMdGNdGOdFsdFsdFsdGsdGPdGQdGRdGSdGTdGUdGVdGxaaaaaadCfdCUdGWdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadBrdBrdBrdBrdBrdBrdBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdGXdGYdCcaaaaaadGddGZdHadHbdGEdeoedCedEdGgdHfdHgdHgdHhdHgdHgdHidHgdHgdHjdHgdHgdHkdGsdHldHmdHndGSdHodHpdHqdGxaaaaaadCfdHrdHsdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEndEndEndEndEnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdCcdCcdHtdEqdCcaaaaaadGddHudHvdHwdGEdeOdHyedGdGgdHAdHBdHCdHDdHEdHFdHGdHEdHEdHHdHIdHBdHAdGsdHJdHKdHLdGSdHMdHNdHOdGxaaaaaadCfdEvdHPdCfdCfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdHQdHQdHRdHSdHTdHUdHVdHWdHXdHYdHYdGddHZdIadIbdGgdfqdGEedIdIddHAdHCdIedIedIedIedIedIedIedIedIedIfdHAdIgdIhdIidGSdGsdIjdIkdIldGxdImdImdIndIodIpdKwdIrdIsdItdIudIudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdIvdIwdIxdIydIzdIAdIBdICdIDdIEdIFdIGdIHdIIdIJdIKedJdIMedKdIOdIPdIQdIRdIedISdISdISdISdISdIedITdIUdIVdIWdIXdIYdIZdJadJbdIYdJcdJddJedJfdIWdJgdJhdJidJjdJkdJldJmdJndAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdJodIwdJpdJqdIzdJrdJsdJtdJudJvdJwdJxdJydJzdJAdJBedLdJDedMdJFdJGdJHdJIdIedISdISdISdISdISdIedJIdJJdJKdJLdJMdJNdJOdJPdJOdJNdJQdJRdJOdJSdJLdJTdJUdJVdJjdJWdJXdJmdJYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ->>>>>>> ff94299... Merge pull request #6555 from Woodratt/11272019_Maptweaksagain aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdHQdHQdJZdKadKbdKcdKddKedIDdIEdKfdKgdKhdKidKfdKjdKkdKidKedIDdKldKmdIedIedISdISdISdISdISdIedIedKndKodIWdIXdKpdKqdKrdKsdKpdKtdKudKsdJfdIWdIXdKvdVwdKxdKydKzdIudIudAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaafaafaafaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdKAdKAdKBdKAdKCdKDdKEdKFdKGdKHdKHdKHdKHdKIdKJdKIdKKdKLdKMdKNdKOdKPdJHdKQdIedISdISdISdISdISdIedKQdJJdKRdKSdKTdKUdKVdKWdKXdKYdKZdLadImdImdIudLbdJhdLcdLddLedLfdLgdLfdLfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdLhdLidLjdLkdLldLmdLndKFdLodKHdLpdLqdLrdLrdLsdLtdKLdLudLvdLwdKKdLxdLydLzdIedISdISdISdISdISdIedLAdLBdLCdKWdLDdLEdLFdKVdLGdLHdLIdLadAVdAVdIudLJdJhdLKdLLdLMdLNdLOdLPdLQdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdLhdLidLjedDdLldLmdLndKFdLodKHdLpdLqdLrdLrdLsdLtdKLdLudLvdLwdKKdLxdLydLzdIedISdISdISdISdISdIedLAdLBdLCdKWdLDdLEdLFdKVdLGdLHdLIdLadAVdAVdIudLJdJhdLKdLLdLMedFdLOdLPdLQdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdKAdKAdKBdKAdKCdLRdLSdLTdLUdLVdKHdKHdLWdLXdLYdLZdKLdMadMbdMcdKKdMddMedIedMfdMgdMhdMidMjdIedMkdIedMldMddKWdMmdMndModKVdMpdMqecSdLadAVdAVdMsdMtdMudMvdMwdLedLfdLgdLfdLfdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdMxdMxdMxdMxdMxdMydMzdKHdMAdMBdMCdMDdMDdMEdKLdMFdMGdMHdKKdMIdMJdMKdMLdMMdMNdMNdMNdMOdMPdMQdMNdMRdKWdMSdMTdMUdKVdMVdMWdMXdLaaaaaaadMYdMZdNadMYdMYdMYdMYdMYdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaadabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaafaafaafaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdMxdNbdNcdKHdKHdKHdKHdKHdKHdKHdKKdKKdKKdKKdKKdNddNedNfdVBdNhdNhdNidNjdNkdNldNmdNndNodKWdKWdKWdKWdKWdLadLadLadLaaaaaaadMYdNpdNqdMYdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12080,7 +11713,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaafaafaafaadaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNedHdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVdAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNdUNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -12162,4 +11795,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa dUOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/southern_cross/southern_cross-3.dmm b/maps/southern_cross/southern_cross-3.dmm index 5db098cf20..1c36191fbf 100644 --- a/maps/southern_cross/southern_cross-3.dmm +++ b/maps/southern_cross/southern_cross-3.dmm @@ -1,1826 +1,3 @@ -<<<<<<< HEAD -"aa" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/plains/mountains) -"ab" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/outside/plains/mountains) -"ac" = (/turf/simulated/wall/dungeon,/area/surface/outside/path/plains) -"ad" = (/obj/effect/step_trigger/teleporter/mine/to_mining,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/plains) -"ae" = (/obj/effect/step_trigger/teleporter/mine/to_mining,/turf/simulated/floor/water{outdoors = 0},/area/surface/outside/plains/mountains) -"af" = (/turf/simulated/mineral/sif,/area/surface/outside/plains/mountains) -"ag" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/outside/plains/mountains) -"ah" = (/turf/simulated/mineral/ignore_mapgen/sif,/area/surface/outside/plains/mountains) -"ai" = (/obj/structure/cable/ender{icon_state = "1-2"; id = "surface_cave"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"aj" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/plains) -"ak" = (/turf/simulated/floor/water{outdoors = 0},/area/surface/outside/plains/mountains) -"al" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) -"am" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"an" = (/turf/simulated/wall,/area/surface/outpost/mining_main/exterior) -"ao" = (/obj/machinery/conveyor{dir = 4; id = "mining_north"},/obj/machinery/mineral/input,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/exterior) -"ap" = (/obj/machinery/mineral/unloading_machine,/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"aq" = (/obj/machinery/conveyor{dir = 2; id = "mining_north"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"ar" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 4},/obj/machinery/conveyor_switch/oneway{id = "mining_north"; name = "mining conveyor"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/exterior) -"as" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"at" = (/obj/machinery/conveyor{dir = 2; id = "mining_north"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"au" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d2 = 2; icon_state = "0-2"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"av" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"aw" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/exterior) -"ax" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/mining_main/exterior) -"ay" = (/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/exterior) -"az" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"aA" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/mountains) -"aB" = (/turf/simulated/floor/water,/area/surface/outside/plains/mountains) -"aC" = (/turf/simulated/floor/water/shoreline/corner,/area/surface/outside/ocean) -"aD" = (/turf/simulated/floor/water,/area/surface/outside/ocean) -"aE" = (/turf/simulated/floor/water/shoreline/corner{icon_state = "shorelinecorner"; dir = 1},/area/surface/outside/ocean) -"aF" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) -"aG" = (/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 8},/area/surface/outside/ocean) -"aH" = (/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 4},/area/surface/outside/ocean) -"aI" = (/obj/item/weapon/banner/nt,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/outpost) -"aJ" = (/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 6},/area/surface/outside/ocean) -"aK" = (/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 10},/area/surface/outside/ocean) -"aL" = (/turf/simulated/floor/water/shoreline,/area/surface/outside/ocean) -"aM" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/ocean) -"aN" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/storage) -"aO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage) -"aP" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main) -"aQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main) -"aR" = (/obj/structure/closet/crate,/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aS" = (/obj/structure/closet/crate,/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aT" = (/obj/structure/table/steel,/obj/item/weapon/pickaxe,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Storage Room"; dir = 2},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aU" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aV" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/effect/floor_decal/corner/brown/full{dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"aW" = (/obj/structure/table/steel,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/pickaxe,/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/item/device/gps/mining,/obj/item/device/gps/mining,/obj/item/device/gps/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"aX" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/table/steel,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/wrench,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"aY" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/table/steel,/obj/item/stack/flag/green{pixel_x = -4; pixel_y = 0},/obj/item/stack/flag/red,/obj/item/stack/flag/yellow{pixel_x = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"aZ" = (/obj/structure/closet/secure_closet/miner,/obj/item/clothing/shoes/boots/winter/mining,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/effect/floor_decal/corner/brown{dir = 5},/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ba" = (/obj/structure/table/steel,/obj/item/weapon/mining_scanner,/obj/item/weapon/mining_scanner,/obj/item/weapon/mining_scanner,/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bb" = (/obj/effect/floor_decal/corner/brown/full{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bc" = (/obj/effect/floor_decal/corner/brown/full{dir = 8},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bd" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"be" = (/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bf" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bg" = (/obj/effect/floor_decal/corner/brown{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bh" = (/obj/effect/floor_decal/corner/brown{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bi" = (/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bj" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/corner/brown{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bk" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Airlock 2"; dir = 2},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bl" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bm" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"bn" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gateway) -"bo" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) -"bp" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gateway) -"bq" = (/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"br" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bv" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Mining Storage"; req_access = list(48)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main/storage) -"bw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"by" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bz" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining_airlock_control2"; name = "Mining Access Console"; pixel_x = 26; pixel_y = 26; tag_exterior_door = "mining_airlock_exterior2"; tag_interior_door = "mining_airlock_interior2"},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bD" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_airlock_control2"; name = "Mining Access Button"; pixel_x = 6; pixel_y = 26; req_access = null; req_one_access = list(12,47,48)},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_interior2"; locked = 1; name = "Mining Interior Outpost"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) -"bE" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bF" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bG" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_exterior2"; locked = 1; name = "Mining Exterior Outpost"},/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button/airlock_exterior{master_tag = "mining_airlock_control2"; pixel_y = 24; req_one_access = list(12,47,48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) -"bH" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/security) -"bI" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) -"bJ" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) -"bK" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bL" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bM" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gateway"},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bN" = (/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bO" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"bP" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/first_aid) -"bQ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) -"bR" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/first_aid) -"bS" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown/full,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bT" = (/obj/structure/ore_box,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bU" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bV" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bW" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bX" = (/obj/structure/table/rack,/obj/item/weapon/pickaxe,/obj/item/weapon/tool/wrench,/obj/item/weapon/tool/crowbar,/obj/item/weapon/shovel,/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/storage) -"bY" = (/obj/effect/floor_decal/corner/brown{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"bZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ca" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cb" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cc" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cd" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"ce" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"cf" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"cg" = (/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ch" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/closet/secure_closet/guncabinet/phase,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ci" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/structure/closet/secure_closet/guncabinet/phase,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cj" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/structure/table/standard,/obj/item/weapon/book/codex/corp_regs,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ck" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) -"cl" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cm" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cn" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"co" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/gateway) -"cp" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 0; pixel_y = 28},/obj/structure/table/glass,/obj/machinery/recharger,/obj/item/weapon/tool/screwdriver,/obj/item/device/defib_kit/loaded,/obj/effect/floor_decal/borderfloorwhite{dir = 9},/obj/effect/floor_decal/corner/paleblue/border{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cq" = (/obj/machinery/sleep_console{dir = 4},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cr" = (/obj/machinery/sleeper{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite{dir = 1},/obj/effect/floor_decal/corner/paleblue/border{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cs" = (/obj/structure/bed/roller,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ct" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/ninja_dojo/planet) -"cu" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/storage) -"cv" = (/turf/simulated/wall,/area/surface/outpost/mining_main/storage) -"cw" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cy" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/corner/brown,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cz" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cA" = (/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/machinery/light,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cB" = (/obj/machinery/mech_recharger,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cC" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"cD" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"cE" = (/obj/effect/floor_decal/industrial/warning/dust{icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) -"cF" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"cG" = (/obj/structure/window/reinforced,/obj/machinery/deployable/barrier,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cI" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cJ" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"cK" = (/turf/simulated/wall,/area/surface/outpost/main/gateway) -"cL" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"cM" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cN" = (/obj/machinery/cryopod/robot/door/gateway,/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cO" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"cP" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"cQ" = (/obj/structure/table/glass,/obj/item/roller,/obj/item/roller{pixel_y = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cR" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cS" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/borderfloorwhite/corner{dir = 4},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cT" = (/obj/structure/window/reinforced,/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/effect/floor_decal/borderfloorwhite{dir = 5},/obj/effect/floor_decal/corner/paleblue/border{dir = 5},/obj/effect/floor_decal/borderfloorwhite/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"cU" = (/turf/simulated/floor/water/deep,/area/surface/outside/ocean) -"cV" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"cW" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"cX" = (/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/extinguisher,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"cY" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/emergencystorage) -"cZ" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"da" = (/obj/structure/dispenser/oxygen,/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"db" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dc" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dd" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"de" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) -"df" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) -"dg" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6; icon_state = "warning_dust"},/obj/machinery/light/small{dir = 1},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/gen_room) -"dh" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/table/standard,/obj/item/weapon/storage/box/donut,/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/red/border{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"di" = (/obj/structure/table/standard,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dj" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/standard,/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/red/border{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dk" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dl" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dm" = (/obj/machinery/computer/cryopod/gateway{pixel_x = -30},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"dn" = (/obj/machinery/gateway{dir = 10},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"do" = (/obj/machinery/gateway,/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"dp" = (/obj/machinery/gateway{dir = 6},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/gateway) -"dq" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/atm{pixel_x = 30},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/gateway) -"dr" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/borderfloorwhite{dir = 8},/obj/effect/floor_decal/corner/paleblue/border{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ds" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/table/glass,/obj/item/weapon/tool/wrench,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dt" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"du" = (/obj/machinery/atmospherics/unary/cryo_cell{layer = 3.3},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"dv" = (/obj/random/maintenance/clean,/obj/random/maintenance/security,/obj/random/contraband,/obj/random/drinkbottle,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage) -"dw" = (/obj/random/maintenance/clean,/obj/random/contraband,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage) -"dx" = (/obj/structure/closet/hydrant{pixel_x = -32; pixel_y = 0},/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"dy" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"dz" = (/obj/item/device/t_scanner,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/structure/table/steel,/obj/random/maintenance/engineering,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"dA" = (/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"dB" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/mask/breath,/obj/machinery/door/window/westright{req_access = list(48)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/corner/brown{dir = 6},/obj/random/multiple/voidsuit/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"dC" = (/obj/machinery/mineral/input,/obj/effect/floor_decal/industrial/loading{dir = 4},/obj/structure/sign/warning/moving_parts{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"dD" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) -"dE" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dF" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dG" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dH" = (/obj/machinery/conveyor{dir = 9; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dI" = (/obj/machinery/mineral/unloading_machine{icon_state = "unloader-corner"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dJ" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/machinery/mineral/input,/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"dK" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/mining_main/gen_room) -"dL" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/tiled/steel/sif/planetuse{icon_state = "dark"},/area/surface/outpost/mining_main/gen_room) -"dM" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Security Checkpoint"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dN" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor/corner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dO" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dP" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/red/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"dQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"dR" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"dS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"dT" = (/obj/structure/bed/chair/office/light{dir = 1},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 1},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dU" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dV" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dW" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dX" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - FA Station"; dir = 8},/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"dY" = (/turf/simulated/wall,/area/surface/outpost/mining_main/emergencystorage) -"dZ" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/emergencystorage) -"ea" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ec" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/item/clothing/mask/breath,/obj/machinery/door/window/westleft{req_access = list(48)},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/effect/floor_decal/corner/brown{dir = 6},/obj/random/multiple/voidsuit/mining,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"ed" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) -"ee" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"ef" = (/obj/machinery/conveyor_switch{id = "mining_external"},/obj/effect/floor_decal/industrial/warning/dust{icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/gen_room) -"eg" = (/obj/effect/floor_decal/industrial/warning/dust{icon_state = "warning_dust"; dir = 1},/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/gen_room) -"eh" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 5; icon_state = "warning_dust"},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/path/plains) -"ei" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ej" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"ek" = (/obj/machinery/door/window/brigdoor/eastright{name = "Security Checkpoint"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"el" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"em" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"en" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eo" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) -"ep" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"eq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"er" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"es" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"et" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_medical{name = "First-Aid Station"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"eu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ev" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ew" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ex" = (/obj/machinery/door/window/westleft{name = "Medical Staff Only"; req_one_access = list(5)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ey" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"ez" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/floor_decal/borderfloorwhite{dir = 4},/obj/effect/floor_decal/corner/paleblue/border{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"eA" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/computer/guestpass{pixel_y = 30},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"eB" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"eC" = (/obj/effect/floor_decal/corner/brown{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eD" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eE" = (/obj/effect/floor_decal/corner/brown{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eF" = (/obj/effect/floor_decal/corner/brown{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eG" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"eH" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_mining{name = "Production Area"; req_access = list(48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main/refinery) -"eI" = (/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"eJ" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"eK" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"eL" = (/obj/machinery/mineral/input,/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"eM" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) -"eN" = (/obj/effect/floor_decal/industrial/warning/dust{icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/path/plains) -"eO" = (/obj/machinery/computer/secure_data,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eP" = (/obj/machinery/computer/security,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eQ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/device/flash,/obj/item/weapon/pen,/obj/item/weapon/tool/crowbar,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eR" = (/obj/structure/closet/crate,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eT" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"eU" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"eV" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"eW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"eX" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"eY" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/blue,/turf/simulated/floor/tiled,/area/surface/outpost/main/gateway) -"eZ" = (/obj/structure/closet/l3closet/scientist,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloorwhite/corner{dir = 8},/obj/effect/floor_decal/corner/paleblue/bordercorner{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fa" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fb" = (/obj/structure/table/glass,/obj/item/weapon/tool/crowbar,/obj/item/bodybag,/obj/item/bodybag/cryobag,/obj/effect/floor_decal/borderfloorwhite/corner,/obj/effect/floor_decal/corner/paleblue/bordercorner,/obj/item/bodybag/cryobag,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fc" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/obj/machinery/light,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fd" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) -"fe" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"ff" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"fg" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_exterior"; locked = 1; name = "Mining Exterior Outpost"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = 0; pixel_y = -24; req_access = null; req_one_access = list(12,47,48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) -"fh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"fi" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"fj" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_interior"; locked = 1; name = "Mining Interior Outpost"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = -6; pixel_y = -26; req_access = null; req_one_access = list(12,47,48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) -"fk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining1_airlock_control"; name = "Mining Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "mining1_airlock_exterior"; tag_interior_door = "mining1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fl" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fm" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fn" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fo" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fp" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Hallway 1"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fq" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"fr" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"fs" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) -"ft" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"fu" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Production Room"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"fv" = (/obj/machinery/mineral/processing_unit_console,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"fw" = (/obj/machinery/mineral/processing_unit,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"fx" = (/turf/simulated/wall,/area/surface/outpost/main/security) -"fy" = (/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/obj/structure/closet/crate/secure/gear{name = "explorer crate"; req_access = list(43)},/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fz" = (/obj/machinery/door/window/northright,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fA" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/obj/structure/cable/blue,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/obj/structure/closet/crate/secure/gear{name = "explorer crate"; req_access = list(43)},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/spaceacillin,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fB" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Gateway Access"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gateway) -"fC" = (/turf/simulated/wall,/area/surface/outpost/main/first_aid) -"fD" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/white/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"fE" = (/obj/machinery/door/window/northleft,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"fF" = (/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/white/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/paleblue/bordercorner2{dir = 5},/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"fG" = (/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/mining_main/gen_room) -"fH" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"fI" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/mining{c_tag = "OPM - Mining Airlock 1"; dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"fJ" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fK" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fL" = (/obj/effect/floor_decal/corner/brown{dir = 10},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"fM" = (/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"fN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/crate,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"fO" = (/obj/machinery/conveyor_switch/oneway{id = "mining_internal"; name = "mining conveyor"},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"fP" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"fQ" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/security) -"fR" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/computer/guestpass{pixel_y = 30},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"fS" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"fT" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/structure/table/bench/steel,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/landmark/start{name = "Explorer"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fU" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 26},/obj/structure/table/bench/steel,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Explorer Prep"; dir = 2},/obj/effect/landmark/start{name = "Explorer"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fW" = (/obj/effect/landmark/start{name = "Explorer"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fX" = (/obj/machinery/light{dir = 1},/obj/effect/landmark/start{name = "Explorer"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"fY" = (/turf/simulated/floor/tiled,/area/surface/outpost/main) -"fZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ga" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 1"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"gb" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gc" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gd" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"ge" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - SAR Prep"; dir = 2},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gf" = (/obj/structure/closet/secure_closet/medical_wall/pills{pixel_y = 32},/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gg" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gh" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main) -"gi" = (/turf/simulated/wall,/area/surface/outpost/mining_main) -"gj" = (/obj/effect/floor_decal/corner/brown/full,/obj/structure/closet,/obj/item/clothing/suit/storage/hooded/wintercoat/cargo,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat/miner,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"gk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"gl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"gm" = (/obj/effect/floor_decal/corner/brown,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/space_heater,/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) -"gn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/surface/outpost/mining_main/refinery) -"go" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery) -"gp" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/warning/dust{icon_state = "warning_dust"; dir = 4},/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outpost/mining_main/gen_room) -"gq" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"gr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"gs" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"gt" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main5_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main5_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) -"gu" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main5_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main5_airlock_exterior"; tag_interior_door = "main5_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"gx" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "Explorer Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/security) -"gy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"gz" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"gA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"gB" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "SAR Prep"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"gC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gF" = (/obj/effect/landmark/start{name = "Search and Rescue"},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gG" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gH" = (/obj/machinery/computer/crew,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"gI" = (/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"gJ" = (/obj/random/obstruction,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gK" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gL" = (/obj/structure/closet/crate,/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/obj/item/stack/material/phoron{amount = 50},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gM" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gN" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"gO" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gP" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"gQ" = (/obj/effect/floor_decal/industrial/loading{icon_state = "loadingarea"; dir = 8},/obj/structure/sign/warning/moving_parts{pixel_y = -32},/obj/structure/extinguisher_cabinet{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main/refinery) -"gR" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/structure/plasticflaps,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gS" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gT" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gU" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gV" = (/obj/machinery/conveyor{dir = 5; icon_state = "conveyor0"; id = "miningout_internal"},/obj/machinery/mineral/input,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/refinery) -"gW" = (/obj/effect/floor_decal/industrial/warning/dust,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/asteroid_steel,/area/surface/outside/plains/outpost) -"gX" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"gY" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/security) -"gZ" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"ha" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/security) -"hb" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/item/device/gps/explorer{pixel_x = -5; pixel_y = -5},/obj/item/device/gps/explorer{pixel_x = -3; pixel_y = -3},/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"hc" = (/obj/structure/table/rack{dir = 8; layer = 2.6},/obj/machinery/light,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/item/device/paicard,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/item/weapon/hand_labeler,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"hd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet/secure_closet/explorer,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/item/device/binoculars,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"he" = (/obj/structure/closet/secure_closet/explorer,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"hf" = (/obj/structure/closet/secure_closet/explorer,/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"hg" = (/obj/structure/closet/secure_closet/explorer,/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/item/weapon/pickaxe,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/security) -"hh" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hj" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hk" = (/obj/machinery/mech_recharger,/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"hl" = (/obj/structure/table/steel,/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/crowbar,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"hm" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/first_aid) -"hn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/white/bordercorner2,/obj/structure/closet/secure_closet/medical_wall{name = "O- Blood Locker"; pixel_x = 0; pixel_y = -32},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/machinery/iv_drip,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"ho" = (/obj/structure/closet/secure_closet/sar,/obj/machinery/light,/obj/item/weapon/storage/box/bodybags,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/obj/item/roller/adv,/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hp" = (/obj/structure/closet/secure_closet/sar,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/obj/item/roller/adv{pixel_y = 5},/obj/item/weapon/storage/pill_bottle/spaceacillin,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hq" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hr" = (/obj/structure/table/steel,/obj/item/device/gps,/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) -"hs" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ht" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hu" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hv" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hw" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Mining"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hx" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/mining_main/gen_room) -"hy" = (/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hA" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"hB" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/telecomms) -"hC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) -"hD" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hE" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"hF" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/garage) -"hG" = (/turf/simulated/wall,/area/surface/outpost/main/garage) -"hH" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power West"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hK" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hL" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hN" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hP" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hQ" = (/obj/machinery/atmospherics/pipe/tank/nitrous_oxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hR" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hS" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hT" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"hU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{pixel_y = 23},/obj/machinery/telecomms/relay/preset/southerncross/cave,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/telecomms/relay/preset/southerncross/planet,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Telecomm"},/obj/machinery/telecomms/relay/preset/southerncross/wild,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"hX" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"hY" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"hZ" = (/obj/machinery/teleport/station,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"ia" = (/obj/machinery/teleport/hub,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/teleporter) -"ib" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/teleporter) -"ic" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"id" = (/obj/structure/table/steel,/obj/item/weapon/weldpack,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"ie" = (/obj/machinery/space_heater,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"if" = (/obj/item/stack/tile/floor/steel_dirty,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"ig" = (/obj/machinery/mech_recharger,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"ih" = (/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/clothing/glasses/meson,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"ii" = (/obj/structure/ore_box,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"ij" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"ik" = (/obj/structure/table/steel,/obj/random/tool,/obj/random/tool,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"il" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/pipedispenser/disposal,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"im" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/pipedispenser,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"in" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"io" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ip" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iq" = (/obj/machinery/atmospherics/binary/pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"ir" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/obj/machinery/atmospherics/binary/pump{dir = 2},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"is" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"it" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iu" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iv" = (/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power East"; dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iw" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/light/small,/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"ix" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"iy" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"iz" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"iA" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"iB" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"iC" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"iF" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"iG" = (/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"iH" = (/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"iI" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"iJ" = (/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iK" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iL" = (/obj/machinery/power/terminal,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iM" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iO" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/portable_atmospherics/powered/scrubber,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/engineering_outpost{c_tag = "ENG - Mining Outpost Power South"; dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iP" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iQ" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/meter,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iR" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 7; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iS" = (/obj/machinery/atmospherics/omni/atmos_filter{tag_east = 2; tag_north = 5; tag_south = 6; tag_west = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iT" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iU" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iV" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"iW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/highsecurity{name = "Telecommunication Hub"; req_one_access = list(10,48,65)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/techmaint,/area/surface/outpost/main/telecomms) -"iX" = (/obj/structure/table/standard,/obj/item/weapon/tool/crowbar/red,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/item/weapon/tool/crowbar/red,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"iY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"iZ" = (/obj/machinery/bluespace_beacon,/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"ja" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/surface/outpost/main/teleporter) -"jb" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jc" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jd" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"je" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 2"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/closet/toolcloset,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jg" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"ji" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jj" = (/obj/machinery/atmospherics/pipe/tank/phoron{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jk" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; start_pressure = 740},/turf/simulated/floor/plating,/area/surface/outpost/mining_main/gen_room) -"jl" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room) -"jm" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/table/steel,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jn" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jo" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jp" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room) -"jq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/highsecurity{name = "Teleport Access"; req_access = list(17)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/teleporter) -"jr" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"js" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/obj/effect/floor_decal/borderfloor/corner2{dir = 5},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jt" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/item/frame/light,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"ju" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jv" = (/obj/machinery/floodlight,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jw" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jx" = (/obj/structure/cable,/obj/structure/cable/heavyduty{d2 = 2; icon_state = "0-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/gen_room) -"jy" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/plains/outpost) -"jz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"jA" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jB" = (/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jC" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jD" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room) -"jE" = (/obj/structure/dispenser{phorontanks = 0},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Teleporter Access"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jF" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jH" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jJ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway North 2"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"jK" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"jL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"jM" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/outpost) -"jN" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-4"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) -"jO" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) -"jP" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/heavyduty{icon_state = "1-8"},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) -"jQ" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) -"jR" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/path/plains) -"jS" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/cable/heavyduty{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"jT" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/sif/planetuse,/area/surface/outside/plains/outpost) -"jU" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jY" = (/obj/machinery/door/airlock/engineering{name = "Generator Room"; req_one_access = list(12,47)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"jZ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ka" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ke" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"ki" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"kj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kk" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"kl" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"km" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kn" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ko" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kp" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/blue/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kq" = (/obj/machinery/status_display,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main) -"kr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ks" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kt" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ku" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kv" = (/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3; input_attempt = 1; input_level = 750000; input_level_max = 750000; output_level = 750000; output_level_max = 750000; RCon_tag = "Outpost - Main Power Unit 1"},/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"kw" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/steel,/obj/item/weapon/storage/toolbox/electrical,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"kx" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"ky" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) -"kz" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) -"kA" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark,/area/surface/outpost/main) -"kB" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main) -"kC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kD" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kE" = (/obj/machinery/portable_atmospherics/powered/pump/filled{pixel_x = 0},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kG" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kH" = (/obj/machinery/mech_recharger,/obj/effect/decal/mecha_wreckage/ripley,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kI" = (/obj/item/inflatable/door/torn,/obj/item/weapon/tool/screwdriver,/turf/simulated/floor,/area/surface/outpost/main/garage) -"kJ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"kK" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/garage) -"kL" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"kM" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gym) -"kN" = (/turf/simulated/wall,/area/surface/outpost/main/gym) -"kO" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kP" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kR" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kS" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"kT" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/garage) -"kU" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/construction_area) -"kV" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"kW" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/gen_room/smes) -"kX" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"kY" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/bar) -"kZ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"la" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"lb" = (/obj/structure/fitness/punchingbag,/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"lc" = (/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"ld" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"le" = (/obj/machinery/vending/fitness,/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lf" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/gym) -"lh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"li" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/junction,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ll" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ln" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lo" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway East"; dir = 9},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lp" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main) -"lq" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ls" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main) -"lt" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) -"lu" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lv" = (/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/obj/random/technology_scanner,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lw" = (/obj/machinery/alarm{pixel_y = 22},/obj/random/toolbox,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lx" = (/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"ly" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"lz" = (/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) -"lA" = (/obj/structure/cable/heavyduty,/obj/machinery/power/terminal{dir = 4},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/random/powercell,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"lB" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Dorms"},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"lC" = (/turf/simulated/wall,/area/surface/outpost/main/bar) -"lD" = (/obj/structure/table/marble,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"lE" = (/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"lF" = (/obj/structure/table/marble,/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"lG" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"lH" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "north bump"; operating = 0; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"lI" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/frame/extinguisher_cabinet,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"lJ" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) -"lK" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) -"lL" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"lM" = (/turf/simulated/floor/holofloor/wood,/area/surface/outpost/main/gym) -"lN" = (/obj/effect/floor_decal/borderfloor{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lO" = (/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"lP" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) -"lQ" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room) -"lT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lY" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"lZ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main2_airlock_control"; name = "Main Access Console"; pixel_x = 26; pixel_y = -26; tag_exterior_door = "main2_airlock_exterior"; tag_interior_door = "main2_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ma" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mb" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mc" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"md" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main2_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main2_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"me" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) -"mf" = (/obj/structure/closet/toolcloset,/obj/item/device/flashlight/maglight,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mg" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mh" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mi" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"mj" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"mk" = (/obj/structure/table/marble,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar West"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"ml" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mm" = (/obj/structure/table/marble,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/stool/padded,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mo" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/item/weapon/stock_parts/motor,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mq" = (/obj/structure/table,/obj/item/stack/material/wood,/obj/item/stack/material/wood,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mr" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) -"ms" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) -"mt" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"mu" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) -"mv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/gym) -"mw" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mx" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"my" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mz" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/item/weapon/tool/wrench,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mB" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mD" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mG" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/space_heater,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mH" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mI" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"mJ" = (/obj/machinery/light/small{dir = 8; pixel_x = 0},/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main) -"mK" = (/obj/structure/closet/crate,/obj/item/weapon/tool/crowbar/red,/obj/item/frame/light,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"mM" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"mN" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"mO" = (/obj/machinery/light_construct,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mP" = (/obj/structure/table/marble,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mQ" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mR" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/donkpockets,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Bar East"; dir = 8},/obj/machinery/light_construct,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"mS" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) -"mT" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access North"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"mU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"mV" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"mW" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mX" = (/obj/structure/fitness/weightlifter,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mY" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"mZ" = (/obj/structure/closet/emcloset,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 1"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"na" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nb" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nc" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/restroom) -"nd" = (/turf/simulated/wall,/area/surface/outpost/main/restroom) -"ne" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nf" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"ng" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"ni" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nj" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 36; pixel_y = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nk" = (/obj/structure/sign/electricshock,/turf/simulated/wall,/area/surface/outpost/main/gen_room/smes) -"nl" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/main/gen_room/smes) -"nm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"nn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"no" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"np" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"nq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"nr" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/obj/item/clothing/head/hardhat/orange,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"ns" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nt" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nu" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"nv" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nx" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"ny" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nA" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/cups,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nC" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nE" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nF" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nG" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"nH" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nI" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nJ" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nK" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"nL" = (/turf/simulated/wall,/area/surface/outpost/main/construction_area) -"nM" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"nN" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"nO" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"nP" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"nQ" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"nR" = (/obj/structure/closet/athletic_mixed,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nS" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nT" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nU" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Gym"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nV" = (/obj/item/weapon/stool/padded,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nW" = (/obj/structure/reagent_dispensers/water_cooler/full,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) -"nX" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/red,/obj/item/stack/flag/red,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"nY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"nZ" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) -"oa" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"ob" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"od" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/dorms) -"oe" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"of" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/construction_area) -"og" = (/obj/structure/table/standard,/obj/item/device/paicard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oh" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oi" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"oj" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/surface/outpost/main/bar) -"ok" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"ol" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"om" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"on" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main4_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = 26; tag_exterior_door = "main4_airlock_exterior"; tag_interior_door = "main4_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner{dir = 1; icon_state = "warningcorner"},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oo" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"op" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Gym"},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/gym) -"oq" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/lasertag/blue,/obj/item/stack/flag/blue,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"or" = (/obj/structure/closet/secure_closet/personal,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"os" = (/obj/structure/table/bench/marble,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"ot" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"ou" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"ov" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty{outdoors = 1},/area/surface/outpost/main/dorms) -"ow" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) -"ox" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"oy" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Access"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"oz" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) -"oA" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oB" = (/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oC" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oD" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oF" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oG" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oI" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oL" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oO" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"oP" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/surface/outpost/main/corridor) -"oQ" = (/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oU" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/junction/yjunction,/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"oZ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 2},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/green/bordercorner{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pg" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ph" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pj" = (/obj/structure/disposalpipe/junction/yjunction{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pk" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pl" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pm" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty{outdoors = 1},/area/surface/outpost/main/dorms) -"pn" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"po" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) -"pp" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pq" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = -6; pixel_y = -26; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pr" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main1_airlock_control"; name = "Main Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "main1_airlock_exterior"; tag_interior_door = "main1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"ps" = (/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pt" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pu" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pv" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pw" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"px" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"py" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pz" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pA" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pB" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pC" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals4,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"pD" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pE" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pI" = (/obj/effect/floor_decal/spline/plain{icon_state = "spline_plain_full"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main) -"pJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pK" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"pN" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"pO" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pP" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pQ" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pS" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"pT" = (/obj/structure/closet/secure_closet/personal,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pU" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pV" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pW" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pX" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty{outdoors = 1},/area/surface/outpost/main/dorms) -"pY" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/surface/outpost/main/dorms) -"pZ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qa" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qb" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/closet/crate,/obj/item/weapon/bedsheet,/obj/item/weapon/bedsheet/blue,/obj/item/weapon/bedsheet/brown,/obj/item/weapon/bedsheet/green,/obj/item/weapon/bedsheet/orange,/obj/item/weapon/bedsheet/purple,/obj/item/weapon/bedsheet/red,/obj/item/weapon/bedsheet/yellow,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qd" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qe" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = -24},/obj/structure/cable/blue,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qh" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qi" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qj" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway East"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qk" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/vending/cigarette,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/green/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"ql" = (/obj/machinery/vending/snack,/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qm" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qn" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qo" = (/obj/machinery/lapvend,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"qp" = (/turf/simulated/wall,/area/surface/outpost/main/corridor) -"qq" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qs" = (/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor West"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qt" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qu" = (/obj/effect/floor_decal/spline/plain{icon_state = "spline_plain_full"; dir = 1},/obj/structure/showcase{desc = "It looks almost lifelike."; icon = 'icons/obj/statue.dmi'; icon_state = "hos"; name = "Statue"; pixel_y = 2},/obj/item/device/gps/internal/base,/turf/simulated/floor/tiled/techfloor,/area/surface/outpost/main/corridor) -"qv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qw" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qy" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/green/bordercorner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qz" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qA" = (/obj/machinery/ai_status_display{pixel_y = -32},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway West"; dir = 4},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qB" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qD" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qG" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"qH" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qN" = (/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qO" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qP" = (/turf/simulated/wall,/area/surface/outpost/main/dorms) -"qQ" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/green/bordercorner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qR" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "main3_airlock_control"; name = "Main Access Console"; pixel_x = 0; pixel_y = -26; tag_exterior_door = "main3_airlock_exterior"; tag_interior_door = "main3_airlock_interior"},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qS" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qT" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/green/border{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"qU" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"qV" = (/obj/structure/closet/wardrobe/xenos,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"qW" = (/obj/structure/closet/wardrobe/suit,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"qX" = (/obj/structure/closet/wardrobe/grey,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"qY" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"qZ" = (/obj/item/weapon/tool/crowbar,/obj/item/weapon/tool/wrench,/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/steel,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"ra" = (/obj/machinery/mech_recharger,/obj/machinery/light,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main) -"rb" = (/turf/simulated/wall,/area/surface/outpost/main) -"rc" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"rd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"re" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) -"rf" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/main/restroom) -"rg" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rh" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"ri" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rk" = (/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/purpledouble,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rl" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rm" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rn" = (/obj/machinery/door/airlock{id_tag = "modorm1"; name = "Room 1"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"ro" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rq" = (/obj/machinery/door/airlock{id_tag = "modorm2"; name = "Room 2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rr" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rs" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/green,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rt" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/yellow,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"ru" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm5"; name = "Room 5"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm6"; name = "Room 6"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rx" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"ry" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rz" = (/obj/item/weapon/bedsheet/bluedouble,/obj/structure/bed/double/padded,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rA" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/light,/obj/structure/closet/emcloset,/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/green/border{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"rB" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = -6; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"rC" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) -"rD" = (/turf/simulated/wall,/area/surface/outpost/main/pool) -"rE" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) -"rF" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"rG" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Pool"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/pool) -"rH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rI" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"rJ" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rK" = (/obj/item/weapon/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rL" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm1"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"rM" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rN" = (/obj/machinery/button/remote/airlock{id = "modorm2"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rO" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rP" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rQ" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm5"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/bcarpet,/area/surface/outpost/main/dorms) -"rR" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"rS" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm6"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rT" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rU" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/item/device/gps{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"rV" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/surface/outpost/main/corridor) -"rW" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"rX" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"rZ" = (/obj/machinery/space_heater,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sa" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sb" = (/obj/machinery/light/spot{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sc" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sd" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"se" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool North"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sg" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sh" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"si" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sj" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sk" = (/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sl" = (/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sm" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sn" = (/obj/machinery/newscaster{pixel_y = 30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"so" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sp" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"sq" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/corridor) -"sr" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Corridor Access South"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) -"ss" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"st" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"su" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sA" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/purple,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"sB" = (/obj/machinery/door/airlock{id_tag = "modorm3"; name = "Room 3"},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 1"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sE" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm4"; name = "Room 4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sF" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"sG" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"sH" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/red,/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"sI" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"sJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm7"; name = "Room 7"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Hallway South 2"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sL" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "modorm8"; name = "Room 8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) -"sM" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/blue,/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"sN" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main3_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main3_airlock_control"; name = "Main Access Button"; pixel_x = -32; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) -"sO" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"sP" = (/obj/structure/table/glass,/obj/item/device/paicard,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sR" = (/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sS" = (/obj/effect/floor_decal/spline/plain{dir = 9},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"sT" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"sU" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"sV" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"sW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sX" = (/obj/structure/table/glass,/obj/item/weapon/inflatable_duck,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"sY" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"sZ" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm3"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/purcarpet,/area/surface/outpost/main/dorms) -"ta" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm4"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"tb" = (/obj/structure/table/standard,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"tc" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"td" = (/obj/item/weapon/stool,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm7"; name = "Door Bolt Control"; pixel_x = 25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet,/area/surface/outpost/main/dorms) -"te" = (/obj/item/weapon/stool/padded,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/machinery/button/remote/airlock{id = "modorm8"; name = "Door Bolt Control"; pixel_x = -25; pixel_y = 0; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"tf" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/carpet/blucarpet,/area/surface/outpost/main/dorms) -"tg" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/main/corridor) -"th" = (/obj/effect/overlay/snow/floor,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/main/corridor) -"ti" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tj" = (/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tk" = (/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tl" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tm" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = -32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool West"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"to" = (/obj/effect/floor_decal/spline/plain{dir = 9},/obj/item/weapon/beach_ball,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tp" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tq" = (/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/hologram/holopad,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ts" = (/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 32; pixel_y = 0},/obj/item/weapon/stool/padded,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool East"; dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tt" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/path/plains) -"tu" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"tv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/effect/zone_divider,/turf/simulated/floor/plating,/area/surface/outpost/main/pool) -"tw" = (/obj/structure/table/glass,/obj/item/weapon/book/codex/lore/vir,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ty" = (/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tz" = (/obj/effect/floor_decal/spline/plain{dir = 8},/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tA" = (/obj/effect/zone_divider,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tB" = (/obj/effect/floor_decal/spline/plain{dir = 10},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tC" = (/obj/effect/floor_decal/spline/plain,/obj/machinery/hologram/holopad,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tD" = (/obj/effect/floor_decal/spline/plain{dir = 6},/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tE" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tF" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/effect/zone_divider,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tH" = (/obj/structure/table/glass,/obj/effect/zone_divider,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tI" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/mountains) -"tJ" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline/corner,/area/surface/outside/ocean) -"tK" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/effect/zone_divider,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"tL" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/ocean) -"tM" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/ocean) -"tN" = (/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/normal) -"tO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tQ" = (/obj/effect/floor_decal/spline/plain{dir = 10},/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tR" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/pool,/area/surface/outpost/main/pool) -"tS" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tT" = (/obj/effect/floor_decal/spline/plain{dir = 6},/turf/simulated/floor/water/deep/pool,/area/surface/outpost/main/pool) -"tU" = (/obj/machinery/ai_status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) -"tV" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tW" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/surface/outpost/main/pool) -"tX" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tY" = (/obj/machinery/light/spot,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"tZ" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ua" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ub" = (/obj/structure/table/glass,/obj/item/inflatable{pixel_x = 6; pixel_y = 6},/obj/item/inflatable{pixel_x = 2; pixel_y = 2},/obj/item/inflatable{pixel_x = -2; pixel_y = -3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"uc" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/mountains) -"ud" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_1"; name = "shuttle bay controller"; pixel_x = -26; pixel_y = 0; tag_door = "surface_dock_1_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"ue" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"uf" = (/obj/effect/overlay/snow/floor,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "surface_dock_2"; name = "shuttle bay controller"; pixel_x = 26; pixel_y = 0; tag_door = "surface_dock_2_door"},/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"ug" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"uh" = (/obj/structure/table/glass,/obj/machinery/camera/network/main_outpost{c_tag = "MO - Pool South"; dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"ui" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/pool) -"uj" = (/obj/machinery/light{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"uk" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"ul" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"um" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"un" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"uo" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"up" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle1/planet) -"uq" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"ur" = (/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle2/planet) -"us" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 6},/area/surface/outside/ocean) -"ut" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"uu" = (/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 5},/area/surface/outside/ocean) -"uv" = (/turf/simulated/floor/water/shoreline/corner{icon_state = "shorelinecorner"; dir = 8},/area/surface/outside/ocean) -"uw" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"ux" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains) -"uy" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/outpost) -"uz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"uA" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) -"uB" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch) -"uC" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) -"uD" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) -"uE" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_exterior"; locked = 1; name = "Research Exterior Airlock"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -24; pixel_y = 0; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) -"uF" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"uG" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/emergencystorage) -"uH" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/smes) -"uI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"uJ" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/restroom) -"uK" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/status_display{pixel_x = -32},/turf/simulated/floor/tiled/steel,/area/surface/outpost/research/xenoresearch) -"uL" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/computer/guestpass{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"uN" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"uO" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch) -"uP" = (/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/light/small{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"uQ" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"uR" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/smes) -"uS" = (/obj/machinery/power/smes/buildable/outpost_substation{charge = 500000; input_attempt = 1; input_level = 150000; output_level = 150000; RCon_tag = "Outpost - Research"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"uT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/power/terminal{dir = 8},/obj/structure/cable/heavyduty,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"uU" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/light/small{dir = 4},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"uV" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/restroom) -"uW" = (/obj/structure/toilet{dir = 4},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"uX" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"uY" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"uZ" = (/obj/structure/sink{pixel_y = 16},/obj/structure/mirror{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"va" = (/obj/structure/table/standard,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/item/weapon/towel,/obj/random/soap,/obj/random/soap,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vb" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vc" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vd" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Airlock"; dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"ve" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vf" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen/entertainment{icon_state = "frame"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vg" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vh" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vi" = (/obj/item/weapon/storage/box/donkpockets,/obj/structure/table/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vj" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vk" = (/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vn" = (/obj/effect/zone_divider,/turf/simulated/mineral/sif,/area/surface/outside/plains/outpost) -"vo" = (/turf/simulated/mineral/sif,/area/surface/outside/plains/normal) -"vp" = (/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) -"vq" = (/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/normal) -"vr" = (/obj/item/clothing/glasses/meson,/obj/structure/closet/hydrant{pixel_x = -32},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vs" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vt" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vu" = (/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/item/weapon/cell/high,/obj/item/weapon/weldpack,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"vv" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{long_range = 1; name_tag = "Research Outpost"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"vw" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"vx" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vA" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vB" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vC" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "research_airlock_interior"; locked = 1; name = "Research Interior Airlock"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "research_airlock_control"; name = "Research Access Button"; pixel_x = -26; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vD" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vF" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vG" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vH" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vI" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"vL" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/outpost) -"vM" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/normal) -"vN" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vO" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Emergency Storage"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/emergencystorage) -"vP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/engineering{name = "SMES Room"; req_one_access = list(12,47)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/smes) -"vQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{name = "Research Restroom"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/restroom) -"vR" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vS" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "research_airlock_control"; name = "Research Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "research_airlock_exterior"; tag_interior_door = "research_airlock_interior"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vT" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"vU" = (/obj/structure/disposalpipe/segment,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vW" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vX" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vY" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"vZ" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch) -"wa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"wb" = (/obj/machinery/light,/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"wc" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"wd" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"we" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"wf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 1"; dir = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wk" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wp" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"ws" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wu" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"ww" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wC" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wE" = (/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/main/corridor) -"wF" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wG" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wI" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wJ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/bot/secbot/slime,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wK" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wL" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wP" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wS" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wU" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wX" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wY" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"wZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 4"; dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xb" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xc" = (/obj/machinery/light,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xe" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"xf" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 0; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xg" = (/obj/structure/bed/chair,/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -28; pixel_y = 0; req_access = null},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xi" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xj" = (/obj/structure/sign/greencross{desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid"},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch) -"xk" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_medical,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xl" = (/obj/machinery/space_heater,/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xm" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Research Hallway 3"; dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xn" = (/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xo" = (/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) -"xp" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xq" = (/obj/machinery/smartfridge,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenoflora) -"xr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xs" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch) -"xt" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch) -"xu" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; pressure_checks = 1; pressure_checks_default = 1; use_power = 1},/obj/effect/overlay/snow/floor,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenoflora) -"xv" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xw" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xx" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xy" = (/obj/structure/sign/warning/biohazard,/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"xz" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xA" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xB" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced,/obj/machinery/shower{pixel_y = 3},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/research/xenoresearch/xenobiology) -"xC" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xD" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green,/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xE" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "xenobiocontain"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"xF" = (/obj/structure/bed/roller,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xG" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xH" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xI" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - First Aid Station"; dir = 2},/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xJ" = (/obj/structure/table/glass,/obj/machinery/recharger,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/device/defib_kit/loaded,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xK" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"xL" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"xM" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"xO" = (/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"xP" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"xQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"xR" = (/obj/machinery/computer/operating{name = "Xenobiology Operating Computer"},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xS" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xT" = (/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel{pixel_y = 12},/obj/item/weapon/surgical/circular_saw,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xU" = (/obj/structure/table/standard,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xV" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/closet/l3closet/scientist,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xW" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xX" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology Access"; dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"xY" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"xZ" = (/obj/structure/table/standard,/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"ya" = (/obj/structure/table/standard,/obj/item/weapon/clipboard,/obj/item/weapon/folder,/obj/item/weapon/pen,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yb" = (/obj/structure/table/standard,/obj/machinery/reagentgrinder,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yc" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"ye" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/corner/paleblue,/obj/structure/table/rack,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/item/weapon/storage/firstaid/adv{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yf" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yg" = (/obj/machinery/atmospherics/unary/heater{dir = 2; icon_state = "heater"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yh" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yi" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora North"; dir = 2},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yj" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yl" = (/obj/structure/table/glass,/obj/item/weapon/tape_roll,/obj/item/device/analyzer/plant_analyzer,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"ym" = (/obj/machinery/atmospherics/tvalve{dir = 1; name = "siphon switching valve"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"yn" = (/obj/structure/table/glass,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yo" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yp" = (/obj/structure/table/glass,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/item/weapon/clipboard,/obj/item/weapon/folder/white,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yq" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"yr" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"ys" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access = list(55)},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -26; pixel_y = 6; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yu" = (/obj/item/clothing/shoes/galoshes,/obj/item/clothing/shoes/galoshes,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yv" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yw" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yx" = (/obj/structure/table/reinforced,/obj/machinery/chemical_dispenser/full{density = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"yy" = (/obj/machinery/sleeper{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/corner/paleblue/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yz" = (/obj/machinery/sleep_console,/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"yA" = (/obj/structure/table/rack,/obj/item/bodybag/cryobag,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/firstaid/regular,/obj/random/medical/lite,/obj/structure/extinguisher_cabinet{pixel_x = 28; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/bodybag/cryobag,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yB" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenoflora) -"yC" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"yD" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"yE" = (/obj/structure/cable/heavyduty{icon_state = "2-8"},/obj/effect/overlay/snow/floor,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"yF" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate/hydroponics{desc = "All you need to start your own honey farm."; name = "beekeeping crate"},/obj/item/beehive_assembly,/obj/item/bee_smoker,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/honey_frame,/obj/item/bee_pack,/obj/item/weapon/tool/crowbar,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yG" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yH" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yI" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yJ" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yK" = (/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yL" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) -"yM" = (/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yN" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yO" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for containment."; id = "xenobiocontain"; name = "Containment Switch"; pixel_x = -6; pixel_y = 28; req_access = null},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yP" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "xeno_airlock_control"; name = "Xenobiology Access Console"; pixel_x = -26; pixel_y = 26; tag_exterior_door = "xeno_airlock_exterior"; tag_interior_door = "xeno_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yQ" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/light_switch{pixel_x = 11; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yR" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 38},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yS" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"yT" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yW" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"yY" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"yZ" = (/obj/structure/bed/chair/office/dark,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"za" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zc" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zd" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"ze" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zf" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zg" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"zh" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zi" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zk" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"zm" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zn" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zo" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zp" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zq" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zr" = (/obj/effect/floor_decal/corner/green,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zs" = (/obj/structure/table/glass,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/minihoe,/obj/item/weapon/material/knife/machete/hatchet,/obj/item/weapon/material/knife/machete/hatchet,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zt" = (/obj/structure/table/glass,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zu" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zv" = (/obj/structure/table/glass,/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zw" = (/obj/effect/floor_decal/corner/green{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zx" = (/obj/structure/sink{pixel_x = 0; pixel_y = 28},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zy" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zz" = (/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zA" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zB" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zD" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/clothing/gloves/sterile/latex,/obj/item/weapon/hand_labeler,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/slime_scanner,/obj/item/device/slime_scanner,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction/yjunction{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zH" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"zI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zK" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"zL" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"zM" = (/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zN" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/obj/item/weapon/tool/wrench,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zO" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zP" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/obj/machinery/door/window/westright{name = "Xenoflora Containment"; req_access = list(55)},/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"zQ" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zR" = (/obj/effect/floor_decal/corner/green/full{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zS" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zT" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/vending/hydronutrients{categories = 3},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zU" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/botany/editor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/botany/extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"zW" = (/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zX" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora East"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"zY" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"zZ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Aa" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ab" = (/obj/machinery/disposal,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ac" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ad" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/button/remote/blast_door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ae" = (/obj/structure/window/reinforced,/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Af" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ag" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ah" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/botanydisk,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ai" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Aj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ak" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Al" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Am" = (/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"An" = (/obj/machinery/status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ao" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology West"; dir = 4},/obj/structure/closet/firecloset/full/double,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ap" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Aq" = (/obj/structure/table/standard,/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ar" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"As" = (/obj/structure/table/standard,/obj/item/glass_jar,/obj/item/glass_jar,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"At" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology East"; dir = 8},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/extinguisher,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Au" = (/obj/machinery/ai_status_display,/turf/simulated/wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"Av" = (/obj/machinery/door/blast/regular{desc = "Blastdoor divider"; id = "xenobioout7"; name = "Containment Divider"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Aw" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora West"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ax" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ay" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Az" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AA" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AB" = (/obj/item/weapon/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AC" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AE" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AF" = (/obj/machinery/light/spot{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AG" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AH" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AI" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AJ" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"AK" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AL" = (/obj/machinery/smartfridge/secure/extract,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AM" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/button/remote/blast_door{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/obj/structure/window/reinforced,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"AN" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"AO" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AP" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AQ" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AS" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"AT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AU" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"AW" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/river/indalsalven) -"AX" = (/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"AY" = (/mob/living/simple_mob/slime/xenobio,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"AZ" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/westleft{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ba" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/weapon/melee/baton/slime/loaded,/obj/item/weapon/gun/energy/taser/xeno,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Be" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/processor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bg" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bh" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/brigdoor/eastright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bi" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Port to Isolation"},/obj/structure/extinguisher_cabinet{pixel_x = -25},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bj" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/obj/structure/extinguisher_cabinet{pixel_x = -25},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bk" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Isolation to Waste"},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bl" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 9; icon_state = "intact"},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bm" = (/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bn" = (/obj/structure/closet/secure_closet/hydroponics{req_access = list(47)},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bo" = (/obj/structure/window/reinforced,/obj/machinery/biogenerator,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bp" = (/obj/structure/window/reinforced,/obj/machinery/seed_extractor,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bq" = (/obj/machinery/seed_storage/xenobotany,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Br" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bs" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bt" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 2"; dir = 4},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Bu" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bx" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"By" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Bz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/wingrille_spawn/reinforced,/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"BA" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"BB" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"BC" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/item/weapon/tool/wrench,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BD" = (/obj/effect/floor_decal/corner/green{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BE" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BF" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/effect/floor_decal/corner/green/full{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BG" = (/obj/effect/floor_decal/corner/green/full{dir = 8},/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BH" = (/obj/machinery/smartfridge/drying_rack,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BI" = (/obj/effect/floor_decal/corner/green{dir = 1},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BJ" = (/obj/machinery/light,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BK" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BL" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"BM" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for the divider between pens."; id = "xenobioout7"; name = "Containment Divider Switch"; pixel_x = 28; pixel_y = 0; req_access = list(55)},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"BN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BO" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BQ" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BS" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BT" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BU" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BV" = (/obj/machinery/status_display{pixel_x = 32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"BW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Xenoflora Storage"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"BX" = (/obj/structure/closet,/obj/item/toy/figure/scientist,/obj/item/clothing/accessory/armband/science,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"BY" = (/obj/machinery/button/remote/blast_door{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 0; pixel_y = -28; req_access = list(55)},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"BZ" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ca" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/door/window/brigdoor/northright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cb" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/button/remote/blast_door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cc" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light,/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenobiology South"; dir = 1},/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -38},/obj/structure/reagent_dispensers/watertank/high,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cd" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access = list(55)},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ce" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cf" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ch" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ci" = (/obj/structure/closet/radiation,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cj" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/surface/outpost/research/xenoresearch/xenobiology) -"Ck" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cl" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"Cm" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cn" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Co" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cp" = (/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cq" = (/obj/machinery/light/spot,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cr" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cs" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ct" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"Cu" = (/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Cv" = (/turf/simulated/wall,/area/surface/outside/path/plains) -"Cw" = (/turf/simulated/floor/wood{outdoors = 1},/area/surface/outside/path/plains) -"Cx" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cy" = (/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"Cz" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"CA" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"CB" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"CC" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"CD" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) -"CE" = (/obj/structure/closet/l3closet/general,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) -"CF" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"CG" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"CH" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CI" = (/obj/machinery/door/airlock/glass_research{name = "Xenoflora Research"; req_access = list(55)},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CJ" = (/obj/structure/closet/crate/hydroponics/exotic,/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) -"CK" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"CL" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"CM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"CN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"CO" = (/obj/structure/closet/bombcloset,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenobiology) -"CP" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"CQ" = (/obj/effect/overlay/snow/floor,/obj/structure/grille,/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/outpost) -"CR" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/tiled/dark,/area/surface/outpost/research/xenoresearch/xenoflora) -"CS" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CW" = (/obj/machinery/camera/network/research_outpost{c_tag = "OPR - Xenoflora Grow Room 1"; dir = 2},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"CX" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"CY" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"CZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Da" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Db" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Dc" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Dd" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"De" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Df" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Dg" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Dh" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Di" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/tiled/hydro,/area/surface/outpost/research/xenoresearch/xenoflora) -"Dj" = (/obj/machinery/door/blast/regular{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) -"Dk" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) -"Dl" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"Dm" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/surface/outside/plains/normal) -"Dn" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/shuttle/response_ship/planet) -"Do" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"Dp" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Dq" = (/obj/effect/step_trigger/teleporter/bridge/north_to_south,/obj/structure/railing,/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) -"Dr" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Ds" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenoflora) -"Dt" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{icon_state = "railing0"; dir = 1},/turf/simulated/floor/outdoors/grass/sif/planetuse,/area/surface/outside/plains/normal) -"Du" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/surface/outside/river/indalsalven) -"Dv" = (/obj/effect/step_trigger/teleporter/bridge/south_to_north,/obj/structure/railing{icon_state = "railing0"; dir = 1},/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Dw" = (/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 1},/area/surface/outside/ocean) -"Dx" = (/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"Dy" = (/obj/effect/zone_divider,/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) -"Dz" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/syndicate_station/planet) -"DA" = (/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/plains/normal) -"DB" = (/turf/simulated/floor/plating/sif/planetuse,/area/surface/outside/plains/normal) -"DC" = (/obj/effect/step_trigger/teleporter/bridge/west_to_east,/obj/structure/railing{dir = 4},/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"DD" = (/obj/effect/step_trigger/teleporter/bridge/east_to_west,/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"DE" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/grass/sif/forest/planetuse,/area/surface/outside/plains/normal) -"DF" = (/obj/effect/zone_divider,/turf/simulated/floor/water,/area/surface/outside/river/faxalven) -"DG" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/surface/outside/plains/normal) -"DH" = (/obj/effect/zone_divider,/turf/simulated/floor/outdoors/rocks/sif/planetuse,/area/surface/outside/plains/normal) -"DI" = (/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 9},/area/surface/outside/ocean) -"DJ" = (/turf/simulated/floor/water,/area/surface/outside/lake/romsele) -"DK" = (/turf/simulated/floor/water/deep,/area/surface/outside/lake/romsele) -"DL" = (/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/skipjack_station/planet) -"DM" = (/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DN" = (/obj/item/weapon/banner/virgov,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DO" = (/obj/machinery/light,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DP" = (/obj/item/weapon/banner/nt,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DQ" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall) -"DR" = (/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/surface/outpost/wall) -"DS" = (/turf/simulated/wall/dungeon{icon = 'icons/obj/doors/shuttledoors.dmi'; icon_state = "door_locked"; name = "Wall Gate"},/area/surface/outpost/wall) -"DT" = (/obj/structure/sign/warning/caution{desc = "This appears to be a sign warning people that the other side is dangerous. It also says that NanoTrasen cannot guarantee your safety beyond this point."; name = "\improper WARNING: NO ACCESS"},/turf/simulated/shuttle/wall/voidcraft/hard_corner,/area/surface/outpost/wall) -"DU" = (/obj/structure/sign/warning/caution{desc = "This appears to be a sign warning people that the other side is dangerous. It also says that NanoTrasen cannot guarantee your safety beyond this point."; name = "\improper WARNING: NO ACCESS"},/turf/simulated/shuttle/wall/voidcraft,/area/surface/outpost/wall) -"DV" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DW" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DX" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/outpost/wall) -"DY" = (/obj/effect/step_trigger/teleporter/wild/to_wild,/turf/simulated/shuttle/floor/voidcraft/external,/area/surface/outpost/wall) -"DZ" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outside/lake/romsele) -"Ea" = (/turf/simulated/floor/water/shoreline/corner{icon_state = "shorelinecorner"; dir = 4},/area/surface/outside/ocean) -"Eb" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 8},/area/surface/outside/ocean) - -(1,1,1) = {" -aaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacadadadabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaeaeaeababababababababab -aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiajajajahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafahahahalalalalalalalalalalalalalalalalalalalahahahahalalalalalalalahahahahalalahahahahamajajajananananalalalalalalalalalalahahahahahahahahahahahahalalalalahahahahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafafafalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahalalalalalalalamajajajaoapaqanalalalalalalalalalalalahahahahahahahahahahalalalalalalahahahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalamajajajarasatanalalalalalalalalalalalalalahahahahahahalalalalalalalalalahahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalauavavavawaxayanalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajananananalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafafalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafafalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafafalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafafafalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafafafalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa -aaafafafafafafalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafaAafafaa -aaafafafafafafalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakaBafafafafaAaAafafaa -aaafafafafafafalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaBaBaBafafaAaAaAaAaAafaa -aaafafafafafafafalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaCaDaDaDaEaAaAaAaAaAaAafaa -aaafafafafafafafafalalalalalalalafafalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaGaDaDaDaHaAaAaAaAaCaEafaa -aaafafafafafafafafafalalalalafafafafafalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaIalazajajajalaIalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaCaJaDaDaDaHaAaAaAaCaJaKaLaM -aaafafafafafafafafafafafafafafafafafalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaCaJaDaDaDaDaKaLaLaLaJaDaDaDaM -aaafafafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNaNaOaOaOaNaNaPaPaPaPaQaQaQaPaPalalalalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaGaDaDaDaDaDaDaDaDaDaDaDaDaDaM -aaafafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalafafafafafafalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNaNaRaSaTaUaVaNaWaXaYaZaZaZbabbaPaPaPaPalalalazajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDaDaDaDaDaDaDaDaM -aaafafafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNbcbdbebebfbgaObhbibibibibibibjaPbkblaPbmbmbmazajajajalalalalalalalalalalalalalalalalalbnbnbobpbobnbnalalalalalalalalalalalalalalalalalalahahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDaDaDaDaDaDaDaM -aaafafafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaObqbebrbsbtbubvbwbxbybzbybAbBbCbDbEbFbGbmbmbmazajajajalalalalalalalalalalalalbHbIbJbIbHbnbKbLbMbNbObnbPbQbRbQbPalalalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDaDaDaDaDaDaM -aaafafafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaObSbTbUbVbWbXaObYbZbicacbcccbcdaQcecfaQbmbmbmazajajajalalalalalalalalalalalbHbHcgchcicjckbNclcmcnbNcocpcqcrcsbPbPalalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaCaJaDaDaDaDaDaDaDaDaDaDaDaDaDaM -aaafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalctalalalctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNcucucvcvcvcvaNcwcxcyaQczcAcBcCcDcDcDcDcEcEcEcFajajajalalalalalalalalalalbHbHcGcGcHcIcJcKcLcMcNcOcPcKcQcRcRcScTbPbPalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaCaJaDaDaDaDaDaDaDaDaDaDaDaDcUcUaM -aaafafafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalctalalalctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNcvcvcvcVcWcXcYcZbZdacDcDcDcDcDcDdbdcdddedfdfdgajajajalalalalalalalalalalbIdhdidjdkcIdlcKdmdndodpdqcKdrcRcRdsdtdubQalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaCaJaDaDaDaDaDaDaDaDaDaDaDcUcUcUcUaM -aaafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctalalalctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNdvdwcvdxdydzcYdAbZdBcDdCdDdEdFdGdHdIdJdKdKdKdLajajajalalalalalalalalalalbJdMcIdNcIdOdPbIdQdRdRdRdSbQdTdUcRdVdWdXbRalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUaM -aaafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNaNaNaNdYdZcYcYeaebeccDedeeeecDeedbcDcDegefcEehajajajalalalalalalalalalalbIeiejekelemeneoepeqereqeseteuevewexeyezbQalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUaM -aaafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmbmaQeAeBaQeCeDeEeFbheGbieHeIeIeJeKeeeLcDeMeMeMeMeNajajajalalalalalalalalalalbHeOePeQeReSeTbIeUeVeWeXeYbQeZfafbfcfdfebPalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUaM -aaafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmfffgfhfifjfkflfmfnfmfofpfqfrfsftfufvfwcDeMeMeMeMeNajajajajalalalalalalalbHbHbHfxfxfxfyfzfAfxcKbofBbocKfCfDfEfFfCfCfCbPbPalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM -aaafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmfGaPfHfIaPfJfKfLbYbieGbieHeIfMfNfOeefPcDeMeMeMeMeNajajajajajajajajajajfQbIfRfSbIfTfUfVcIfWfXbIfYfZgabQgbgcgcgdgegfgcggbQalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajaPaPghaPgigiaPgjgkglgmcDgneeeegoeedbcDeMeMeMeMgpajajajajajajajajajajfQgqgrgsgtgucIgvelelgwgxgygzgAgBgCgDgDgEgFgFgGgHbQalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajgIgJgKgLgKgMgIgNgOgPgOcDgQgRgSgTgUgVcDgWgWgWgWgXajajajajajajajajajajgYbHgZhabHhbhchdhehfhgfxhhhihjfChkhlhmhnhohphqhrbPalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajgIgIhshthuhvhwhxhyhzhyhAgIgIgIgIgIgIgIalalalalamajajajajajalalalalalalbHhBhBhBhBhBhChChChChChDhihEhFhFhFhFhFhGhGhGhFhFalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajgIhHhIhyhJhKhLhMhNhOhPhQhRhShShTgIalalalalalamajajajajalalalalalalalalhBhUhVhWhBhXhYhZiaibhDhihEhFicidieifigihiiijhFalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajgIikhIhyiliminioipiqirisisitiuivgIalalalalalamajajajalalalalalalalalalhBiwixiyhBiziAiAiBhCiCiDiEhFiFiGiGiGiHiHiGiIhFalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajgIiJiKiLhJhyiMiNiOiPiQiRiSiTiUiVgIalalalalalamajajajalalalalalalalalalhBhBiWhBhBiXiYiZjahChDhijbhFiHiHjciiiiiHiHiGhGalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajgIgIjdjejfjggIgIjhgIgIjijjjkjkgIgIalalalalalamajajajalalalalalalalalaljljmjnjojphChCjqhChCjrhijshGjtiHjujvjwiGiHiHhGalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajgIgIgIgIjxgIjyjzjygIgIgIgIgIgIalalalalalalamajajajalalalalalalalalaljljAjWjCjDjEjFjGjHjIfYhijJhGjKiHjLiHiGiGiHiHhGaljMjMalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalalajajajjNjOjOjOjPjOjOjQjRjRjRjRjRjRjRjRjRjRjRjRjRjSjRjRjRjTjTjTjTjTjTjTjTjTjUjVlSjXjYjZkakbkakckakdkekfkgkhkikhkhkjiHiHhGalaljMalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajajajajajajamajajajajajajajajajajajajajajajajajajajajamajajajalalalalalalalalaljlkkjBkljpkmknkokpkqkrkskthGkuiGjuiHiHiHiHiHhFalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalaljMalalalalajajajajajajajajajajajamajajajajajajajajajajajajajajajajajajajajamajajajalalalalalalalalaljlkvkwkxjpkykzkAkBkBjIkCkDhFhFkEkFkGkHkIkJkKhFalaIalaljMalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalalalalalalalkLalalalalalalalalalalalalalalalalalalalalamajajajalalalalalalalalalkMkNkNkNkNkNkNkNkMkOkPkQkRkShFhGkThGhGhFhFhFhFalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalkUkUkUkUkVkVkWkXkWkYkYkYkYkZkZkYkYkYkYalalalalalalalalalamajajajalalalalalalalalalkMlalblclbldlelflglhliljlkfYjIlllmlnlolplqlrlsltjMalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalkUkUlulvlwlxlylzlAlBlClDlElFlElGlHlElIkYkYalalalalalalalalamlJlJlKalalalalalalalalalkMlLlMlMlMlMlNlOlPlQlRpIlTlUlVlWlXlYlZmambmcmdmejMjMjMalalalalafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalkUmflxlxlxmgmhlzmimjlCmkmlmmmnmomnmnmpmqkYalalalalalalalalmrmsmtmumualalalalalalalalmvmwmxmxmxmxmymzmvhhmAmBmCfYjImDmEmFmGkBmHmIkBmJaljMjMalalalalafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalkUlulxmKlxmLlxlzmMmNlCmOlEmPlEmQlElElEmRkYalalalalalalalalmSmTmUmVmsalalalalalalalalmvmWmXmWmXmWmWmYkMmZfYnakRnbncndnendndkBkBkBkBalalaljMjMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalkUnflxngnhninjlznknllClEnmnnnonpnononqnrkYalalalalalalalalmSnsntnumsalalalalalalalalkMnvnwnxnynzmWnAkMkBjInBkDncncnCnDnEnFnGncalalalaIalaljMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajaIalkUnHnIlxlxnJnKnLnMnNlClElElElEnOlElElEnPkYalalalalalalalmumrmsnQmumumualalalalalalalkMnRnSnTnUnVmWnWkNnXfYiDnYnZoanEobocndndncalalalalalaljMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalodkUkUkUkVkVoeofnLogohlCkZkZkZlCoilCkZkZojkYmumumsmsmumsmsmuokolomonoomumsmsmumsmsmumukMkNmvopmvkNmvmvkNoqfYnakRndornEosnEotouncalalalalalaljMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajovowoxoyozoAoBoCoDoEoFoGoHoIoJoJoKoLoMoJoNoOoJoPoQoRoRoSoRoToRoUoVoWoXoYoZoRoRpaoToRoRoPpbpclhpdpepcpfpcpgphphpipjndpknEosplndndncncncalalalaljMalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajpmpnpopppqprpsptpupvpwpxpypvpvpzpvpApvpvpBpvpCpDpEpFpGpGpGpHpGpKpJqupLpGpGpGpFpGpHpGpMpNgylUlUpOpPpPpQpPpPpPkapRpSndpTnEosplndpUpVpWncalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajpXodpYpZodqaqbqcpsqdqeqfqgqhqiqjpsqcqkqlqmqnqoqpqqqrqqqsqqqqqtqQqvqwqxqyqqqqqrqzqqqqqqqpqAqBqBqCqBqBqBqBqDfYqEqFqGndqHqIqJqKqLqMqNqOncalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalododododqPqPqcpsqPqPqPqPqPqPqPpsqcqPqPodododmumumsmsmumsmsmurAqRntqSqTmumsmsmumsmsmumukBqUqVqWqXqYqZrarbfYrcrdrerfrgnErhrindpUrjpWncalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajaIalodrkrlrmrnrorprqrrrsqPrtrurvrprorwrxryrzodalalalalalalalmurVmurBmsmumualalalalalalalkBrCrDrDrDrDrDrDrDrDrErFrGndndndrHndndndrIncncalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalowrJrKrLqPqcrMqPrNrOqPrPrQqPrRqcqPrSrTrUowalalalalalalalaltgrWmUmVmsalalalalalalalalalrCrXrYrZrZsasbscsdsesfsgshsisjskslsmsnsorCalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalodqPqPqPqPqcpsqPqPqPqPqPqPqPpsqcqPqPqPqPodalalalalalalaIaltgspsqsrmsalaIalalalalalalalssstsusvswswswswswswsxswswswswswswsyszstssalalalaljMalalalalafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalodsArlrmsBsCsDsEsFsGqPsHsIsJsKsCsLrxrysModalalalalalalalalrVmusNmsmualalalalalalalalalsOsPstsQsRsSsTsTsTsTsTsTsUsUsUsVsRsWstsXsOalalalaljMalalalalalafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalododsYsZqPowowqPtatbqPtctdqPowowqPtetfododalalalalalalalaltuthlJlJalalalalalalalalalalssstsRsQsRtitjtjtjtjtjtjtktktktlsRsWsRstssalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalajajalalodowododalalododowodowododalalododowodalalalalalalalalaltuajajajalalalalalalalalalalrCrCtmtnsRtitjtjtjtotptqtktktktlsRtrtsrCrCalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaagagaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFttttttaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFaFtKttttttaFaFaFaFaFaFaFaFaFaFaFtvtwtxtytztAtAtAtBtCtDtEtEtEtFtytGtHtvaFaFaFaFaFaFaFaFaFaFaFaFagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagtItItItItJustLtLtLtLtLtLtLtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajalalalalalalalalalalalalalalalalalalalalalalalalalaltuajajajajalalalalalalalalalalsOsttOsRtitjtjtjtktktktktktktlsRtPstsOalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalalalalalalalalalalalalalalalalalalalalalalalaltuajajajajalalalalalalalalalalsssRsRsRtQtRtRtRtStStStStStStTsRsRsRssalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalalalalalalalalalalalalalalalalalalalalalaltuajajajajalalalalalalalalalalrCtUtVsRsRsRsRsRsRsRsRsRsRsRsRsRsRtWrCalalaljMalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalalalalalalalalalalalalalalalalalalalalaltuajajajajalalalalalalalalalalalrCrCsttXtYtZsRsRsRsRsRuatYubstrCrCalalalaljMalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafucucaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalmuudajajalalalalalalaluemuuealalalalalalalalalufmualtualajajajalalalalalalalalalalalalrCsssOssrCtXuguhuitXrCsssOssrCalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafucucaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalujukulululululululululumujukulululululululululumujaltualajajajalalalalalalalalalalalalalalalalrCrCsssOssrCrCalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafucucaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuououpupupupupuououqueunururuouououououruruqalaltuajajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalaljMalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafucaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururuououourururuqalajutajajajajajajajajajajajajajajalalalalalalalalalalalalalalalalalaljMjMalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafucucaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqajajutajajajajajajajajajajajajajajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafucucucaAaAaAaAaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqajajutalajajajalajajajajajajajajajajajajajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafucucucucaAaAaAaAuvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqajaluwyCuxuxuxyCyCyCyCyCyCyCyCyCyEajajajajajajajajalalalalaljMjMjMalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAuvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqalalalajajajajalalalalalalalalaltualalalalajajajajajajalaljMjMalalalalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAaAuvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqalalalajajajalalalalalalalalalaltualalalalalalajajajajajalalalalalalalalalalalalalalalalalalalalalalalalaluyuyafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalalalalalalaltualalalalalalalalajajajalalalalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyafafafafafafafafafafafafafafagafafafafafafafafafafafafafafucucucucucaAaAaAaAaAaAaAaAaAuvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalalalalalalaluzalalalalalaIalaluAuBuBalalaIalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyuyuyafafafafafafafafafafafafagafafafafafafafafafafafafafucucucucucucaAaAaAaAaAaAaAaAaAaAuvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalalalalalalaluzalalalalalalaluCuDuEuFuCalalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyafafafafafafafagafafafafafafafafafafafafucucucucucucaAaAaAaAaAaAaAaAaAaAaAaAuvuuaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalaluGuGuGuHuHuIuHuJuJuJuJuJuJuJuKuLuMuDuDuDuFuNuFuDuDuFuDuOuDuFuDalalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyafafafafagafafafafafafafafafafafucucucucucucucaAaAaAaAaAaAaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalaluGuGuPuQuRuSuTuUuVuWuXuYuZvauJvbvcvduDvevfvgvhvivjuOvkvkvkvlvmuDuDalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvnvovovovovovovovpucucucucucucucucucucaAaAaAvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupuouououpupupuqueunuourururururururuouqalalalajajajalalalaluGvrvsvtuRvuvvvwuVvxvyvzvAvBuJuDvCuFuDvDvEvFvGvHvIuOvkvkvkvJvKuOuDalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupuouououououpupuqueunuouourururururuououqalalalajajajalalalaluGvNvOvNuRuRvPuRuVuVuVvQuVuVuVvRvSvTuOvUvVvWvXvYvZuOuOuOuOwauOuOuDalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalwbwcwdwdwdwdwdwdwdwdwdwewbwcwdwdwdwdwdwdwdwdwdwewbalalajajajalalalaluFwfwgwhwiwjwkwlwmwnwowpwowqwrwowswowtwuwvwwwxwowywzwwwowAwBwCwDuFalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalmuwEalalalalalalalalalwEmuwEalalalalalalalalalwEmualalajajajalalalaluNwFwGwHwIwJwKwLwMwNwOwPwQwQwRwQwSwQwTwUwQwVwQwQwQwWwXwYwZxawFwFuNalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalaluFxbxcxdxexexfxexexgxcxhxixjuFuFxkuFuFuDxlxmxnwFxoxoxpxqxoxrxnxsxtxualalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalxexexvxwxxxyxzxAxBxyxCxDxExexexFxGxHxIxJxoxoxKxLxKxoxMxNxOxoxPxLxQxoxoalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalxexexRxSxTxUxexVxWxXxexYxZyaybxexeycydyexoxoyfygyhyiyjxOykxOylymynyoypxoxoalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalalxeyqyrysyryrxexeytxexeyuyvysywyxxeyyyzyAxoyBBjyDBByFyGxOykxOyHyIyJyKyKyLxoalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalxexexexexeyMysyryNyOyPyQyRyrysySxexexexexexoxoyTxOyKyUyVyWyXyYxOyZzazbzcyByBxoxoxoaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajalalalxezdzezfzgzhyrziysyszjysysziyrzkzlzfzezmxeznzozpzqyKzrzsztxOykxOzuzvzwyKxKzxzyxOxKuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajalalalalxezzzzzzzAzByszCzDzEzFzGzHzIzJzKzLzzzzzzxezMzNzOzPzQzRzSzTxOykxOzUzVzWzXxKxOxOzYxLuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajalalalalalalxezzzzzzzZAayrysyryrAbyryrysAcAdzlzzzzzzxeAeAfAfzqAgxOxOxOxOAhAiAiAjAiAiAkAiAlzYxKuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajajalalalalalalalxeAmAmAmAnAoyrysApAqArAsyrysAcAtAuAvAvAvxeAwAxAxAyzaAzAAAAABACADyKyKAEAFyBAGAHAIxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajajalalalalalalalalalxezzzzzzAJAKyrysyryrALyryrysAcAMANzzzzzzxoAOAPAQAyAgxOxOxOARASATyXyXyXyXAUyXAVzYxKuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -AWAXaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajajalalalalalalalalalalalxezzAYzzAZzBysBaBbBcBdzEBeBfBgzKBhzzzzzzxoBiyKDrBkBlBmBnBoARyKxOBpBqBrBsxKBtxOzYxLuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -AWAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajajalalalalalalalalalalalalalxeBuBvzfBwBxyrziysysysysysziAcByBzzfBvBAxoDsBCyKAyyKBDBEBFARyKxOBGBHBIyKxKxOBJBKxKuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -AWAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajajalalalalalalalalalalalalalalalxexexexexeBLysyrysyryryrysyrBgBMxexexexexoxoxoBNBOyKBPAABQBRBSyXBTyVBUBVyBBWxoxoxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -AWAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajalalalalalalalalalalalalalalalalalalxeBXyrysBYBZCaCbCcCdCaCeCfCgChCiCjCkClClxoCmCnCoCpyKyGARCqxOyHyKyKCrCsCtxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -AWCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalCvCwCwCvalalalalalalalalalalalalalalalalalalxexeCxyrxeCyCzCAAmCBCCCDxeyrCExexeClCluexoxoCFCGyBxKxKCHyBCIxKxKyBCsCJxoxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -AWAXCuCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalCKCwCwCLAXAXAXalalalalalalalalalalalalalalalalxexeCMxeCNzzzzAmzzzzCNxeCOxexeCPbmbmueCQxoxoCRyBCSxOCTCUCVCWxOBWCtxoxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -AWAXAXAXAXCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXCKCwCwCXCuAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXalxexexeCYzzzzAmzzAYCZxexexealCQCQCQCQCQalxoxoxoDaxODbAHDcxODdxoxoxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafAXAXAXCuCuCuAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXDeCwCwCXCuCuCuCuAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXalalxeDfzzzzAmzzzzDgxealalalalalalalalalalalxoxOzYzYDhzYzYDixouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafAXAXAXAXCuCuAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXCuDeCwCwCXAXAXCuCuCuCuCuCuCuCuCuCuCuCuCuCuCuCuCuAXAXAXxeDjDjDjxexexexexealalalalalalalalalaluyxoxKxLxKxoxKxLxKxouyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXCuCuCuCuCKCwCwCLAXAXAXAXAXAXAXAXAXCuCuCuAXCuCuCuCuCuCuCuAXAXAXalalalalalalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNAXAXAXAXAXAXAXAXAXCuCuAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXCuCuAXAXAXCKCwCwCLAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXCuCuCuCuAXAXAXAXAXAXalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuCuAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXAXAXAXCKCwCwCLAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuCuCuCuAXAXAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXCuCuCuAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXAXAXAXtNCvCwCwCvtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXCuCuCuCuAXAXAXAXAXAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNajajtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuCuCuCuCuAXAXAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuCuAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXCuCuAXAXAXAXAXtNtNtNtNtNtNtNajajajtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpAXAXAXAXAXAXAXCuCuCuCuCuCuCuAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXCuCuCuCuAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXCuAXAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajajtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXCuCuAXAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXCuCuAXAXAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXCuCuCuAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalAXAXAXCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXCuAXAXAXuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalAXAXAXCuCuCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXCuCuAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalAXAXAXAXAXCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalAXAXAXAXAXCuCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalAXAXAXAXCuCuAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalAXAXAXAXAXCuCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalAXAXAXAXAXAXCuCuAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXCuCuAXAXAXAXAXAXtNtNtNtNtNAXAXAXDlAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXCuCuCuAXAXAXAXAXAXAXAXAXAXAXAXDlAXAXAXAXAXAXCuCuCuCuAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuAXAXAXAXAXAXAXAXAXDlAXCuCuCuCuCuAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXCuCuCuCuCuAXAXAXAXAXDlAXAXAXAXAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpajajajajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXCuCuAXAXAXAXDlAXAXAXAXAXAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpajajajajajajajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXAXAXAXAXAXAXDlAXAXtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpajajajajajajajajajajajvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNAXAXAXAXAXtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpajajajajajajajajajajajajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXvpvpvpvpvpvpvpvpvpvpajajajajajajttajajajajajvpvpvpvpvpvpvpajajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXAXvpvpvpvpvpvpajajajajajajajajajttajajajvpvpvpvpvpvpvpvpvpvpajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajajajajajajajajajajajvpvpvpvpajajajajajajajajajvpvpvpvpvpvpvpvpvpvpAXAXCuCuCuAXAXvpvpvpvpajajajajajajvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnDnvpajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNDmtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpCvDoDoDpDpDpDoDoDqCvajajajajvpvpvpvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnDnDnajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpajajajCwCwCwCwCwCwCwCwCwCwajajvpvpvpvpvpvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnDnDnvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDcUcUcUcUcUcUaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajCwCwCwCwCwCwCwCwCwCwajvpvpvpvpvpvpvpvpvpvpvpDkvpDnDnDnDnDnDnDnDnDnDnDnDnvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpCvDtDuDuDvDvDvDuDuCvvpvpvpvpvpvpvpvpvpvpvpvpDkvpDnDnDnDnDnDnDnDnDnDnDnvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUaDaDaDDIDwDwDwuuaDaDaDaDcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpAXAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvMvMvMvMvMvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDcUcUcUcUaDaDDIEavqvqvquvDwuuaDaDaDaDcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUaDaDaHvqvMvMvqvqvquvDwuuaDaDaDaDcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUaDaDaDaHvqvqvMvMvMvqvqvquvuuaDaDaDaDcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUaDaDaDDIEavqvqvMvMvMvMvMvqvquvDwuuaDaDcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuAXAXAXvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqaCaLaJaDaDaDcUcUcUaDaDDIEavqvqvMvMvpvpvpvMvqvqvqvqaGaDaDaDcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqaCaLaLaLaJaDaDaDaDaDcUcUcUaDaDaHvqvqvMvMvpvpvpvpvMvMvMvMvquvuuaDaDaDcUaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqaLaLaLaJaDaDaDaDaDaDaDaDaDcUcUcUcUaDaKaEvqvMvMvMvpvpvpvpvMvMvMvMvquvuuaDaDaDaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMAXAXaDaDaDaDaDaDaDaDaDaDaDaDaDaDcUcUcUaDaDaKaEvqvMvMvMvMvpvpvpvpvMvMvMvquvuuaDaDaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMAXAXAXAXAXaDaDaDaDDIDwDwDwDwDwDwuuaDaDcUcUcUaDaDaDaKaEvqvqvMvMvMvMvMvMvMvMvMvqvqaGaDaDaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXAXvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXaDaDDIDwEavqvqvqvqvqvqaGaDaDaDcUcUcUaDaDaDaKaEvqvqvMvMvMvMvMvMvqvqvqvqaGaDaDaM -aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuAXAXAXAXvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXDwDwEavqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUaDaDaDaKaLaEvqvqvqvqvqvqvqaCaLaLaJaDaDaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUaDaDaDaDaKaLaLaLaLaLaLaLaJaDaDaDaDaDaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXvpvpvpvpvpDkvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUcUcUcUcUaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpAXAXCuCuAXAXAXAXAXAXAXAXDlAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUaDaDaDaDaDaDaDaDaDaDaDaDcUcUcUaM -aaafafafvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxAXAXAXCuCuCuAXAXAXAXCuCuDyCuCuCuAXAXAXAXAXAXAXAXAXvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxAXAXAXAXAXAXCuCuCuCuCuDyCuCuCuCuCuCuCuCuCuAXAXAXvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxAXAXAXAXAXAXAXAXAXAXDlAXAXAXAXAXCuCuAXAXAXAXAXAXvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvpvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpAXAXDlAXAXAXAXAXAXAXAXAXAXAXAXAXAXAXvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXAXvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMAXAXAXAXAXAXaLaEvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMAXAXAXAXaDaKaEvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADAvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqAXAXAXaDaDaKaLaLaEvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADAvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDBvpDBvpCvCwCwCvvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqAXAXaDaDaDaDaDaKaLaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADAvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDCCwCwDDDxDxDxDxDxDxDxvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvquvDwDwuuaDaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADAvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxDxDCCwCwDDDxDxDxDxDxDxDxDxvpvpvpvpDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADAvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxDxDxDxDCCwCwDDDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvquvDwuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADAvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxDxDxDxDxDCCwCwDDDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADAvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxDxDxDBvpDBvpCvCwCwCvvpvpvpDxDxDxDxDxDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADAvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADAvMvMDzDzDzDzvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvMvMvMDAvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADAvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvMvMvMvMvMvMvMvMvMvMDADADADADADEvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADAvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDADADADADEDADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDADADADEDADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMDAvMvMvMDADADADADADEDADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaagagagDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDFDFDFDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkttttttttDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDkDGDGDGDGDGDGDHDHDHDHDHDHDHDHDHDHDHDHEbtLtLtLtLtLtLtLtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMtMaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpvpvpDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpvpvpvpvpDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpvpvpvpvpDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvpvpvpvpDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvquvDwuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDKDKDKDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvDwuuaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM -aaafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDcUcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDcUcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvaDaDaDaDaDaDcUcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDcUcUcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDcUcUcUcUaM -aaafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJDJvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvDwuuaDaDaDaDaDcUcUcUaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvDwDwuuaDaDaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvquvDwDwaM -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafaa -aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafaa -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvMvMvMDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafaa -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvpvpvMvMDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafaa -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvMvpvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMDLDLDLDLvMvMvMDLvMvMvMvMvMDLvMvMvMDLDLDLDLvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafaa -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJvMvpvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMvMDLDLDLDLDLDLDLvMvMvMDLDLDLDLvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvMvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMDLDLDLDLDLDLDLDLDLvMvMDLDLDLDLvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJvMvMvMDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMDLDLDLDLDLDLDLDLDLvMvMDLDLDLDLvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa -aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqafafafafaa -aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMDADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqafafafafafaa -aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMDADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqafafafafafaa -aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMDADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvpvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqafafafafafaa -aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqafafafafafaa -aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMDADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafaa -aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMDADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafaa -aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvpvpvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafaa -aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafaa -aaafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafaa -aaafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMDADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafaa -aaafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMvMvMDADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDJDKDKDKDKDKDKDJDJDJDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafafaa -aaafafafafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMvMvMDADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDJDKDKDKDKDJDJDJDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafafafafaa -aaafafafafafafafafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADAvMvMDMDMDMvMvMDADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDJDJDJDKDKDJDJDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDMDMDMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafafafafafafaa -aaafafafafafafafafafafafafafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADAvMDNDMDODMDPvMDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDJDJDJDJDJDJDJDJDJvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDNDMDODMDPvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpafafafafafafafvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMDLDLDLDLDLDLDLvMvMvMvMvMvMvMafafafafafafafafafafafafafafafafafafafafafaa -aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADAafafafafafDQDADADADQDADADADQDADADADQDADADADRDSDTDSDRDADADADQDADADADQDADADADQDADADADQDADADADQDADADADQDADADADQDADADADQDADJDJDJDKDKDJDJDJDADQDADAvpDQvpvpvpDQvpvpvpDQvpvpvpDQvpvpvpDQvpvpvpDRDSDUDSDRvpvpvpDQvpvpvpDQvpvpvpDQafafafafafafafafafafafafafagafafafvpvpvpvpvpvpvpafafafafafafafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMafafafafafafafafafafafafafafafafafafafafafafafafafafafaa -aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafDADADADADADADADADADADADAafafafafafafafafafafafafafafDADADADkDADADAafafafafafDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDMDMDMDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDJDJDKDKDJDJDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDMDMDMDQDQDQDQDQDQDQDQDQDQDQDQDQDQafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafvMvMvMvMafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaa -aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDVDMDWDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDJDJDKDKDJDJDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDVDMDWDQDQDQDQDQDQDQDQDQDQDQDQDQDQafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaa -aaaaaaaaaaaaaaaaabababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDQDYDYDYDQDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDQDZDZDZDZDZDZDQDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDQDYDYDYDQDXDXDXDXDXDXDXDXDXDXDXDXDXababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababab -"} - -======= "aa" = (/turf/unsimulated/wall/planetary/sif,/area/surface/outside/plains/mountains) "ab" = (/turf/unsimulated/wall/planetary/sif{icon_state = "rock-dark"},/area/surface/outside/plains/mountains) "ac" = (/turf/simulated/wall/dungeon,/area/surface/outside/path/plains) @@ -3383,7 +1560,13 @@ aaaaaaaaaaaaaaaaabababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabab "DZ" = (/turf/simulated/shuttle/wall/voidcraft,/area/surface/outside/lake/romsele) "Ea" = (/turf/simulated/floor/water/shoreline/corner{icon_state = "shorelinecorner"; dir = 4},/area/surface/outside/ocean) "Eb" = (/obj/effect/zone_divider,/turf/simulated/floor/water/shoreline{icon_state = "shoreline"; dir = 8},/area/surface/outside/ocean) - +"Ec" = (/obj/effect/shuttle_landmark{landmark_tag = "ninja_planet"; name = "Sif Surface North"},/turf/simulated/floor/outdoors/snow/sif/planetuse,/area/ninja_dojo/planet) +"Ed" = (/obj/effect/shuttle_landmark{docking_controller = "surface_dock_2"; landmark_tag = "shuttle2_planet"; name = "Outpost East Pad"},/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle2/planet) +"Ee" = (/obj/effect/shuttle_landmark{docking_controller = "surface_dock_1"; landmark_tag = "shuttle1_planet"; name = "Outpost West Pad"},/turf/simulated/floor/plating/sif/planetuse,/area/shuttle/shuttle1/planet) +"Ef" = (/obj/effect/shuttle_landmark{landmark_tag = "response_ship_planet"; name = "Sif Surface East"},/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/shuttle/response_ship/planet) +"Eg" = (/obj/effect/shuttle_landmark{landmark_tag = "syndie_planet"; name = "Sif Surface West"},/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/syndicate_station/planet) +"Eh" = (/obj/effect/shuttle_landmark{landmark_tag = "skipjack_planet"; name = "Sif Surface South"},/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/skipjack_station/planet) + (1,1,1) = {" aaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababacadadadabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaeaeaeababababababababab aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiajajajahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafakakakafafafafafafafafaa @@ -3416,7 +1599,7 @@ aaafafafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctalal aaafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctalalalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalaNaNaNaNdYdZcYcYeaebeccDedeeeecDeedbcDcDegefcEehajajajalalalalalalalalalalbIeiejekelemeneoepeqereqeseteuevewexeyezbQalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUaM aaafafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmbmaQeAeBaQeCeDeEeFbheGbieHeIeIeJeKeeeLcDeMeMeMeMeNajajajalalalalalalalalalalbHeOePeQeReSeTbIeUeVeWeXeYbQeZfafbfcfdfebPalalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaCaJaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUaM aaafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmfffgfhfifjfkflfmfnfmfofpfqfrfsftfufvfwcDeMeMeMeMeNajajajajalalalalalalalbHbHbHfxfxfxfyfzfAfxcKbofBbocKfCfDfEfFfCfCfCbPbPalalalalalalalalalalalahahahahahahahafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM -aaafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmfGaPfHfIaPfJfKfLbYbieGbieHeIfMfNfOeefPcDeMeMeMeMeNajajajajajajajajajajfQbIfRfSbIfTfUfVcIfWfXbIfYfZgabQgbgcgcgdgegfgcggbQalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctEcctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalbmbmfGaPfHfIaPfJfKfLbYbieGbieHeIfMfNfOeefPcDeMeMeMeMeNajajajajajajajajajajfQbIfRfSbIfTfUfVcIfWfXbIfYfZgabQgbgcgcgdgegfgcggbQalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajaPaPghaPgigiaPgjgkglgmcDgneeeegoeedbcDeMeMeMeMgpajgLajajajajajajajajfQgqgrgsgtgucIgvelelgwgxgygzgAgBgCgDgDgEgFgFgGgHbQalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaAaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctctctalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajajgIgJgKhcgKgMgIgNgOgPgOcDgQgRgSgTgUgVcDgWgWgWgWgXajajajajajajajajajajgYbHgZhabHhbhXhdhehfhgfxhhhihjfChkhlhmhnhohphqhrbPalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalctctctctctctctctctalalalalalalalalalalalalalalalalalalalalaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalajajgIgIhshthuhvhwhxhyhzhyhAgIgIgIgIgIgIgIalalalalamajajajajajalalalalalalbHhBhBhBhBhBhChChChChChDhihEhFhFhFhFhFhGhGhGhFhFalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaAaAaAaAaCaJaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUaM @@ -3457,12 +1640,12 @@ aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtN aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururuououourururuqalajutajajajajajajajajajajajajajajalalalalalalalalalalalalalalalalalaljMjMalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafucucaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqajajutajajajajajajajajajajajajajajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafucucucaAaAaAaAaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqajajutalajajajalajajajajajajajajajajajajajajajalalalalalalalalalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafucucucucaAaAaAaAuvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqajaluwyCuxuxuxyCyCyCyCyCyCyCyCyCyEajajajajajajajajalalalalaljMjMjMalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAuvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurEdurururururururuqajaluwyCuxuxuxyCyCyCyCyCyCyCyCyCyEajajajajajajajajalalalalaljMjMjMalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAuvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqalalalajajajajalalalalalalalalaltualalalalajajajajajajalaljMjMalalalalalalalalalalalalalalalalalalalalalalalafafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAaAuvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunuoupupupupupupupuouqueunurururururururururuqalalalajajajalalalalalalalalalaltualalalalalalajajajajajalalalalalalalalalalalalalalalalalalalalalalalalaluyuyafafafafafafafafafafafafafafafafagafafafafafafafafafafafafafafafucucucucaAaAaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalalalalalalaltualalalalalalalalajajajalalalalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyafafafafafafafafafafafafafafagafafafafafafafafafafafafafafucucucucucaAaAaAaAaAaAaAaAaAuvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalalalalalalaluzalalalalalaIalaluAuBuBalalaIalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyuyuyafafafafafafafafafafafafagafafafafafafafafafafafafafucucucucucucaAaAaAaAaAaAaAaAaAaAuvuuaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalalalalalalaluzalalalalalalaluCuDuEuFuCalalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyafafafafafafafagafafafafafafafafafafafafucucucucucucaAaAaAaAaAaAaAaAaAaAaAaAuvuuaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupEeupuqueunuourururururururuouqalalalajajajalalalalalalalalalaluzalalalalalalaluCuDuEuFuCalalalalalalalalalalalalalalalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyafafafafafafafagafafafafafafafafafafafafucucucucucucaAaAaAaAaAaAaAaAaAaAaAaAuvuuaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalalaluGuGuGuHuHuIuHuJuJuJuJuJuJuJuKuLuMuDuDuDuFuNuFuDuDuFuDuOuDuFuDalalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyafafafafagafafafafafafafafafafafucucucucucucucaAaAaAaAaAaAaAaAaAaAaAaAaAaGaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupupupupupupupuqueunuourururururururuouqalalalajajajalalalaluGuGuPuQuRuSuTuUuVuWuXuYuZvauJvbvcvduDvevfvGvhvGvjuOvkvkvkvlvmuDuDalalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvnvovovovovovovovpucucucucucucucucucucaAaAaAvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafaftNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNaFalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalalunupupupuouououpupupuqueunuourururururururuouqalalalajajajalalalaluGvrvsvtuRvuvvvwuVvxvyvzvAvBuJuDvCuFuDvDvEvFvGvHvIuOvkvkvkvJvKuOuDalalalalalalaluyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyuyvLvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM @@ -3517,7 +1700,7 @@ aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtN aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXCuCuAXAXAXvpvpvpvpvpvpajajajajajajajajajttajajajvpvpvpvpvpvpvpvpvpvpajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNtNtNtNtNtNtNtNtNtNtNDmtNtNtNtNtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajajajajajajajajajajajvpvpvpvpajajajajajajajajajvpvpvpvpvpvpvpvpvpvpAXAXCuCuCuAXAXvpvpvpvpajajajajajajvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnDnvpajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvptNtNtNDmtNtNtNtNtNtNtNtNtNvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpCvDoDoDpDpDpDoDoDqCvajajajajvpvpvpvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnDnDnajajvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpajajajCwCwCwCwCwCwCwCwCwCwajajvpvpvpvpvpvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnDnDnvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDcUcUcUcUcUcUaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM +aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpajajajCwCwCwCwCwCwCwCwCwCwajajvpvpvpvpvpvpvpvpvpvpDkvMDnDnDnDnDnDnDnDnDnDnEfDnvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDcUcUcUcUcUcUaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUaM aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajajajCwCwCwCwCwCwCwCwCwCwajvpvpvpvpvpvpvpvpvpvpvpDkvpDnDnDnDnDnDnDnDnDnDnDnDnvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUaDaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUaM aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpCvDtDuDuDvDvDvDuDuCvvpvpvpvpvpvpvpvpvpvpvpvpDkvpDnDnDnDnDnDnDnDnDnDnDnvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDcUcUcUcUcUaDaDaDDIDwDwDwuuaDaDaDaDcUcUcUcUcUcUcUcUaM aaafafafvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajajajvpvpvpvpvpvpvpAXAXAXCuCuAXAXvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvMvMvMvMvMvpvpvpvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvquvuuaDaDaDaDcUcUcUcUaDaDDIEavqvqvquvDwuuaDaDaDaDcUcUcUcUcUcUaM @@ -3541,7 +1724,7 @@ aaafafafvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvpvMvMvMvMvM aaafafafvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXAXvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafafvMvMvMvMvMvMvMvMvMvMvMvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpAXAXAXAXAXAXAXAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpAXAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM -aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM +aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzEgDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMAXAXAXAXAXAXAXvqvqvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafvMvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMAXAXAXAXAXAXaLaEvqvqvqvqvqvqaGaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM aaafafvMvMvMvMvMvMvMvMvMvMvMvMDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzDzvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpajajajvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDxDxDxDxDxvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMAXAXAXAXaDaKaEvqvqvqvqaCaJaDaDaDaDaDaDaDaDcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUcUaM @@ -3618,7 +1801,7 @@ aaafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADA aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvMvMvMDJDJDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafaa aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvpvpvMvMDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafaa aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvMvpvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMDLDLDLDLvMvMvMDLvMvMvMvMvMDLvMvMvMDLDLDLDLvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafaa -aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJvMvpvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMvMDLDLDLDLDLDLDLvMvMvMDLDLDLDLvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa +aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJvMvpvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMvMDLDLDLDLDLDLDLvMvMvMDLEhDLDLvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJvMvMvpvMDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMDLDLDLDLDLDLDLDLDLvMvMDLDLDLDLvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa aaafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJvMvMvMDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMDLDLDLDLvMvMDLDLDLDLDLDLDLDLDLvMvMDLDLDLDLvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqvqvqafafafafaa aaafafafafafDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADEDADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADJDJDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJDKDKDKDKDKDKDKDKDKDKDKDKDKDJDJDJDJDJvMvMvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpDkvpvpvpvpvpvpvpvpvpvpvpvpvpvpvpvMvMvMDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLDLvMvMvMvMvMvMvMvqvqvqvqvqvqvqvqvqvqafafafafaa @@ -3641,5 +1824,3 @@ aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafDADADADADA aaafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagafafafafafafafafDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDVDMDWDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDJDJDKDKDJDJDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDQDVDMDWDQDQDQDQDQDQDQDQDQDQDQDQDQDQafafafafafafafafafafafafagafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaa aaaaaaaaaaaaaaaaabababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDQDYDYDYDQDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDQDZDZDZDZDZDZDQDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDXDQDYDYDYDQDXDXDXDXDXDXDXDXDXDXDXDXDXababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababab "} - ->>>>>>> ee162e9... June Map Adjustments (#6209) diff --git a/maps/southern_cross/southern_cross-6.dmm b/maps/southern_cross/southern_cross-6.dmm index 2b166531b6..946869f51d 100644 --- a/maps/southern_cross/southern_cross-6.dmm +++ b/maps/southern_cross/southern_cross-6.dmm @@ -385,7 +385,7 @@ "hu" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) "hv" = (/obj/machinery/computer/shuttle_control/web/ert{icon_state = "flightcomp_center"; dir = 4},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) "hw" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) -"hx" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "response_shuttle"; pixel_x = 0; pixel_y = -25; tag_door = "response_shuttle_door"},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) +"hx" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "response_shuttle"; pixel_x = 0; pixel_y = -25; tag_door = "response_shuttle_door"},/obj/effect/shuttle_landmark{base_area = /area/centcom/specops; base_turf = /turf/simulated/floor/plating; docking_controller = "response_base"; landmark_tag = "response_ship_start"; name = "ERT Shuttle Bay"},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) "hy" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "response_shuttle_door"; locked = 1; name = "Forward Docking Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor/red,/area/shuttle/response_ship/start) "hz" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "response_base_door"; locked = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/specops) "hA" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "response_base"; name = "docking port controller"; pixel_x = 0; pixel_y = -25; req_one_access = list(103); tag_door = "response_base_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) @@ -469,17 +469,17 @@ "ja" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/suppy) "jb" = (/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/centcom) "jc" = (/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/centcom) -"jd" = (/turf/simulated/shuttle/wall,/area/supply/dock) +"jd" = (/turf/simulated/shuttle/wall,/area/shuttle/supply) "je" = (/turf/unsimulated/wall,/area/centcom/main_hall) -"jf" = (/obj/structure/window/reinforced,/turf/simulated/shuttle/wall/dark/no_join,/area/supply/dock) +"jf" = (/obj/structure/window/reinforced,/turf/simulated/shuttle/wall/dark/no_join,/area/shuttle/supply) "jg" = (/turf/unsimulated/wall,/area/tdome) "jh" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/main_hall) "ji" = (/obj/machinery/door/blast/regular{icon_state = "pdoor1"; id = "CREED"; name = "Ready Room"; p_open = 0},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/command) "jj" = (/turf/unsimulated/wall,/area/centcom/creed) "jk" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/creed) -"jl" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor,/area/supply/dock) -"jm" = (/turf/simulated/shuttle/floor,/area/supply/dock) -"jn" = (/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor,/area/supply/dock) +"jl" = (/turf/simulated/shuttle/floor,/area/shuttle/supply) +"jm" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor,/area/shuttle/supply) +"jn" = (/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/supply) "jo" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "jp" = (/obj/structure/closet/secure_closet/hydroponics,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "jq" = (/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) @@ -488,8 +488,8 @@ "jt" = (/obj/machinery/computer/card/centcom,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "ju" = (/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "jv" = (/obj/structure/table/rack,/obj/item/weapon/storage/secure/briefcase,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) -"jw" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/floor,/area/supply/dock) -"jx" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/supply/dock) +"jw" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod1/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/centcom) +"jx" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod2/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/centcom) "jy" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) "jz" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/structure/holostool,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall) "jA" = (/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall) @@ -503,7 +503,7 @@ "jI" = (/obj/structure/bed/chair/office/dark,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "jJ" = (/obj/machinery/computer/pod{id = "NTrasen"; name = "Hull Door Control"},/obj/item/device/radio/intercom/specops{pixel_y = -21},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "jK" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) -"jL" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/supply/dock) +"jL" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/floor,/area/shuttle/supply) "jM" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating/airless,/area/centcom/evac) "jN" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 1"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "jO" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 2"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) @@ -518,7 +518,7 @@ "jX" = (/obj/structure/bed/chair/comfy/teal{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "jY" = (/obj/structure/table/wooden_reinforced,/obj/machinery/button/remote/blast_door{name = "Spec Ops Ready Room"; pixel_y = 15; req_access = list(11); id = "CREED"},/obj/machinery/button/remote/blast_door{name = "Mech Storage"; icon_state = "doorctrl0"; pixel_y = 0; req_access = list(11); id = "ASSAULT"},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "jZ" = (/obj/structure/table/wooden_reinforced,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) -"ka" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; pixel_y = 0; req_one_access = list(13,31); tag_door = "supply_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/supply/dock) +"ka" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/shuttle/supply) "kb" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/table/rack,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/shuttle/plating,/area/centcom/evac) "kc" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/shuttle/plating,/area/centcom/evac) "kd" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) @@ -546,15 +546,15 @@ "kz" = (/obj/machinery/door/airlock/centcom{name = "Administrative Office"; opacity = 1; req_access = list(108)},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "kA" = (/mob/living/simple_mob/animal/passive/dog/corgi/puppy/Bockscar,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) "kB" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) -"kC" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/supply/dock) -"kD" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/supply/dock) +"kC" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/floor,/area/shuttle/supply) +"kD" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; pixel_y = 0; req_one_access = list(13,31); tag_door = "supply_shuttle_hatch"},/obj/effect/shuttle_landmark/southern_cross/supply_offsite,/turf/simulated/shuttle/floor,/area/shuttle/supply) "kE" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/shuttle/plating,/area/centcom/evac) "kF" = (/obj/machinery/vending/engineering,/turf/simulated/shuttle/plating,/area/centcom/evac) "kG" = (/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/shuttle/plating,/area/centcom/evac) "kH" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2) "kI" = (/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "kJ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/storage/briefcase,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) -"kK" = (/turf/simulated/shuttle/wall/hard_corner,/area/supply/dock) +"kK" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/floor,/area/shuttle/supply) "kL" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/evac) "kM" = (/turf/simulated/shuttle/plating,/area/shuttle/escape_pod7/centcom) "kN" = (/turf/simulated/shuttle/plating,/area/shuttle/escape_pod8/centcom) @@ -562,7 +562,7 @@ "kP" = (/obj/structure/bed/chair/comfy/teal{dir = 1},/obj/effect/floor_decal/carpet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "kQ" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/command) "kR" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{dir = 2; icon_state = "dark"},/area/centcom/creed) -"kS" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/wall/no_join,/area/supply/dock) +"kS" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/shuttle/plating,/area/shuttle/supply) "kT" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_7_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock 7"; req_access = list(13)},/turf/simulated/shuttle/floor/black,/area/centcom/evac) "kU" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_7_recovery"; pixel_x = -26; pixel_y = 26; req_one_access = list(13); tag_door = "escape_pod_7_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) "kV" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_8_recovery"; pixel_x = 26; pixel_y = -26; req_one_access = list(13); tag_door = "escape_pod_8_recovery_hatch"},/turf/simulated/shuttle/floor/yellow,/area/centcom/evac) @@ -777,7 +777,7 @@ "oW" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "oX" = (/obj/machinery/vending/cigarette,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "oY" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) -"oZ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"oZ" = (/turf/simulated/shuttle/wall/hard_corner,/area/shuttle/supply) "pa" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) "pb" = (/obj/item/device/multitool,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/structure/table/reinforced,/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) "pc" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor/red,/area/shuttle/administration/centcom) @@ -1112,7 +1112,7 @@ "vt" = (/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "tradestarshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "vu" = (/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "tradestarshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) "vv" = (/obj/structure/window/reinforced,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "tradestarshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/shuttle/merchant/home) -"vw" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "trade_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "trade_shuttle_hatch"},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"vw" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/wall/no_join,/area/shuttle/supply) "vx" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) "vy" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/shuttle/plating/airless,/area/shuttle/merchant/home) "vz" = (/obj/effect/floor_decal/corner/red/full{dir = 4},/obj/structure/table/holotable,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt) @@ -1667,7 +1667,7 @@ "Gc" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'},/turf/unsimulated/floor{icon_state = "dark"},/area/ninja_dojo/dojo) "Gd" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/ninja_dojo/dojo) "Ge" = (/obj/machinery/door/airlock/voidcraft/vertical{frequency = 1331; id_tag = "ninja_shuttle_outer"; name = "Ship External Hatch"; req_access = list(150)},/obj/machinery/door/blast/regular{density = 0; dir = 8; icon_state = "pdoor0"; id = "blastninja"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) -"Gf" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "ninja_shuttle_sensor"; pixel_x = 0; pixel_y = 28},/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) +"Gf" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod7/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod7/centcom) "Gg" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/meter,/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) "Gh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) "Gi" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/shuttle/floor/voidcraft/light,/area/ninja_dojo/start) @@ -1768,7 +1768,7 @@ "HZ" = (/turf/simulated/shuttle/wall/dark,/area/shuttle/syndicate_elite/mothership) "Ia" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/centcom/evac) "Ib" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/shuttle/plating/airless/carry,/area/centcom/evac) -"Ic" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/simulated/shuttle/plating/airless/carry,/area/supply/dock) +"Ic" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod8/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod8/centcom) "Id" = (/turf/simulated/mineral,/area/space) "Ie" = (/turf/simulated/mineral,/area/skipjack_station) "If" = (/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station) @@ -2005,16 +2005,16 @@ "MC" = (/obj/machinery/autolathe{hacked = 1; name = "hacked autolathe"},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "MD" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/airless,/area/syndicate_station/start) "ME" = (/obj/structure/shuttle/engine/router{icon_state = "router"; dir = 8},/turf/simulated/floor/airless,/area/syndicate_station/start) -"MF" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/supply/dock) +"MF" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/supply) "MG" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_west_vent"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "MH" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_west_sensor"; pixel_x = 25},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "MI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "MJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "MK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/skipjack_station/start) -"ML" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_east_sensor"; pixel_x = -25},/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"ML" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/supply) "MM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1331; id_tag = "vox_east_vent"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "MN" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/shuttle/wall/voidcraft/red,/area/syndicate_station/start) -"MO" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/button/remote/blast_door{id = "smindicate"; name = "ship lockdown control"; pixel_x = -25},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) +"MO" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/supply) "MP" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "merc_shuttle_sensor"; pixel_x = 28; pixel_y = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "merc_shuttle"; pixel_x = 24; pixel_y = -2; req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) "MQ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/shuttle/wall/voidcraft/red,/area/syndicate_station/start) "MR" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 10},/turf/simulated/shuttle/wall/voidcraft/red,/area/syndicate_station/start) @@ -2023,7 +2023,7 @@ "MU" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "MV" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/obj/structure/table/steel,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "MW" = (/obj/machinery/light{dir = 4},/obj/structure/table/rack,/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) -"MX" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"},/turf/simulated/shuttle/plating/airless/carry,/area/supply/dock) +"MX" = (/obj/effect/shuttle_landmark/southern_cross/transport1_offsite,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "MY" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "MZ" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "vox_west_vent"; tag_exterior_door = "vox_northwest_lock"; frequency = 1331; id_tag = "vox_west_control"; tag_interior_door = "vox_southwest_lock"; pixel_x = 24; req_access = list(150); tag_chamber_sensor = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "vox_west_vent"},/obj/machinery/light/small,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Na" = (/obj/structure/flight_left,/turf/simulated/shuttle/floor/darkred,/area/skipjack_station/start) @@ -2264,6 +2264,19 @@ "RB" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_station/start) "RC" = (/turf/space,/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 4},/turf/simulated/shuttle/plating/airless/carry,/area/syndicate_station/start) "RD" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/skipjack_station/start) +"RE" = (/obj/effect/shuttle_landmark/southern_cross/large_escape_pod2/offsite,/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod2/centcom) +"RF" = (/obj/effect/shuttle_landmark/southern_cross/large_escape_pod1/offsite,/turf/simulated/shuttle/plating,/area/shuttle/large_escape_pod1/centcom) +"RG" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "admin_shuttle_hatch"},/obj/effect/shuttle_landmark/southern_cross/admin_offsite,/turf/simulated/floor/plating,/area/shuttle/administration/centcom) +"RH" = (/obj/effect/shuttle_landmark/southern_cross/cryostorage_offsite,/turf/simulated/shuttle/plating,/area/shuttle/cryo/centcom) +"RI" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "trade_shuttle"; pixel_x = -25; pixel_y = 0; req_one_access = list(101); tag_door = "trade_shuttle_hatch"},/obj/effect/shuttle_landmark/southern_cross/merchant_offsite,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant/home) +"RJ" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod4/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod4/centcom) +"RK" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod6/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod6/centcom) +"RL" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod3/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/centcom) +"RM" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod5/offsite,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/centcom) +"RN" = (/obj/effect/shuttle_landmark/southern_cross/escape/offsite,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) +"RO" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "ninja_shuttle_sensor"; pixel_x = 0; pixel_y = 28},/obj/effect/shuttle_landmark{base_area = /area/ninja_dojo/dojo; base_turf = /turf/snow; landmark_tag = "ninja_start"; name = "Dojo Outpost"},/turf/simulated/shuttle/floor/voidcraft/dark,/area/ninja_dojo/start) +"RP" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "vox_east_sensor"; pixel_x = -25},/obj/effect/shuttle_landmark{base_area = /area/space; base_turf = /turf/space; landmark_tag = "skipjack_start"; name = "The Hideaway"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) +"RQ" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/button/remote/blast_door{id = "smindicate"; name = "ship lockdown control"; pixel_x = -25},/obj/effect/shuttle_landmark{base_area = /area/space; base_turf = /turf/space; landmark_tag = "syndie_start"; name = "Merc Base Dock"},/turf/simulated/shuttle/floor/voidcraft/dark,/area/syndicate_station/start) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -2352,21 +2365,21 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiTiViViViTaaaaaaaaaaaaaaaaiXjajajajajajajajajaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYjbjbjbiYjcjcjciYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPpPpPpPpPpPaaaaaaaaaaaapPpPpPpPpPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiTiViViViTaaaaaaaaaaaaaaaaiXjajajdjdjdjdjdjajaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYjbjbjbiYjcjcjciYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaajgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPpPjpjpjpjqpPjrpPpPpPpPpPpPjBjBjCpPjrpPpPjejejejejejejeaaaaaaaaaaaaaaaaaaaaaaaaaaiTiViViViTaaaaaaaaaaaaaaaaiXjajdjdjfjfjfjdjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYjbjbjbiYjcjcjciYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaajgjojojojojojojojojojojojojojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPpPjDjqjqjqjqjqjqjqpPjRjSjSpPjTjTjTjTjTjTpPkjkjjekIkIkIjeaaaaaaaaaaaaiWiWiTiTiTiTiWiWjiiWjijjjjjkjkjkjjjjaaaaiXjajdjljmjmjmjnjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYiYjbjbjbiYjcjcjciYiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjgjgjojojgjgjgjgjgjgjgjgjgjgjojojgjgjgaaaaaaaaaaaaaaaaaaaaaaaaaapPjqjqldldldldldjqjqlpjSjSjSpPlqlWjTjTjTlXpPkjkjlekIkIkIjeaaaaaaaaaaaaiWjsjsjsjsjsjsiWiViViVjjjtjujujujvjjaaaaiXjajdjmjmjwjwjwjxjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYEZIaIaIaIbiYiYjbjbjbiYjcjcjciYiYEZIaIaIaIbiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojojojojPjojojQjQjQjQjQjojgjojojojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPlYjqldldldldldjqjqlZjSjSmapPpPpPpPmbpPpPpPkjkjlekIkIkIjeaaaaaaaaaaaaiWjsjEjFjFjGjsiTiViViVjkjHjIjJjujKjjaaaaiXjajdjmjmjmjmjmjLjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYjMjMjMjMjMiYiYiYjNiYiYiYjOiYiYiYjMjMjMjMjMiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojojgjgjgjgkikikikikikijgjgjgjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPmtjqjqjqjqjqjqjqmuqsmvjSjSjSmwmMmLjSmNmUqskjkjlekIkIkIjeaaaaaaaaaaaaiWjsjUjVjWjXjsiTiViViVjkjYjZjZjujujjaaaaiXjajdjmjmjmjmkajdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYkbkckckckciYkdkekfkekekekgkekdiYkckckckckhiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojojgksktkukukukvkvkukukukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPmVmXmWninhnjmtjqnCqsnDjSjSjSjSjSjSjSjSnEqskjkjjekIkIkIjeaaaaaaaaaaaaiWjsjUjVjVjXjsiWiViViVjjjujujujujujjaaaaiXjajdjmjmjmjmjmjLjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYkkklklklklkmkeknkokpknkqkoknkekmklklklklkriYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojojgksktkukvkvkHkHkvkvkukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPpPpPpPpPpPpPqslZqsqsnDjSjSnRnQocobodjSoeqskjkjjekIkIkIjejeaaaaaaaaaaiWjsjUjVjVjXjskyiViViVkzjujujujukBjjaaaaiXjajdjmjmkCkCkCkDjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYkEklklklkliYkeknkokpknkqkoknkeiYkFklklklkGiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojojgksktkukvkvkHkHkvkvkukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPokpRolpPpPjSjSjSjSjSjSjSjSomqskjkjlekIkIkIonjeaaaaaaaaaaiWjsjUjVjVjXjsiWiViViVjjjukAjujujujjaaaaiXjajdjljmjmjmjnjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalhiYiYiYiYiYiYkeknkokpknkqkoknkeiYiYiYiYiYiYlhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojojgksktkukukukvkvkukukukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPozpRoloApPqsoBpPjSoMoLpsprpPpPkjkjlekIkIkIpGjeaaaaaaaaaaiWjsjUjVkJjXjsiTiViViVjkjZjZjZjujujjaaaaiXjajdkKjmjmjmkKjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLkMkMkMkMkMiYkeknkokpknkqkoknkeiYkNkNkNkNkNkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojojgksktkukukukvkvkukukukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPpRpRolpIpHpJjqpKjSjSjSjSpLpMqskjkjlekIkIkIonjeaaaaaaaaaaiWjskOkPkPkQjsiTiViViVjkjZkRjujujujjaaaaiXjajdjdkSkSkSjdjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLkMkMkMkMkMkTkUknknknknknknknkVkWkNkNkNkNkNkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaajgjglajgjgjgjgjglblblblblblbjgjgjgjgjglcjgjgaaaaaaaaaaaaaaaaaaaaaaaaaapPpPpPpPpPpPpNpRolpQpOqqqpqDqrqFqEqOqNqPqskjkjlekIkIkIjejeaaaaaaaaaaiWjsjsjsjsjsjsiWiViViVjjjujujujujujjaaaaiXjajaIcMFMFMFMXjajaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLkMkMkMkMkMiYkekekekeknkekekekeiYkNkNkNkNkNkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaajgjojojojojojojojojojojojojojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPpPjDjqjqjqjqjqjqjqpPjRjSjSpPjTjTjTjTjTjTpPkjkjjekIkIkIjeaaaaaaaaaaaaiWiWiTiTiTiTiWiWjiiWjijjjjjkjkjkjjjjaaaaiXjajdjmjljljljnjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYiYjbjwjbiYjcjxjciYiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjgjgjojojgjgjgjgjgjgjgjgjgjgjojojgjgjgaaaaaaaaaaaaaaaaaaaaaaaaaapPjqjqldldldldldjqjqlpjSjSjSpPlqlWjTjTjTlXpPkjkjlekIkIkIjeaaaaaaaaaaaaiWjsjsjsjsjsjsiWiViViVjjjtjujujujvjjaaaaiXjajdjljljLjLjLkajaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYEZIaIaIaIbiYiYjbjbjbiYjcjcjciYiYEZIaIaIaIbiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojojojojPjojojQjQjQjQjQjojgjojojojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPlYjqldldldldldjqjqlZjSjSmapPpPpPpPmbpPpPpPkjkjlekIkIkIjeaaaaaaaaaaaaiWjsjEjFjFjGjsiTiViViVjkjHjIjJjujKjjaaaaiXjajdjljljljljlkCjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYjMjMjMjMjMiYiYiYjNiYiYiYjOiYiYiYjMjMjMjMjMiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojojgjgjgjgkikikikikikijgjgjgjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPmtjqjqjqjqjqjqjqmuqsmvjSjSjSmwmMmLjSmNmUqskjkjlekIkIkIjeaaaaaaaaaaaaiWjsjUjVjWjXjsiTiViViVjkjYjZjZjujujjaaaaiXjajdjljljljlkDjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYkbkckckckciYkdkekfkekekekgkekdiYkckckckckhiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojojgksktkukukukvkvkukukukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPmVmXmWninhnjmtjqnCqsnDjSjSjSjSjSjSjSjSnEqskjkjjekIkIkIjeaaaaaaaaaaaaiWjsjUjVjVjXjsiWiViViVjjjujujujujujjaaaaiXjajdjljljljljlkCjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYkkklklklklkmkeknkokpknkqkoknkekmklklklklkriYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojojgksktkukvkvkHkHkvkvkukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaapPpPpPpPpPpPpPqslZqsqsnDjSjSnRnQocobodjSoeqskjkjjekIkIkIjejeaaaaaaaaaaiWjsjUjVjVjXjskyiViViVkzjujujujukBjjaaaaiXjajdjljlkKkKkKkSjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYkEklklklkliYkeknkokpknkqkoknkeiYkFklklklkGiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojojgksktkukvkvkHkHkvkvkukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPokpRolpPpPjSjSjSjSjSjSjSjSomqskjkjlekIkIkIonjeaaaaaaaaaaiWjsjUjVjVjXjsiWiViViVjjjukAjujujujjaaaaiXjajdjmjljljljnjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalhiYiYiYiYiYiYkeknkokpknkqkoknkeiYiYiYiYiYiYlhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojojgksktkukukukvkvkukukukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPozpRoloApPqsoBpPjSoMoLpsprpPpPkjkjlekIkIkIpGjeaaaaaaaaaaiWjsjUjVkJjXjsiTiViViVjkjZjZjZjujujjaaaaiXjajdoZjljljloZjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLkMkMkMkMkMiYkeknkokpknkqkoknkeiYkNkNkNkNkNkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojojgksktkukukukvkvkukukukwkxjgjojojgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapPpRpRolpIpHpJjqpKjSjSjSjSpLpMqskjkjlekIkIkIonjeaaaaaaaaaaiWjskOkPkPkQjsiTiViViVjkjZkRjujujujjaaaaiXjajdjdvwvwvwjdjdjaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLkMkMkMGfkMkTkUknknknknknknknkVkWkNIckNkNkNkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaajgjglajgjgjgjgjglblblblblblbjgjgjgjgjglcjgjgaaaaaaaaaaaaaaaaaaaaaaaaaapPpPpPpPpPpPpNpRolpQpOqqqpqDqrqFqEqOqNqPqskjkjlekIkIkIjejeaaaaaaaaaaiWjsjsjsjsjsjsiWiViViVjjjujujujujujjaaaaiXjajaMLMFMFMFMOjajaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakLkMkMkMkMkMiYkekekekeknkekekekeiYkNkNkNkNkNkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgliljljljjglklllllllllllllllllkjglmlmlmlnjgaaaaaaaaaaaaaaaaaaaaaaaaaapPqQsRsRsRqRozpRolpIqSpJjqqTmtqTmtqTmtqTpPlelejekIkIkIjejejejejejejejeiWiWiWiTiTiTiWlfiTlfiWiWiWiWiWiWiWiWiWiWlglglglglglglglglglglglglgiWaaaaaaaaaaaaaaaaaaQjiYiYiYiYiYiYiYiYiYiYiYiYiYkeknkeiYiYiYiYiYiYiYiYiYiYiYiYiYQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgliljljlElFlllllllllllllllllllllFlGlmlmlHjgaaaaaaaaaaaaaaaaaaaaaaaaaapPqUsRqVsRrcozpRoljqqpjqqpjqqpjqqpjqqpjqrdkIkIkIkIkIkIjekIkIkIkIkIkIkIiWiWiWiViViViViViViViViViViViWiWiWiViViSNGlslsltltltlslslslslslsluiWaaaaaaaaaaaaaaaaaakLlvkllvlwlxlylzlAlBlAlAlAiYlBlClBiYkllDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgliljlTlElFlllllllllllllllllllllFlGlUlmlVjgaaaaaaaaaaaaaaaaaaaaaaaaaapPtLsRresRrcozpRolqpjqqpjqqpjqqpjqqpjqqpqskIkIkIkIkIkIjekIkIkIkIkIkIkIiWiWlJiViViViViViViViViViViVlJiWiWiViViTRllLlMlMlNlMlOlPlslQlRlslsiWaaaaaaaaaaaaaaaaaakLklklkllBlSlSlSlSlBlSlSlSiYkeknkeiYlDlDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaajgmqljljlElFlllllllllllllllllllllFlGlmlmmrjgaaaaaaaaaaaaaaaaaaaaaaaaaapPrfsRsRsIrcozpRoljqqpjqqpjqpIrhrgqqqpjqrdkIkIkIkIkIkIjekIkIkIkIkIkIkIiTiViViViVmcmdmemfmgmdmhiViViViViWiViVmimjmkmkmkmkmkmkmkmlmkmmmnltiWaaaaaaaaaaaaaaaaaakLlvklklmolSlSlSlSmplSlSlSiYkeknkeiYlDlDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBqBqBqBqBqBqBqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaajgmIljlTlElFlllllllllllllllllllllFlGlUlmmJjgjejejejejejejeaaaajejerijepPrjsRrcrcqRozpRoloArkrmrlqppQrornpJjqqppPlelejekIkIkIjekIkIkIkIkIkIkIiTiViViVmxmdmdmymdmymdmdmziViViViWiViViTNGmAmBmBmCmBmDmElsmFmGlslsiWaaaaaaaaaaaaaaaaaakLklklkllBmHlSlSmHlBlSlSlSiYkeknkeiYlDlDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqKqLqBqMqMqBqLqKqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaajgmqljljlElFlllllllllllllllllllllFlGlmlmmrjgaaaaaaaaaaaaaaaaaaaaaaaaaapPrfsRsRsIrcozpRoljqqpjqqpjqpIrhrgqqqpjqrdkIkIkIkIkIkIjekIkIkIkIkIkIkIiTiViViViVmcmdmemfmgmdmhiViViViViWiViVmimjMXmkmkmkmkmkmkmlmkmmmnltiWaaaaaaaaaaaaaaaaaakLlvklklmolSlSlSlSmplSlSlSiYkeknkeiYlDlDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBqBqBqBqBqBqBqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaajgmIljlTlElFlllllllllllllllllllllFlGlUlmmJjgjejejejejejejeaaaajejerijepPrjsRrcrcqRozpRoloArkrmrlqppQrornpJjqqppPlelejekIkIkIjekIkIkIkIkIkIkIiTiViViVmxmdmdmymdmymdmdmziViViViWiViViTNGmAmBmBmCmBmDmElsmFmGlslsiWaaaaaaaaaaaaaaaaaakLklklkllBmHlSlSmHlBlSlSlSiYkeknkeiYlDlDlDlDlDRElDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqKqLqBqMqMqBqLqKqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgmTljljlElFlllllllllllllllllllllFlGlmlmlmjgkIkIkIkIkIkIjejejejejhjhjhpPpPpRozozozpRpRpRrprprprppPpPpPpPpPrqpPpPkjkjjekIkIkIjekIkIkIkIkIkIkIiTiViVmcmdmdmdmOmPmOmdmdmdmhiViViWiVmQiWRllslsltltltlslslslslslsluiWaaaaaaaaaaaaaaaaaakLlvkllvlwmRlSlSmSlBlAlAlAiYkeknkeiYkllDlDlDlDlDlDlDlDlDlDlDkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBrararbqMqMrbraraqBqBqBqBqBqBqBqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgnbljncljndllllllnenflllllllllllFlmlmlmlmngkIkIkIkIkIkIjerrlerGkIkIkIkIrHpRpRpRpRpRpRpRrIrIrIrIpPjTjTjTjTjTrJpPkjkjjekIkIkIjejejejejejemYjeiWiViVmdmdmdmOmZmZmZmOmdmdmdiViViWiViViWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiWiTiSQjlhiYiYlBiYiYmpmpiYiYiYlBiYiYkeknkeiYiYlBiYiYiYnanaiYiYlBiYlhQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBqBqMqMqBqBqBqBrCqMrDrEqMrFqBqBqBqBqBqBqBqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgljljnvnwnxnynynynznAnBlllllllllFlmlmlmlmjgkIkIkIkIkIkIrRrrrSrGkIkIkIkIqspRpRpRpRpRqGpRrIrIrIrIpPrTpPrUpPjTjTpPkjkjjekIkIkIkIlekIkIjekIkIkIlfiViVnknlmOmZnmnnnonpmOnqnriViVlfiViViViViViViViViViViViViViViViViViViViVjiiTiViViTiYnsknlBkekekekekekekekekdlBkekeknkekelBkdkekekentkekekekenulBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqKqLqBqMqMqBqLqKqBrLqMqMqMrMrNqBrOrPrOrPrOrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -2374,20 +2387,20 @@ aaaaaaaaaaaaaajgnNljljnOndllllllnPnflllllllllllFlmlmlmlmngkIkIkIkIkIkIjerrlerGkI aaaaaaaaaaaaaajgoaljljlElFlllllllllllllllllllllFlGlmlmmJjgkIkIkIkIkIkIjejejejekIkIkIjepPpPqsqsqsqssPpPqsqsqsqspPpPpPpPpPpPpPkjkjkjlekIkIkIkIlekIkIjekIkIkIlfiViVnSnlmOnTnUnVnWmZmOnqnXiViVlfiViViViViViVnYiViViViViViViViViViViViViVjiiWiViViWiYnsknlBkekekekekekekekekdlBkekeknkekelBkdkekekenZkekekekenulBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBqBqBqBqBqMqMqBqBqBqBspspsqqMspspqBrPrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgojljlTlElFlllllllllllllllllllllFlGlUlmmrjgODODODODjejejekjkjlekIkIkIjekjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjlekIkIkIjejelelejelemsleiWiViVmdmdmdmOofmOogmOmdmdmdiViViWiWiWiWiWiWiWiWohohiWiWiWiWiWiWiWiWiWiWiWiWiWiWiTiSQjlhiYiYlBiYiYlwlwiYiYiYlwiYiYkeknkeiYiYlBiYiYiYoioiiYiYlBiYlhQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBszsAszqBsBsBqMqMsCsDsEqBqMqMqMqMqMqMqBsFrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgoyljljlElFlllllllllllllllllllllFlGlmlmoKjgkjkjkjkjkjkjkjkjjesQkIkIkIsSjekjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjkjjejekIkIkIleoooplolololooqiTiViVormdmdmdmOmOmOmdmdmdosiViViWlulululululululululululululululululululululuiWaaaaaakLotototototototiYouovlwowiYkeknkeiYoxoxoxoxoxoxoxoxoxoxoxklkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBsMsMsMqBqMrPrPrPrPrPqMqMqMrPrPrPrPqMsNrPrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaajgoJljlTlElFlllllllllllllllllllljgRhRhRhRhjglelelelejelelelejejhkIkIkIjhjejejejejelelelelelelelelelelelelejelelelejejhkIkIkIlemKsTlolololooCiTiViViVoDmdmdoEmdoEmdmdoFiViViViWlulululululululululululululululululululululuiWaaaaaakLotototototototiYoGoHlwoIiYkeknkeiYoxoxoxoxoxoxoxoxoxoxoxoxkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBtasMsMtbqMtctctctctcqMqMqMrPtdtdrPqMsNrPrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaajgoJljlTlElFlllllllllllllllllllljgRhRhRhRhjglelelelejelelelejejhkIkIkIjhjejejejejelelelelelelelelelelelelejelelelejejhkIkIkIlemKsTlolololooCiTiViViVoDmdmdoEmdoEmdmdoFiViViViWlulululululululululululululululululululululuiWaaaaaakLotototototototiYoGoHlwoIiYkeknkeiYoxoxoxoxoxoxRFoxoxoxoxoxkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBtasMsMtbqMtctctctctcqMqMqMrPtdtdrPqMsNrPrPrPrPrPrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgoTljljlElFlllllllllllllllllllljgkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIjhkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkInGkIkIkIkIjesVlololololooNiTiViViViVormdoOoPoQmdosiViViViViWlululululuoRoRoRoRoRoSoSoRoRoRoRoRlululululuiWaaaaaakLotototototototiYknknknkniYkeknkeiYoxoxoxoxoxoxoxoxoxoxoxoxkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBtasMsMqBqMrPrPrPrPrPqMqMqMrPrPrPrPtrqBsdrPrOrPsdrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaajgpgljljljjglklllllllllllllllllkjgkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIjhkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIjekIkIkIkIjelolololololooUiWiWlJiViViViViViViViViViViVlJiWiWlulululuoRoVoWoXoYoRoZpaoRpbpcoRoRoRoRlululuiWaaaaaakLotototototototpdpeknknknpfkeknkeiYoxoxoxoxoxoxoxoxoxoxoxoxkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBtAqBtBqBtCtDtEtFtGtHtIqBqMqMqMqMqMqMqBrOrPrOrPrOrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaajgpgljljljjglklllllllllllllllllkjgkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIjhkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIjekIkIkIkIjelolololololooUiWiWlJiViViViViViViViViViViVlJiWiWlulululuoRoVoWoXoYoRRGpaoRpbpcoRoRoRoRlululuiWaaaaaakLotototototRHotpdpeknknknpfkeknkeiYoxoxoxoxoxoxoxoxoxoxoxoxkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBtAqBtBqBtCtDtEtFtGtHtIqBqMqMqMqMqMqMqBrOrPrOrPrOrPqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaajgjglajgjgjgjgjglblblblblblbjgjgjgkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIjhkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkIkInGkIkIkIkIjephpipjpkpllopmiWiWiWiViViViViViViViViViViViWiWiWlululuoRoRpnpnpnpnoRpopooRpnpnpppqoRoRoRluluiWaaaaaakLotototototototpdknknknknpfkeknkeiYoxoxoxoxoxoxoxoxoxoxoxklkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBtTqBqBqBqBqBqBqBqBqBqBqBsqqMqBqBqBqBqBqBqBqBqBqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojgpCktjopDpDpEpEpDpDpDRipFjgjeleleletflelelejejelelelejejhkIkIkIjhjelelelejejelelelesUlelelejejelelejelelelejejhkIkIkIjejejejejejejejeiWiWiWiWiWiWiWlfiTlfiWiWiWiWiWiWiWluluoRoRoRptpupvpwoRpxpnpypnpnpnpnpzpAoRluluiWaaaaaakLotototototototiYlwlwpBlwiYkeknkeiYlwlwlwlwlwlwlwlwlwlwlwlwlwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqBqBaaaaaaaaaaaaaaaaaaqBqMtZqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojgpCktjopDpDpEpEpDpDpDRipFjgtekIkIkIkIkIkIkIRjjekjkjkjjejetftftfjejekjkjkjjekIkIkIkIkIkIkIkItgjekjkjkjkjkjkjjejekIkIkIjejeaaaaaaaaaaaaaaaapXpSpTpUpVpWpWpWpXpYpZqapZpYiWluluRoqcqdpnqeqeqeoRpnpnoRqfqgqhqiqjqkoRluluiWaaaaaakLotototototototiYqlqmqmqniYkeknkeqoknknknknknknknknknknknknlwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBqMqMqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojgpCktjopEpEqCqCpEpEpDRipFjgkIkIRkkIkIkIRkkIkIjekjkjkjkjjekIkIkIjekjkjkjkjjethtitikIkIkIkIkItgjekjkjkjkjkjkjkjlekIkIkIjeaaaaaaaaaaaaaaaaaapXqtquqvpXpWpWpWqwpYpZqxpZpYiWluluRpqcpnpnpnpnpnpypnpnoRoRoRoRoRoRoRoRluluiWaaaaaakLotototototototiYqlqzqmqniYlBlClBiYqAkoqAkoqAkoqAkoqAkoqAkolwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqBuQuQqBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojgpCktjopEpEqCqCpEpEpDRipFjgkIkIjeRqjeRqjekIkIlekjkjkjkjlekIkIkIlekjkjkjkjlekIkIkIkIkIkIkIkItjjelelejejejejejejejejejejeaaaaaaaaaaaaaaaaaapXpXpXpXpXpWpWpWqwpYpYpYpYpYiWluluoRoRpnpnpnqHpnoRpnpnpnqIqJlululululululuiWaaaaaaQjiYiYiYiYiYiYiYiYiYiYlwiYiYkeknkeiYiYiYiYiYiYiYiYiYiYiYiYiYQjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauXuYuYuXaaaaaaaauZuZuZuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojgpCktjopDpDpEpEpDpDpDRipFjgkIkIjeRmjeRmjekIkIlekjkjkjlelekIkIkIlelekjkjkjlekIkItkkIkIkIkIkIjejetstststsjeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXpSpTpUpVpWpWpWpYpYpYpYqWpZiWlululuoRoRoRoRoRoRoRpxpnqXpnqJlululululululuiWaaaaaaaaaaaaaakLqYqYqYqYqYiYkdkekekeknkekekekdiYqZqZqZqZqZkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZuZuZuZvtvuvvuZaaaaaaaaaauZuZvwvxuZuZaaaauZuZuZuZvyRsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaajgjojgjgjgjgkikikikikikijgjgjgjelolojeRnjeRnjelololekjkjkjlekIkIkIkIkIlekjkjkjlekIkIkIkIkIkIkIkIjetststststsjeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXrsquqvpXpWpWpWpYpYpYpYpYpYiWluluoRoRrtrurvrtrwoRpnpnpnrxqJlululululululuiWaaaaaaaaaaaaaakLqYqYqYqYqYryrzknknknknknknknrArBqZqZqZqZqZkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuXvEvFuZvGvHvIvJvKuZuZaaaaaauZuZuXuYuYuXuZvtvvuXvLvMuZvyRuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojgpCktjopDpDpEpEpDpDpDRipFjgkIkIjeRmjeRmjekIkIlekjkjkjlelekIkIkIlelekjkjkjlekIkItkkIkIkIkIkIjejetstststsjeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXpSpTpUpVpWpWpWpYpYpYpYqWpZiWlululuoRoRoRoRoRoRoRpxpnqXpnqJlululululululuiWaaaaaaaaaaaaaakLqYqYqYqYqYiYkdkekekeknkekekekdiYqZqZqZqZqZkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZuZuZuZvtvuvvuZaaaaaaaaaauZuZRIvxuZuZaaaauZuZuZuZvyRsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaajgjojgjgjgjgkikikikikikijgjgjgjelolojeRnjeRnjelololekjkjkjlekIkIkIkIkIlekjkjkjlekIkIkIkIkIkIkIkIjetststststsjeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXrsquqvpXpWpWpWpYpYpYpYpYpYiWluluoRoRrtrurvrtrwoRpnpnpnrxqJlululululululuiWaaaaaaaaaaaaaakLqYqYqYRJqYryrzknknknknknknknrArBqZRKqZqZqZkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuXvEvFuZvGvHvIvJvKuZuZaaaaaauZuZuXuYuYuXuZvtvvuXvLvMuZvyRuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjojojojojPjojorQrQrQrQrQjojgjelolojejejejejelololekjkjkjjekIkIkIkIkIjekjkjkjletJkIkIkIkIkIkIkIjetststststsjeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXpXpXpXpXpWpWpWqwpYpYpYpYpYiWluluRoqcpnpnpnpnpnpypnpnoRoRoRoRoRoRoRoRluluiWaaaaaaaaaaaaaakLqYqYqYqYqYiYkeknrKrKrKrKrKknkeiYqZqZqZqZqZkLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawdwewfwfwgwfwfwhwiwjuZuZvtvuvvuZuZwkwfwfwluZwmwnwowfwpuZvyRuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaajgjgjgjgjgjgjgjgjgjgjgjgjgjgjgjelololololololololojekjkjkjlekIkIkIkIkIlekjkjkjjekIkIkIkIkIkIkIkIjejejejejejejeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXpSpTpUpVpWpWpWqwpYpZqxpZpYiWluluRpqcrXpnpnpnpnoRpnpnpnpnpnoRpnrYrZoRluluiWaaaaaaaaaaaaaaiYiYiYiYiYiYiYkeknsasasasasaknkeiYiYiYiYiYiYiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawvwwwxwyuZwfwfwzwAwBuZwCwDwEwFwGwHwIwJwJwfwKwfwfwfwfwLuZvyRvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajejelololololololojejekjkjkjlelekIkIkIlelekjkjkjjejekIkIkIkIkIkIkIjeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXrsquqvpXpWsgshpXpYpZsipZpYiWluluoRoRoRsjskslsmoRpxslslslpnpypnpnpnoRluluiWaaaaaaaaaaaaaakLsnsnsnsnsniYkeknsasasasasaknkeiYsososososokLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZuZuZuZwOwfwfwPuZwQwRwSwTwUwVwWwJwJwfwKwfwXwYwfwfuZuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajejejejejejejejejekjkjkjkjkjlekIkIkIlekjkjkjkjkjjejejejerijejejejeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXpXpXpXpXpXpXpXpXpXpXpXpXpXiWlululuoRoRpnpnpnpnoRpnslslslpnoRstoRoRoRluluiWaaaaaaaaaaaaaakLsnsnsnsnsnsusvknswswswswswknsxsysososososokLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZxewfuZuXxfxgxhxixjxkwWwJwfwOuXuZuZuXxlxmuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajejejejejejejejejekjkjkjkjkjlekIkIkIlekjkjkjkjkjjejejejerijejejejeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapXpXpXpXpXpXpXpXpXpXpXpXpXpXiWlululuoRoRpnpnpnpnoRpnslslslpnoRstoRoRoRluluiWaaaaaaaaaaaaaakLsnsnsnRLsnsusvknswswswswswknsxsysoRMsososokLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZuZxewfuZuXxfxgxhxixjxkwWwJwfwOuXuZuZuXxlxmuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUtUjekIkIkIjetVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVtVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiWlulululuoRoRsJsKsLoRpnpnpnpnpnoRoRoRoRlululuiWaaaaaaaaaaaaaakLsnsnsnsnsniYkeknknknknknknknkeiYsososososokLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZxqxruZuZuZuZuZuZuZuZxswfwfwfwfxtwfwfwfwfuZuZxuwfuXuZxvxvuZuZuZuZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUuaubuatUucudueueuetUufugubububtUuhuhuiujtUlIkIkIkIlIuktKtNtMtOtKtPtVtPtQtRtRunumupuouotVuqurusuttVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiWlululululuoRoRoRoRoRoRoRoRoRoRoRoRlululululuiWaaaaaaaaaaaaaaiYiYiYiYiYiYiYsWsXkekeknkekesYsZiYiYiYiYiYiYiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauZuZxDxEuZxFuZxGxHxIuXuZxJwfwJwJwJwJwJwJwJwJwJwfwJwfxKxLwJwJwfuZvyRsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatUuBubuBtUubububububuCufufuDubububububububtUkIkIkIkIkIukululululululululuEuFuFuFuGululultVuHululuItVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiWlulululululululululululululululululululululuiWaaaaaaaaaaaaaaaaiYtlqmtmtniYiYiYiYkeknkeiYiYiYiYtotptptqiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxVxWwJxXuZxYuXuZxZuZyauZybwJwJycydyeyfygyhyiwJwJwJwJyjykwJwJwfuZvyRuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -2421,7 +2434,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBtyYzozozoyYyYyYyYyYyXyXyXyXyXyYBrBrBrBzBRBRBZ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazoBvyXyXyXBwzoaaaaaaByBRBRBECiBEBRBRByaaaaaazoBxyXyXyXBwzoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBsaaaaBLDtCxDuDvCxDwDxBKDyDnCxDzDABKDBDnCxDnDCDDDqBLaaaaBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazozozozoAByXyXCrzoaaaaByBECsAWBEByBEAWCsBEByaaaazoCryXyXyXCrzoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBsaaaaBLDECxDFCxCxCxCxCGDnCxBKCxDnCGCxCxCxCxDGDqDqBLaaaaBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBXAOANCJAPyXAXzozozozoCzCABRBRCBBaCBBRBRCACzzozozozoAByXAXzozozozoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBsaaaaBLDHCxDnDnCxDIDJBKDKDnCxDnDLBKDMDnCxDnBKDNDOBLaaaaBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazozozozoARyXBbCKyXBcCKCLBRBRBRBRBRBRBRBRBRCLCKyXBcCKAPyXBbCJAOANBXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBsaaaaBKCxBKBKBKCGBKBKBKDPDQDnDRDSBKBKBKCGBKBKBKDTBKaaaaBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazozozozoARyXBbCKyXBcCKCLRNBRBRBRBRBRBRBRBRCLCKyXBcCKAPyXBbCJAOANBXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBsaaaaBKCxBKBKBKCGBKBKBKDPDQDnDRDSBKBKBKCGBKBKBKDTBKaaaaBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazoBvyXyXBbCKBdyXCKCLBRBRBRBRBRBRBRBRBRCLCKBdyXCKAPyXBezozozozoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBsaaaaBKBKBKDUDVCxDWDXBKBKBKCGBKBKBKDYDZCxEaEbBKBKBKaaaaBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBtyYzozozoyYyYyYyYyYyXyXyXBezozozozoCzBfBRCZDaBRCZDaBRDbCzzozozozoARyXyXBvzoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBsaaaaaaBLEeCxCxCxCxCxEfBKEgEhEiBKEjCxCxCxCxCxCxBLaaaaaaBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazoBvyXyXyXBvzoaaaaBzDjBRCZDaBRCZDaBRDkBzaaaazoBvyXyXyXyXzoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBsaaaaaaBKBKDqEsDqEtCxEuBKEvEwExBKDZCxEyEzEAEBBKBKaaaaaaBsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -2447,7 +2460,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjFCFyFyFyFyFyFyFyFyFjFoFoFoFoFoFoFoFtFDFEFDFtFoFoFoFoFoFnFkFmFqFqFqFqFFFwFqFqFqFqFqFqFqFqFqFqFqFqFqFmFkaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjFjFjFjFjFjFGFyFHFIFIFIFJFyFyFjFjFKFKFjFoFtFDFtFtFtFtFtFDFtFoFpFoFoFkFmFqFqFqFqFqFLFLFqFqFqFqFqFqFqFqFqFqFqFqFmFkaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjFMFNFOFjFyFyFyFPFQFQFQFRFyFyFyFjFSFSFjFtFtFTFUFVFWFXFYFTFtFtFoFoFoFkFmFqFqFqFqFLFZGaFLFqFqFqFqFqFqFqFqFqFqFqFmFkaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjGbGbGbGcFyFyFyFPFQFQFQFRFyFyFyGdFSFSGdGeGfFtGgGhGhGhGiGjGkFtFoFoFoFkFmFqFqFqFqFLGlGmFLFqFqFFFqGnFqFqFqFqFqFqFmFkaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjGbGbGbGcFyFyFyFPFQFQFQFRFyFyFyGdFSFSGdGeROFtGgGhGhGhGiGjGkFtFoFoFoFkFmFqFqFqFqFLGlGmFLFqFqFFFqGnFqFqFqFqFqFqFmFkaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjGoGoGoFjFyFyFyFPFQFQFQFRFyFyFyFjFSFSFjFtGpGqGrGjGjGjGjGjGsFtFoFoFoFkFmFqFqFqFqFqFLFLFqFqFqFqFqFqFqFqFqFqFqFqFmFkaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjFjFjFjFjFjFyFyGtGuGuGuGvFyFyFjFjFKFKFjFtFTFTGwGjGjGjGxFTFTFtFoFoFpFkFmFqFqFwFqFqFqFqFqFqFqFqFqFqFqFqFqFuFqFqFmFkaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFjFoFoFoFoFjFyFyFyFyFyFyFyGyFyFjFoFoFoFoFoFtFTGzGjGAGjGBFTFtFoFoFoFoFkFmFqFqFFFwFqFqFqFqFqFqFqFqFqFqFqFqFwFqFqFmFkaaaa @@ -2493,7 +2506,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdIdaaaaaaaaMdMjMkMfaaaaaaaaaaaaaaaaaaaaaaaaaaMdMjMkMfaaIdIdIdIdIdIdIdIdabIdIdIdIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaMgMlMmMiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdIdIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdIdaaaaaaaaMdMeMeMfaaaaaaaaaaaaaaaaaaaaaaaaaaMdMeMeMfaaaaIdIdIdIdIdIdIdabIdIdIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaMnMhMhMoaaaaaaaaaaaaMpMpMqMrMsMpMpMpMpMpMpMpaaaaaaIdIdIdIdIdIdIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdaaaaaaaaaaMtMuMvMtaaaaaaMtaaaaaaaaaaMtaaaaaaMtMwMxMtaaaaIdIdIdIdIdIdIdabIdIdIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaMpMzMzMpaaaaaaMpMpMpMpMAMBMBMBMBMBMCMpMDMERAaaaaaaaaIdIdIdIdIdIdIdIdabaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdaaaaaaaaaaMtMGMHMtaaaaaaMtMIMJMJMJMKMtaaaaaaMtMLMMMtaaaaaaaaIdIdIdIdIdabIdIdIdIdIdIdIdIdaaaaaaaaaaaaMpMpMpMpMNMOMPMQMRMSMpMpMTMUMpMVMBMBMBMBMBMWMpMDMERBaaaaaaaaaaIdIdIdIdIdIdIdabaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdaaaaaaaaaaMtMGMHMtaaaaaaMtMIMJMJMJMKMtaaaaaaMtRPMMMtaaaaaaaaIdIdIdIdIdabIdIdIdIdIdIdIdIdaaaaaaaaaaaaMpMpMpMpMNRQMPMQMRMSMpMpMTMUMpMVMBMBMBMBMBMWMpMDMERBaaaaaaaaaaIdIdIdIdIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdaaaaaaaaaaMtMYMZMtaaaaMtMtNbNaNdNcNeMtMtaaaaMtNfNgMtaaaaaaaaaaIdIdIdIdabIdIdIdIdIdIdIdaaaaaaaaaaMpMpMpMBMBNhNiNjNkNlNmNnNnNoNpMBMpNqMBMBMBMpMpMpMpMDMERBaaaaaaaaaaIdIdIdIdIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdaaaaaaaaaaMtNrMtMtaaaaMtMtNtNsNuNsNvNwMtaaaaMtMtNxMtaaaaaaaaaaIdIdIdIdabIdIdIdIdIdIdaaaaaaaaMpMpMpMpNyMBMBMpNzNANAMQNBMBMBMBMBNyMpNCMBMBNDMpNENFMpMDMERCaaaaaaaaaaaaIdIdIdIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIdIdIdaaaaaaaaaaMtNHNIMtMtMtMtNJNsNsNsNsNsNJMtMtMtMtNKNMMtaaaaaaaaaaIdIdIdIdabIdIdIdIdIdaaaaaaaaMpMpNNNOMpMBMBNPMpNQNRNSNTMpNUNVMBMBMpMpMpNWMBNXNYNZOaMpMpMpMpMpaaaaaaaaaaaaIdIdIdIdIdabaaaa @@ -2522,3 +2535,4 @@ aaaaRfababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} + diff --git a/maps/southern_cross/southern_cross-7.dmm b/maps/southern_cross/southern_cross-7.dmm index 55eb0f8344..a9bad44316 100644 --- a/maps/southern_cross/southern_cross-7.dmm +++ b/maps/southern_cross/southern_cross-7.dmm @@ -81,6 +81,7 @@ "bC" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/shuttle/arrival/pre_game) "bD" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating/airless,/area/shuttle/arrival/pre_game) "bE" = (/obj/structure/closet/emcloset,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/shuttle/floor/white,/area/shuttle/arrival/pre_game) +"bF" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod1/transit,/turf/space/transit/north,/area/shuttle/escape_pod1/transit) "bG" = (/turf/simulated/sky/moving/north,/area/space) "bH" = (/turf/simulated/sky/north,/area/space) "bI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; nostop = 1; stopper = 0; tiles = 0},/turf/simulated/sky/moving/north,/area/space) @@ -89,7 +90,8 @@ "bL" = (/turf/simulated/sky/north,/area/skipjack_station/sky) "bM" = (/obj/effect/step_trigger/teleporter/landmark{landmark_id = "fall_sif"},/turf/simulated/sky/moving/west,/area/space) "bN" = (/obj/effect/step_trigger/teleporter/landmark{landmark_id = "fall_sif"},/turf/simulated/sky/west,/area/space) -"bO" = (/turf/space/transit/north,/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 4; teleport_z_offset = 4},/turf/space/transit/south,/area/space) +"bO" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod2/transit,/turf/space/transit/north,/area/shuttle/escape_pod2/transit) +"bP" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod3/transit,/turf/space/transit/east,/area/shuttle/escape_pod3/transit) "bQ" = (/turf/simulated/sky/moving/west,/area/space) "bR" = (/turf/simulated/sky/west,/area/space) "bS" = (/turf/simulated/sky/moving/south,/area/space) @@ -121,13 +123,48 @@ "cs" = (/turf/simulated/sky/moving/north,/area/shuttle/shuttle2/sky_transit) "ct" = (/turf/simulated/sky/moving/south,/area/shuttle/shuttle1/sky_transit) "cu" = (/turf/simulated/sky/south,/area/shuttle/shuttle1/sky) -"cw" = (/turf/space/transit/north,/turf/space/transit/south,/area/space) +"cv" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod5/transit,/turf/space/transit/east,/area/shuttle/escape_pod5/transit) +"cw" = (/obj/effect/shuttle_landmark/southern_cross/escape/transit,/turf/space/transit/north,/area/shuttle/escape/transit) "cx" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/north,/area/space) -"cy" = (/turf/space/transit/north,/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/south,/area/space) +"cy" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod4/transit,/turf/space/transit/east,/area/shuttle/escape_pod4/transit) "cz" = (/turf/space,/area/shuttle/shuttle2/orbit) "cA" = (/turf/space/transit/north,/area/shuttle/shuttle2/transit) -"cB" = (/turf/space/transit/north,/turf/space/transit/south,/area/shuttle/shuttle1/transit) +"cB" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod6/transit,/turf/space/transit/east,/area/shuttle/escape_pod6/transit) "cC" = (/turf/space,/area/shuttle/shuttle1/orbit) +"cD" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "response_ship_sky_transit"; name = "ERT Sky Transit"},/turf/simulated/sky/moving/east,/area/shuttle/response_ship/sky_transit) +"cE" = (/obj/effect/shuttle_landmark{landmark_tag = "response_ship_sky"; name = "Skies of Sif"},/turf/simulated/sky/east,/area/shuttle/response_ship/sky) +"cF" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod7/transit,/turf/space/transit/east,/area/shuttle/escape_pod7/transit) +"cG" = (/obj/effect/shuttle_landmark/southern_cross/escape_pod8/transit,/turf/space/transit/east,/area/shuttle/escape_pod8/transit) +"cH" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "response_ship_transit"; name = "ERT Transit"},/turf/space/transit/east,/area/shuttle/response_ship/transit) +"cI" = (/obj/effect/shuttle_landmark{landmark_tag = "response_ship_orbit"; name = "Orbit of Sif"},/turf/space,/area/shuttle/response_ship/orbit) +"cJ" = (/obj/effect/shuttle_landmark/southern_cross/large_escape_pod1/transit,/turf/space/transit/east,/area/shuttle/large_escape_pod1/transit) +"cK" = (/obj/effect/shuttle_landmark/southern_cross/arrivals_offsite,/turf/simulated/shuttle/floor,/area/shuttle/arrival/pre_game) +"cL" = (/obj/effect/shuttle_landmark/southern_cross/cryostorage_transit,/turf/space/transit/east,/area/shuttle/cryo/transit) +"cM" = (/obj/effect/shuttle_landmark/southern_cross/large_escape_pod2/transit,/turf/space/transit/east,/area/shuttle/large_escape_pod2/transit) +"cN" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "skipjack_sky_transit"; name = "Skipjack Sky Transit"},/turf/simulated/sky/moving/north,/area/skipjack_station/sky_transit) +"cO" = (/obj/effect/shuttle_landmark{landmark_tag = "skipjack_sky"; name = "Skies of Sif"},/turf/simulated/sky/north,/area/skipjack_station/sky) +"cP" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "syndie_sky_transit"; name = "Merc Sky Transit"},/turf/simulated/sky/moving/west,/area/syndicate_station/sky_transit) +"cQ" = (/obj/effect/shuttle_landmark{landmark_tag = "syndie_sky"; name = "Skies of Sif"},/turf/simulated/sky/west,/area/syndicate_station/sky) +"cR" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "ninja_sky_transit"; name = "Ninja Sky Transit"},/turf/simulated/sky/moving/south,/area/ninja_dojo/sky_transit) +"cS" = (/obj/effect/shuttle_landmark{landmark_tag = "ninja_sky"; name = "Skies of Sif"},/turf/simulated/sky/south,/area/ninja_dojo/sky) +"cT" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "ninja_transit"; name = "Ninja Transit"},/turf/space/transit/north,/area/ninja_dojo/transit) +"cU" = (/obj/effect/shuttle_landmark{landmark_tag = "ninja_orbit"; name = "Orbit of Sif"},/turf/space,/area/ninja_dojo/orbit) +"cV" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "skipjack_transit"; name = "Skipjack Transit"},/turf/space/transit/north,/area/skipjack_station/transit) +"cW" = (/obj/effect/shuttle_landmark{landmark_tag = "skipjack_orbit"; name = "Orbit of Sif"},/turf/space,/area/skipjack_station/orbit) +"cX" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "syndie_transit"; name = "Merc Transit"},/turf/space/transit/east,/area/syndicate_station/transit) +"cY" = (/obj/effect/shuttle_landmark{landmark_tag = "syndie_orbit"; name = "Orbit of Sif"},/turf/space,/area/syndicate_station/orbit) +"cZ" = (/obj/effect/shuttle_landmark{landmark_tag = "shuttle2_sky"; name = "Skies of Sif"},/turf/simulated/sky/north,/area/shuttle/shuttle2/sky) +"da" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "shuttle2_sky_transit"; name = "Shuttle 2 Sky Transit"},/turf/simulated/sky/moving/north,/area/shuttle/shuttle2/sky_transit) +"db" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "shuttle1_sky_transit"; name = "Shuttle 1 Sky Transit"},/turf/simulated/sky/moving/south,/area/shuttle/shuttle1/sky_transit) +"dc" = (/obj/effect/shuttle_landmark{landmark_tag = "shuttle1_sky"; name = "Skies of Sif"},/turf/simulated/sky/south,/area/shuttle/shuttle1/sky) +"dd" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 4; teleport_z_offset = 4},/turf/space/transit/south,/area/space) +"de" = (/turf/space/transit/south,/area/space) +"df" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/south,/area/space) +"dg" = (/turf/space/transit/south,/area/shuttle/shuttle1/transit) +"dh" = (/obj/effect/shuttle_landmark{landmark_tag = "shuttle2_orbit"; name = "Sif Orbit"},/turf/space,/area/shuttle/shuttle2/orbit) +"di" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "shuttle2_transit"; name = "Shuttle 2 Transit"},/turf/space/transit/north,/area/shuttle/shuttle2/transit) +"dj" = (/obj/effect/shuttle_landmark/transit{landmark_tag = "shuttle1_transit"; name = "Shuttle 1 Transit"},/turf/space/transit/south,/area/shuttle/shuttle1/transit) +"dk" = (/obj/effect/shuttle_landmark{landmark_tag = "shuttle1_orbit"; name = "Sif Orbit"},/turf/space,/area/shuttle/shuttle1/orbit) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababab @@ -141,7 +178,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacadaeaeaeadacacacacacacabacacacacacacadafafafadacacacacacacab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacadaeaeaeadacacacacacacabacacacacacacadafafafadacacacacacacab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacadaeaeaeadacacacacacacabacacacacacacadafafafadacacacacacacab -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacadaeaeaeadacacacacacacabacacacacacacadafafafadacacacacacacab +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacadaebFaeadacacacacacacabacacacacacacadafbOafadacacacacacacab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacadaeaeaeadacacacacacacabacacacacacacadafafafadacacacacacacab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacadadadadadacacacacacacabacacacacacacadadadadadacacacacacacab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacabacacacacacacacacacacacacacacacacacab @@ -163,8 +200,8 @@ ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajaj ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacadakakakakakakakakakadacacacacacacacabaaaaaaaaaa ahajajajajajajalalalalalalalajajajajajajahajajajajajajalalalalalalalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadadakakakakakakakakakadadacacacacacacabaaaaaaaaaa ahajajajajajajalamamamamamalajajajajajajahajajajajajajalanananananalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadakakakakakakakakakakakadacacacacacacabaaaaaaaaaa -ahajajajajajajalamamamamamalajajajajajajahajajajajajajalanananananalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadakakakakakakakakakakakadacacacacacacabaaaaaaaaaa -ahajajajajajajalamamamamamalajajajajajajahajajajajajajalanananananalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadakakakakakakakakakakakadacacacacacacabaaaaaaaaaa +ahajajajajajajalamamambPamalajajajajajajahajajajajajajalancvanananalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadakakakakakakakakakakakadacacacacacacabaaaaaaaaaa +ahajajajajajajalamamamamamalajajajajajajahajajajajajajalanananananalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadakcwakakakakakakakakakadacacacacacacabaaaaaaaaaa ahajajajajajajalalalalalalalajajajajajajahajajajajajajalalalalalalalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadakakakakakakakakakakakadacacacacacacabaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadakakakakakakakakakakakadacacacacacacabaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadakakakakakakakakakakakadacacacacacacabaaaaaaaaaa @@ -181,10 +218,10 @@ ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajaj ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasaqaparatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadakakakakakakakakakakakadacacacacacacabaaaaaaaaaa ahajajajajajajalalalalalalalajajajajajajahajajajajajajalalalalalalalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasaqaparatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacadadadadakakakakakadadadadacacacacacacabaaaaaaaaaa ahajajajajajajalauauauauaualajajajajajajahajajajajajajalavavavavavalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasaqaparatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacadadadadadadadacacacacacacacacacabaaaaaaaaaa -ahajajajajajajalauauauauaualajajajajajajahajajajajajajalavavavavavalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasawawawawawawawawawawawawawasasasasasasasasasaqaparatatatatatatatataxaxaxaxaxaxaxaxaxaxaxaxaxatatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaa +ahajajajajajajalauauaucyaualajajajajajajahajajajajajajalavcBavavavalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasawawawawawawawawawawawawawasasasasasasasasasaqaparatatatatatatatataxaxaxaxaxaxaxaxaxaxaxaxaxatatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaa ahajajajajajajalauauauauaualajajajajajajahajajajajajajalavavavavavalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasawayayayayayayayayayayayawawasasasasasasasasaqaparatatatatatatatataxazazazazazazazazazazazaxaxatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaa ahajajajajajajalalalalalalalajajajajajajahajajajajajajalalalalalalalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasawayayayayayayayayayayayayawasasasasasasasasaqaparatatatatatatatataxazazazazazazazazazazazazaxatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaa -ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasawayayayayayayayayayayayayawasasasasasasasasaqaparatatatatatatatataxazazazazazazazazazazazazaxatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaa +ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasawayayayayayayayayayaycDayawasasasasasasasasaqaparatatatatatatatataxazazazazazazazazazazcEazaxatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasaAayayayayayayayayayayayayaAasasasasasasasasaqaparatatatatatatatataBazazazazazazazazazazazazaBatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasaAayayayayayayayayayayayaAaAasasasasasasasasaqaparatatatatatatatataBazazazazazazazazazazazaBaBatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacabaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqasasasasasasasasaAaAaAaAaAaAaAaAaAaAaAaAaAasasasasasasasasasaqaparatatatatatatatataBaBaBaBaBaBaBaBaBaBaBaBaBatatatatatatatatatarapaoaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababaaaaaaaaaa @@ -199,7 +236,7 @@ ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajaj ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqapararararararararararararararararararararararararararararararararapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalalalalalalalajajajajajajahajajajajajajalalalalalalalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalaCaCaCaCaCalajajajajajajahajajajajajajalaDaDaDaDaDalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajalaCaCaCaCaCalajajajajajajahajajajajajajalaDaDaDaDaDalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajalaCaCaCcFaCalajajajajajajahajajajajajajalaDcGaDaDaDalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalaCaCaCaCaCalajajajajajajahajajajajajajalaDaDaDaDaDalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalalalalalalalajajajajajajahajajajajajajalalalalalalalajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -211,20 +248,20 @@ ahajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajaj ahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaiaiaiaiaiaiaaaaaaaaaaaaaaaaaaabacacacacacacacacacabaFaFaGaIaHaFaFabacacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajaJaJaJaJaJaJaJaJaJaJaJaJaJajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaKaKaKaKaKaKaKaKaKaKaKaKaKaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacababaFaMaLaHaNaOaFababacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajaJaPaPaPaPaPaPaPaPaPaPaPaJaJajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaKaQaQaQaQaQaQaQaQaQaQaQaKaKaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajajajahajajalalalalalalalalalalalalalajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabaFaFaRaSaTaFaUaFaFabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajaJaPaPaPaPaPaPaPaPaPaPaPaPaJajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaKaQaQaQaQaQaQaQaQaQaQaQaQaKaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajajajajajajajajajajajajajajajajahajajalaVaVaVaVaVaVaVaVaVaVaValalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabaWaXaYaZbabbbcbEaWabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajaJaPaPaPaPaPaPaPaPaPaPaPaPaJajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaKaQaQaQaQaQaQaQaQaQaQaQaQaKaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajajajajajajajajajajajajajajajajahajajalaVaVaVaVaVaVaVaVaVaVaVaValajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabbdbebebebebebebebfabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajbgaPaPaPaPaPaPaPaPaPaPaPaPbgajajajajajajajajahaaaEaaaaaaaaaaaaaaaabhaQaQaQaQaQaQaQaQaQaQaQaQbhaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajajajajajajajajajajajajajajajajahajajalaVaVaVaVaVaVaVaVaVaVaValalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabaWaXaYaZbabbbcbEaWabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajaJaPaPaPaPaPaPaPaPaPaPcHaPaJajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaKaQaQaQaQaQaQaQaQaQaQcIaQaKaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajajajajajajajajajajajajajajajajahajajalaVaVaVaVaVaVcJaVaVaVaVaValajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabbdcKbebebebebebebfabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajbgaPaPaPaPaPaPaPaPaPaPaPaPbgajajajajajajajajahaaaEaaaaaaaaaaaaaaaabhaQaQaQaQaQaQaQaQaQaQaQaQbhaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajajajahajajalaVaVaVaVaVaVaVaVaVaVaVaValajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabbdbebebebebebebebfabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajbgaPaPaPaPaPaPaPaPaPaPaPbgbgajajajajajajajajahaaaEaaaaaaaaaaaaaaaabhaQaQaQaQaQaQaQaQaQaQaQbhbhaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajajajahajajalaVaVaVaVaVaVaVaVaVaVaVaValajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabbibjbkbkbebkbkblbiabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajbgbgbgbgbgbgbgbgbgbgbgbgbgajajajajajajajajajahaaaEaaaaaaaaaaaaaaaabhbhbhbhbhbhbhbhbhbhbhbhbhaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalalalalalalalalalajajajajajajahajajalaVaVaVaVaVaVaVaVaVaVaValalajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacabbmbnbnbnbebnbnbnbmabacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalboboboboboboboalajajajajajajahajajalalalalalalalalalalalalalajajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacabbmbpbqbqbrbsbsbtbmabacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalboboboboboboboalajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabbmbnbnbnbebnbnbnbmabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalboboboboboboboalajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabbibubqbqbebqbqblbiabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajalboboboboboboboalajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabbdbebebebebebebebfabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajalbobobobobocLboalajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabbdbebebebebebebebfabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalboboboboboboboalajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabbdbebebebebebebebfabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalboboboboboboboalajajajajajajahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabaFaXbnbebebebnbEaFabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalboboboboboboboalajajajajajajahajajajalalalalalalalalalalalalalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacabaFbvbwbxbybzbwbAaFabacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajalboboboboboboboalajajajajajajahajajalalbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacabaFbCaFbDbDbDaFbCaFabacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -ahajajajajajajalalalalalalalalalajajajajajajahajajalbBbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacabababaFbCbCbCaFabababacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +ahajajajajajajalalalalalalalalalajajajajajajahajajalbBbBbBbBbBcMbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaabacacacacacacacacabababaFbCbCbCaFabababacacacacacacacacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajajajahajajalbBbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacabababababababacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajajajahajajalbBbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckapcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ahajajajajajajajajajajajajajajajajajajajajajahajajalalbBbBbBbBbBbBbBbBbBbBbBalajajajajajajahaaaaaaaaaaaaaaaaaaagacacacacacacacacacacacacacacacacacacacacacacacacacacacagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -236,7 +273,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajaj aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahajajajajajajajajajajajajajajajajajajajajajajahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGcqcqcqcqcqcqbGcqcqcqbGbGbGcqcqcqbGcqcqcqcqcqcqbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHcpcpcpcpcpcpbHcpcpcpbHbHbHcpcpcpbHcpcpcpcpcpcpbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahahahahahahahahahahahahahahahahahahahahahahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapckbGbGbGbGbGbGbGbIbKbKbKbKcqbGcqbKcqcqcqcqcqbKcqbGcqbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLcpbHcpbLcpcpcpcpcpbLcpbHcpbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapckbGbGbGbGbGbGbGbIbKbKbKbKcqcqcqbKbKbKbKbKbKbKcqcqcqbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLcpcpcpbLbLbLbLbLbLbLcpcpcpbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapckbGbGbGbGbGbGbGbIbKbKbKbKcqcqcqbKbKbKbKbKbKbKcqcqcqbKcNbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLcpcpcpbLbLbLbLbLbLbLcpcpcpbLcObLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapckbGbGbGbGbGbGbGbIbKbKbKbKcqcqbKbKbKbKbKbKbKbKbKcqcqbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLcpcpbLbLbLbLbLbLbLbLbLcpcpbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMapbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNapclclclclclclclclclclclclclclclclclclclclclapcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmapapckbGbGbGbGbGbGbGbIbKbKbKbKcqcqbKbKbKbKbKbKbKbKbKcqcqbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLcpcpbLbLbLbLbLbLbLbLbLcpcpbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbNapclbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTcmapapckbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -248,7 +285,7 @@ apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQ apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYbYbYbYbYbYbYbYbYbYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZbZbZbZbZbZbZbZbZbZbRbRbRbRbRbRbRbRbNapclbSbSbSbSbUbUbUbWbWbWbWbWbUbUbUbSbSbSbSclapcmbTbTbTbTbVbVbVbXbXbXbXbXbVbVbVbTbTbTbTcmapapckbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGckapcjbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYbYbQbYbYbYbYcacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZbZbRbZbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbUbUbWbWbWbWbWbWbWbWbWbUbUbSbSbSclapcmbTbTbTbVbVbXbXbXbXbXbXbXbXbXbVbVbTbTbTcmapapckbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGckapcjbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbQbQbQbQbQbQbQbQbQbQbQbYbYbYbYbYcacacacabYbYbYcacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbRbRbZbZbZbZbZcbcbcbcbbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSclapcmbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTcmapapckbGbGbGbGbGbGbIbIbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbKbIbIbGbGbGbGbGbGckapcjbHbHbHbHbHbHbJbJbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbLbJbJbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -apbMbQbQbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSclapcmbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTcmapapckbGbGbGbGbGbGbGbIbIbIbIbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbIbIbIbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbJbJbJbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbJbJbJbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +apbMbQbQbQbQbQbQbQbQbQbYbYbYcacacacacacPcacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcQcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbUbWcRbWbWbWbWbWbWbWbWbWbUbSbSbSclapcmbTbTbTbVbXcSbXbXbXbXbXbXbXbXbXbVbTbTbTcmapapckbGbGbGbGbGbGbGbIbIbIbIbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbIbIbIbIbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbJbJbJbJbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbJbJbJbJbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbQbQbQbQbQbQbQbYbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbQbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbRbZbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbRbRbRbRbRbRbRbRbNapclbSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSclapcmbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbQbQbQbQbQbQbYbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbRbNapclbSbSbSbUbWbWbWbWbWbWbWbWbWbWbWbUbSbSbSclapcmbTbTbTbVbXbXbXbXbXbXbXbXbXbXbXbVbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa apbMbQbQbQbQbQbQbYcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabYbYbQbQbQbQbQbQbMapbNbRbRbRbRbRbRbZcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbbZbZbRbRbRbRbRbRbNapclbSbSbSbUbUbWbWbWbWbWbWbWbWbWbUbUbSbSbSclapcmbTbTbTbVbVbXbXbXbXbXbXbXbXbXbVbVbTbTbTcmapapckbGbGbGbGbGbGbGbGbGbGbGbIbKbKbKbKbKbKbKbKbKbKbKbKbKbIbGbGbGbGbGbGbGbGbGbGbGckapcjbHbHbHbHbHbHbHbHbHbHbHbJbLbLbLbLbLbLbLbLbLbLbLbLbLbJbHbHbHbHbHbHbHbHbHbHbHcjapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -274,7 +311,7 @@ apbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbMbM apapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapaoabacacacacadadadccccccccccadadadacacacacagaaaEaaaaaaaabhbhbhcdcdcdcdcdbhbhbhaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoabacacacadadccccccccccccccccccadadacacacagaaaEaaaaaabhbhcdcdcdcdcdcdcdcdcdbhbhaaaaaaaEaaabacacacacacacacadadadadadadacadadadacacacadadadacadadadadadadacacacacacacacabaaaEaaaaaaaaaaaaaabhbhbhbhbhbhaabhbhbhaaaaaabhbhbhaabhbhbhbhbhbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaabacacacadccccccccccccccccccccccadacacacagaaaEaaaaaabhcdcdcdcdcdcdcdcdcdcdcdbhaaaaaaaEaaabacacacacacacacadcecececeadacadceadadadadadceadacadcecececeadacacacacacacacabaaaEaaaaaaaaaaaaaabhcfcfcfcfbhaabhcfbhbhbhbhbhcfbhaabhcfcfcfcfbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaabacacacadccccccccccccccccccccccadacacacagaaaEaaaaaabhcdcdcdcdcdcdcdcdcdcdcdbhaaaaaaaEaaabacacacacacacacadcecececeadadadcececececececeadadadcecececeadacacacacacacacabaaaEaaaaaaaaaaaaaabhcfcfcfcfbhbhbhcfcfcfcfcfcfcfbhbhbhcfcfcfcfbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaabacacacadcccTccccccccccccccccccadacacacagaaaEaaaaaabhcdcUcdcdcdcdcdcdcdcdcdbhaaaaaaaEaaabacacacacacacacadcecececeadadadcececececececeadadadcecVceceadacacacacacacacabaaaEaaaaaaaaaaaaaabhcfcfcfcfbhbhbhcfcfcfcfcfcfcfbhbhbhcfcWcfcfbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaabacacacadccccccccccccccccccccccadacacacagaaaEaaaaaabhcdcdcdcdcdcdcdcdcdcdcdbhaaaaaaaEaaabacacacacacacacadcecececeadadcececececececececeadadcecececeadacacacacacacacabaaaEaaaaaaaaaaaaaabhcfcfcfcfbhbhcfcfcfcfcfcfcfcfcfbhbhcfcfcfcfbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaabacacacadccccccccccccccccccccccadacacacagaaaEaaaaaabhcdcdcdcdcdcdcdcdcdcdcdbhaaaaaaaEaaabacacacacacacacadcecececeadadcececececececececeadadcecececeadacacacacacacacabaaaEaaaaaaaaaaaaaabhcfcfcfcfbhbhcfcfcfcfcfcfcfcfcfbhbhcfcfcfcfbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaabacacacadadccccccccccccccccccadadacacacagaaaEaaaaaabhbhcdcdcdcdcdcdcdcdcdbhbhaaaaaaaEaaabacacacacacacacadcececececececececececececececececececececeadacacacacacacacabaaaEaaaaaaaaaaaaaabhcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -283,7 +320,7 @@ aaahajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaj aaahajajajajajajajajajajajajajajajajajajajajajajajajajalalalalalalalalalalalalalalajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaabacacacacacacadadadadadadadacacacacacacagaaaEaaaaaaaaaaaabhbhbhbhbhbhbhaaaaaaaaaaaaaEaaabacacacacacacacadcececececececececececececececececececececeadacacacacacacacabaaaEaaaaaaaaaaaaaabhcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaahajajajajajajajajajajajajajajajalalalalalalajalalalalcgcgcgcgcgcgcgcgcgcgcgcgalajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachchchchchchchchchchchchaaaaaaaaaaaaaaaaaaaEaaaaabacacacacacacacacacacacacacacacacacacacagaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacadcececececececececececececececececececececeadacacacacacacacabaaaEaaaaaaaaaaaaaabhcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaahajajajajajajajajajajajalalalalalcgcgcgcgalalalcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgalajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachchchchaaaaaachchchchchchchchchchchchchchchaaaaaaaaaaaaaaaaaaaEaaaaabacacacacacacacacacacacacacacacacacacacagaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacadadcececececececececececececececececececececeadadacacacacacacabaaaEaaaaaaaaaaaabhbhcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbhbhaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaahajajajajajajajajajalalalcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgalajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaachchchchchchchchchchchchchchchchchchchchchchchchchchaaaaaaaaaaaaaaaaaaaEaaaaabacacacacacacacacacacacacacacacacacacacagaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacadcececececececececececececececececececececececeadacacacacacacabaaaEaaaaaaaaaaaabhcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbhaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaahajajajajajajajajajalalalcgcgcgcgcgcXcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgalajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaaaaaachchchchchcYchchchchchchchchchchchchchchchchchchchchaaaaaaaaaaaaaaaaaaaEaaaaabacacacacacacacacacacacacacacacacacacacagaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacadcececececececececececececececececececececececeadacacacacacacabaaaEaaaaaaaaaaaabhcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbhaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaahajajajajajajajalalalcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgalajajajajajajajajahaaaEaaaaaaaaaaaaaaaaaaaachchchchchchchchchchchchchchchchchchchchchchchchchchchchaaaaaaaaaaaaaaaaaaaEaaaaagciciciciciciciciciciciciciciciciciciciagaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacadcececececececececececececececececececececececeadacacacacacacabaaaEaaaaaaaaaaaabhcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbhaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaahajajajajajajalalcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgalalajajajajajajajahaaaEaaaaaaaaaaaaaaaachchchchchchchchchchchchchchchchchchchchchchchchchchchchchchaaaaaaaaaaaaaaaaaaaEaaaaagciciciciciciciciciciciciciciciciciciciagaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacadadcececececececececececececececececececececeadadacacacacacacabaaaEaaaaaaaaaaaabhbhcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbhbhaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaahajajajajajajalcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgcgalalajajajajajajahaaaEaaaaaaaaaaaaaachchchchchchchchchchchchchchchchchchchchchchchchchchchchchchchchaaaaaaaaaaaaaaaaaEaaaaagciciciciciciciciciciciciciciciciciciciagaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacadadadadadcececececececececececececeadadadadadacacacacacacacabaaaEaaaaaaaaaaaaaabhbhbhbhbhcfcfcfcfcfcfcfcfcfcfcfcfcfbhbhbhbhbhaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -333,13 +370,13 @@ aaaoapclbSbSbSbSbSbSbSbSbUbUbUbUbUbUbUbSbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbTbVbV aaaoapclbSbSbSbSbSbSbSbUbUctctctctctbUbUbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbVbVcucucucucubVbVbTbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHcpcrcrcrcpcpcpcrcrcrcpbHbHbHbHbHbHcjapckbGbGbGbGbGbGcqcscscscqcqcqcscscscqbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbSbUctctctctctctctbUbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbVcucucucucucucubVbTbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHcpcrcrcrcrcrcrcrcrcrcpbHbHbHbHbHbHcjapckbGbGbGbGbGbGcqcscscscscscscscscscqbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbSbUctctctctctctctbUbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbVcucucucucucucubVbTbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHcpcrcrcrcrcrcrcrcrcrcpbHbHbHbHbHbHcjapckbGbGbGbGbGbGcqcscscscscscscscscscqbGbGbGbGbGbGckapaoaa -aaaoapclbSbSbSbSbSbSbSbUctctctctctctctbUbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbVcucucucucucucubVbTbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHcpcrcrcrcrcrcrcrcrcrcpbHbHbHbHbHbHcjapckbGbGbGbGbGbGcqcscscscscscscscscscqbGbGbGbGbGbGckapaoaa +aaaoapclbSbSbSbSbSbSbSbUctctctctctctctbUbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbVcucucucucucucubVbTbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHcpcrcZcrcrcrcrcrcrcrcpbHbHbHbHbHbHcjapckbGbGbGbGbGbGcqcsdacscscscscscscscqbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbSbUctctctctctctctbUbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbVcucucucucucucubVbTbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHcpcrcrcrcrcrcrcrcrcrcpbHbHbHbHbHbHcjapckbGbGbGbGbGbGcqcscscscscscscscscscqbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbSbUctctctctctctctbUbSbSbSbSbSbSbSclapcmbTbTbTbTbTbTbTbVcucucucucucucubVbTbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHcpcrcrcrcrcrcrcrcrcrcpbHbHbHbHbHbHcjapckbGbGbGbGbGbGcqcscscscscscscscscscqbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbUbUctctctctctctctbUbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVbVcucucucucucucubVbVbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHcpcpcrcrcrcrcrcrcrcpcpbHbHbHbHbHbHcjapckbGbGbGbGbGbGcqcqcscscscscscscscqcqbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbUctctctctctctctctctbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVcucucucucucucucucubVbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHbHcpcrcrcrcrcrcrcrcpbHbHbHbHbHbHbHcjapckbGbGbGbGbGbGbGcqcscscscscscscscqbGbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbUctctctctctctctctctbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVcucucucucucucucucubVbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHbHcpcrcrcrcrcrcrcrcpbHbHbHbHbHbHbHcjapckbGbGbGbGbGbGbGcqcscscscscscscscqbGbGbGbGbGbGbGckapaoaa -aaaoapclbSbSbSbSbSbSbUctctctctctctctctctbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVcucucucucucucucucubVbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHbHcpcrcrcrcrcrcrcrcpbHbHbHbHbHbHbHcjapckbGbGbGbGbGbGbGcqcscscscscscscscqbGbGbGbGbGbGbGckapaoaa +aaaoapclbSbSbSbSbSbSbUctctctctctctctdbctbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVcucucucucucucudccubVbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHbHcpcrcrcrcrcrcrcrcpbHbHbHbHbHbHbHcjapckbGbGbGbGbGbGbGcqcscscscscscscscqbGbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbUctctctctctctctctctbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVcucucucucucucucucubVbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHbHcpcrcrcrcrcrcrcrcpbHbHbHbHbHbHbHcjapckbGbGbGbGbGbGbGcqcscscscscscscscqbGbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbUctctctctctctctctctbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVcucucucucucucucucubVbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHbHcpcrcrcrcrcrcrcrcpbHbHbHbHbHbHbHcjapckbGbGbGbGbGbGbGcqcscscscscscscscqbGbGbGbGbGbGbGckapaoaa aaaoapclbSbSbSbSbSbSbUctctctbUbUbUctctctbUbSbSbSbSbSbSclapcmbTbTbTbTbTbTbVcucucubVbVbVcucucubVbTbTbTbTbTbTcmapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcjbHbHbHbHbHbHbHcpcpcrcrcrcrcrcpcpbHbHbHbHbHbHbHcjapckbGbGbGbGbGbGbGcqcqcscscscscscqcqbGbGbGbGbGbGbGckapaoaa @@ -355,35 +392,34 @@ aaaoapclclclclclclclclclclclclclclclclclclclclclclclclclapcmcmcmcmcmcmcmcmcmcmcm aaaoapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaa aaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaabababababababababababababababababababababababababaa -aabObObObObObObObObObObObObObObObObObObObObObObObObOaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacaccxcxcxcxacacaccxcxcxcxacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcycycycycycycycwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczaaaaaaaaaaczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcxcxaccxcxcAcAcxacacacacacacabaa -aabOcwcwcwcwcwcwcwcycycBcBcBcBcBcycycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaacCcCcCcCcCaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczaaaaaaczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcxcxcxcAcAcAcxacacacacacacabaa -aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aabOcwcwcwcwcwcwcwcycBcBcBcBcBcBcBcycwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa -aabOcwcwcwcwcwcwcycycBcBcBcBcBcBcBcycycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacaccxcxcAcAcAcAcAcAcAcxcxacacacacacacabaa -aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aabOcwcwcwcwcwcwcycBcBcBcBcBcBcBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa -aabOcwcwcwcwcwcwcycBcBcBcycycycBcBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCcCaaaaaacCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaczczczczczaaaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcxcAcAcAcAcAcxcxacacacacacacacabaa -aabOcwcwcwcwcwcwcycBcBcycycwcycycBcBcycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaacCcCaaaaaaaaaacCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacaccxcxcxcxcxcxcxacacacacacacacacabaa -aabOcwcwcwcwcwcwcycycycycwcwcwcycycycycwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcncncncncncncncncncncncncncncnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa -aabOcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwcwbOaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaabababababababababababababababababababababababababaa -aabObObObObObObObObObObObObObObObObObObObObObObObObOaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaddddddddddddddddddddddddddddddddddddddddddddddddddaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacaccxcxcxcxacacaccxcxcxcxacacacacacacabaa +aadddededededededededfdfdfdfdfdfdfdededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczaaaaaaaaaaczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcxcxaccxcxcAcAcxacacacacacacabaa +aadddedededededededfdfdgdgdgdgdgdfdfdedededededededdaaaEaaaaaaaaaaaaaaaaaacCcCcCcCcCaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczaaaaaaczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcxcxcxcAcAcAcxacacacacacacabaa +aadddedededededededfdgdgdgdgdgdgdgdfdedededededededdaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa +aadddedededededededfdgdgdgdgdgdgdgdfdedededededededdaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa +aadddedededededededfdgdgdgdgdgdgdgdfdedededededededdaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczdhczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAdicAcAcAcAcAcAcAcxacacacacacacabaa +aadddedededededededfdgdgdgdgdgdgdgdfdedededededededdaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa +aadddedededededededfdgdgdgdgdgdgdgdfdedededededededdaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaczczczczczczczczczaaaaaaaaaaaaaaaEaaabacacacacacaccxcAcAcAcAcAcAcAcAcAcxacacacacacacabaa +aadddededededededfdfdgdgdgdgdgdgdgdfdfdededededededdaaaEaaaaaaaaaaaaaaaacCcCcCcCcCcCcCaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacaccxcxcAcAcAcAcAcAcAcxcxacacacacacacabaa +aadddededededededfdgdgdgdgdgdgdgdgdgdfdededededededdaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aadddededededededfdgdgdgdgdgdgdgdgdgdfdededededededdaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aadddededededededfdgdgdgdgdgdgdgdjdgdfdededededededdaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCdkcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aadddededededededfdgdgdgdgdgdgdgdgdgdfdededededededdaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aadddededededededfdgdgdgdgdgdgdgdgdgdfdededededededdaaaEaaaaaaaaaaaaaacCcCcCcCcCcCcCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaczczczczczczczaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcAcAcAcAcAcAcAcxacacacacacacacabaa +aadddededededededfdgdgdgdfdfdfdgdgdgdfdededededededdaaaEaaaaaaaaaaaaaacCcCcCaaaaaacCcCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaczczczczczaaaaaaaaaaaaaaaaaaaEaaabacacacacacacaccxcxcAcAcAcAcAcxcxacacacacacacacabaa +aadddededededededfdgdgdfdfdedfdfdgdgdfdededededededdaaaEaaaaaaaaaaaaaacCcCaaaaaaaaaacCcCaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacaccxcxcxcxcxcxcxacacacacacacacacabaa +aadddededededededfdfdfdfdedededfdfdfdfdededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcnbGbGbGbGbGbGbGbGbGbGbGbGbGcnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapcncncncncncncncncncncncncncncnapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaabacacacacacacacacacacacacacacacacacacacacacacacabaa +aadddedededededededededededededededededededededededdaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapapapapapapapapapapapapapapapapapaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaabababababababababababababababababababababababababaa +aaddddddddddddddddddddddddddddddddddddddddddddddddddaaaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/southern_cross/southern_cross-8.dmm b/maps/southern_cross/southern_cross-8.dmm index e746e89f67..bfbedbcfdf 100644 --- a/maps/southern_cross/southern_cross-8.dmm +++ b/maps/southern_cross/southern_cross-8.dmm @@ -76,6 +76,8 @@ "bx" = (/obj/item/weapon/banner/virgov,/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) "by" = (/obj/machinery/space_heater,/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) "bz" = (/obj/machinery/space_heater,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "mining_dock_2"; name = "shuttle bay controller"; pixel_x = 0; pixel_y = -26; tag_door = "mining_dock_2_door"},/turf/simulated/floor/plating/external,/area/surface/outpost/shelter) +"bA" = (/obj/effect/shuttle_landmark{docking_controller = "mining_dock_2"; landmark_tag = "shuttle2_mining"; name = "Wilderness Landing Site"},/turf/simulated/floor/outdoors/grass/sif/planetuse{tree_chance = 0},/area/shuttle/shuttle2/mining) +"bB" = (/obj/effect/shuttle_landmark{docking_controller = "mining_dock_1"; landmark_tag = "shuttle1_mining"; name = "Wilderness Landing Site"},/turf/simulated/floor/outdoors/dirt/sif/planetuse,/area/shuttle/shuttle1/mining) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaababaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -307,13 +309,13 @@ aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatat aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatataGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVapaXaXaXaVaVaVaXaTaXaVaVaVaVaVaUaUaUaUaUaVaVaVapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVapaVaVaTaTaXaXaXaXaTaXaXaVaVapaVaYaYaUaUaUaYaYaVaVaVaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaMaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVapapaVaVaTaTaXaXaXaXaTaXaTaVaVaVaVaYaYaYaUaYaYaUaGaGaVaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL -aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatataGatatataGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaTaXaXaTaTaTaXaXaTaVaVaVaVaYaUaYaYaUaUaUaGaGaVaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatataGatatataGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaTbAaXaTaTaTaXaXaTaVaVaVaVaYaUaYaYaUaUaUaGaGaVaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatataGaGaGatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaXaTaTaTaTaTaTaTaXaVaVaVaVaUaUaUaYaYaYaUaVaVapapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaXaXaTaTaTaTaXaXaXapaVaVaVaUaUaUaUaUaYaYaVaVaVapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatatatatatatatatatataGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaVaTaXaXaXaXaXaTaVaVaVaVaVaYaUaUaUaUaUaYaVaVaVaVaVaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaVaTaXaXaXaTaTaTaVaVaVaVaYaYaYaYaUaUaYaYaYaVaVapapaVapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatataGaGatatatataGaGaGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapaVaVapaVaVaXaXaTaXaXaTaTaVapapaVaUaUaYaYaYaYaYaUaUaVaVaVaVapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL -aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaTaTaTaTaTaXaXaVaVapaVaUaUaUaYaYaYaYaUaUaVaVaVaVaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL +aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGatataGaGatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaTaTaTaTaTaXaXaVaVapaVaUaUaUaYaYaYaYbBaUaVaVaVaVaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaKaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaTaXaXaXaTaTaXaVaVaVaVaUaYaYaYaUaUaYaYaUaVaVapaVaVapaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGataGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaXaXaTaTaTaTaTaVaVaVaVaYaYaUaUaUaUaUaYaYaVaVaVapaVaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL aaacacacacacacatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataDatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatatataGatatatatatataGaGaGaGaGapaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaVaVaVaVaVaVaTaTaTaTaTaVaVaVaVaVaYaUaUaVaVaVaUaUaUaVaVaVaVaVaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaHaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGaGapapapaMaMaMaMaMaKaKaKaKaKaKaKaKaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaL @@ -334,4 +336,3 @@ aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac aaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacbqbrblbsbqacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaKaKaKacacacacacacacacaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqbtbtbtbqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabububuaaaaaaaaaaaaaaaaaa "} - diff --git a/maps/southern_cross/southern_cross_areas.dm b/maps/southern_cross/southern_cross_areas.dm index 1ff78f6280..bd7cca429e 100644 --- a/maps/southern_cross/southern_cross_areas.dm +++ b/maps/southern_cross/southern_cross_areas.dm @@ -1125,9 +1125,8 @@ area/crew_quarters/heads/sc/hop/quarters flags = RAD_SHIELDED /area/shuttle/shuttle1/start - name = "\improper Hangar One" + name = "Shuttle One" icon_state = "shuttlered" - base_turf = /turf/simulated/floor/reinforced /area/shuttle/shuttle1/arrivals_dock name = "\improper docked with Southern Cross" @@ -1176,9 +1175,8 @@ area/crew_quarters/heads/sc/hop/quarters flags = RAD_SHIELDED /area/shuttle/shuttle2/start - name = "\improper Hangar Two" + name = "Shuttle Two" icon_state = "shuttlered" - base_turf = /turf/simulated/floor/reinforced /area/shuttle/shuttle2/arrivals_dock name = "\improper docked with Southern Cross" @@ -1220,20 +1218,20 @@ area/crew_quarters/heads/sc/hop/quarters // Centcom Transport Shuttle /area/shuttle/transport1/centcom icon_state = "shuttle" - name = "\improper Transport Shuttle Centcom" + name = "\improper Transport Shuttle" /area/shuttle/transport1/station icon_state = "shuttle" - name = "\improper Transport Shuttle" + name = "\improper Transport Shuttle Station" // Centcom Admin Shuttle /area/shuttle/administration/centcom - name = "\improper Administration Shuttle CentCom" + name = "\improper Administration Shuttle" icon_state = "shuttlered" /area/shuttle/administration/station - name = "\improper Administration Shuttle" + name = "\improper Administration Shuttle Station" icon_state = "shuttlered2" //Merc @@ -1435,6 +1433,15 @@ area/crew_quarters/heads/sc/hop/quarters /area/shuttle/merchant/away name = "\improper Merchant Vessel - Away" + +// Main escape shuttle + +// Note: Keeping this "legacy" area path becuase of its use in lots of legacy code. +/area/shuttle/escape/centcom + name = "\improper Emergency Shuttle" + icon_state = "shuttle" + dynamic_lighting = 0 + //Small Escape Pods /area/shuttle/escape_pod1 diff --git a/maps/southern_cross/southern_cross_defines.dm b/maps/southern_cross/southern_cross_defines.dm index 7cf3ac4dc7..c1d099af29 100644 --- a/maps/southern_cross/southern_cross_defines.dm +++ b/maps/southern_cross/southern_cross_defines.dm @@ -79,8 +79,10 @@ ) usable_email_tlds = list("freemail.nt") allowed_spawns = list("Arrivals Shuttle","Gateway", "Cryogenic Storage", "Cyborg Storage") - unit_test_exempt_areas = list(/area/ninja_dojo, /area/ninja_dojo/firstdeck, /area/ninja_dojo/arrivals_dock) + default_skybox = /datum/skybox_settings/southern_cross + + unit_test_exempt_areas = list(/area/ninja_dojo, /area/ninja_dojo/firstdeck, /area/ninja_dojo/arrivals_dock) unit_test_exempt_from_atmos = list(/area/tcomm/chamber) planet_datums_to_make = list(/datum/planet/sif) @@ -127,6 +129,11 @@ // Todo: Forest generation. return 1 +// Skybox Settings +/datum/skybox_settings/southern_cross + icon_state = "dyable" + random_color = TRUE + // For making the 6-in-1 holomap, we calculate some offsets #define SOUTHERN_CROSS_MAP_SIZE 160 // Width and height of compiled in Southern Cross z levels. #define SOUTHERN_CROSS_HOLOMAP_CENTER_GUTTER 40 // 40px central gutter between columns diff --git a/maps/southern_cross/southern_cross_jobs.dm b/maps/southern_cross/southern_cross_jobs.dm index 17c4513443..9d7988dd22 100644 --- a/maps/southern_cross/southern_cross_jobs.dm +++ b/maps/southern_cross/southern_cross_jobs.dm @@ -50,35 +50,45 @@ var/const/access_explorer = 43 return get_all_station_access() */ +/datum/department/planetside + name = DEPARTMENT_PLANET + color = "#555555" + sorting_order = 2 // Same as cargo in importance. + /datum/job/pilot title = "Pilot" flag = PILOT - department = "Civilian" + departments = list(DEPARTMENT_PLANET) department_flag = CIVILIAN faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the head of personnel" + supervisors = "the Head of Personnel" selection_color = "#515151" economic_modifier = 4 access = list(access_pilot, access_cargo, access_mining, access_mining_station) minimal_access = list(access_pilot, access_cargo, access_mining, access_mining_station) + outfit_type = /decl/hierarchy/outfit/job/pilot + job_description = "A Pilot flies one of the shuttles between the Southern Cross and the outpost on Sif." /datum/job/explorer title = "Explorer" flag = EXPLORER - department = "Civilian" + departments = list(DEPARTMENT_PLANET) department_flag = CIVILIAN faction = "Station" total_positions = 4 spawn_positions = 4 - supervisors = "the explorer leader and the head of personnel" + supervisors = "the Head of Personnel" selection_color = "#515151" economic_modifier = 4 access = list(access_explorer) minimal_access = list(access_explorer) + outfit_type = /decl/hierarchy/outfit/job/explorer2 + job_description = "An Explorer searches for interesting things on the surface of Sif, and returns them to the station." + /* alt_titles = list( "Explorer Technician" = /decl/hierarchy/outfit/job/explorer2/technician, @@ -88,14 +98,16 @@ var/const/access_explorer = 43 /datum/job/sar title = "Search and Rescue" flag = SAR - department = "Medical" + departments = list(DEPARTMENT_PLANET, DEPARTMENT_MEDICAL) department_flag = MEDSCI faction = "Station" total_positions = 2 spawn_positions = 2 - supervisors = "the chief medical officer" + supervisors = "the Chief Medical Officer" selection_color = "#515151" economic_modifier = 4 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist, access_explorer) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_explorer) - outfit_type = /decl/hierarchy/outfit/job/medical/sar \ No newline at end of file + + outfit_type = /decl/hierarchy/outfit/job/medical/sar + job_description = "A Search and Rescue operative recovers individuals who are injured or dead on the surface of Sif." \ No newline at end of file diff --git a/maps/southern_cross/southern_cross_jobs_vr.dm b/maps/southern_cross/southern_cross_jobs_vr.dm index 4ded9f89e1..ca11728189 100644 --- a/maps/southern_cross/southern_cross_jobs_vr.dm +++ b/maps/southern_cross/southern_cross_jobs_vr.dm @@ -24,11 +24,17 @@ var/const/SAR =(1<<14) primary_color = rgb(47,189,189) secondary_color = rgb(127,223,223) +/datum/department/planetside + name = DEPARTMENT_PLANET + color = "#bab421" + sorting_order = 2 // Same as cargo in importance. + /datum/job/pathfinder title = "Pathfinder" flag = PATHFINDER - department = "Exploration" - head_position = 1 + departments = list(DEPARTMENT_PLANET) + departments_managed = list(DEPARTMENT_PLANET) + sorting_order = 1 // above the other explorers department_flag = MEDSCI faction = "Station" total_positions = 1 @@ -37,15 +43,20 @@ var/const/SAR =(1<<14) selection_color = "#d6d05c" economic_modifier = 7 minimal_player_age = 7 + pto_type = PTO_EXPLORATION access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot, access_explorer, access_research, access_gateway) minimal_access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot, access_explorer, access_research, access_gateway) outfit_type = /decl/hierarchy/outfit/job/pathfinder + job_description = " The Pathfinder's job is to lead and manage expeditions, and is the primary authority on all off-station expeditions." + +/datum/alt_title/pathfinder + title = "Pathfinder" /datum/job/pilot title = "Pilot" flag = PILOT - department = "Exploration" + departments = list(DEPARTMENT_PLANET) department_flag = MEDSCI faction = "Station" total_positions = 2 @@ -54,14 +65,19 @@ var/const/SAR =(1<<14) selection_color = "#999440" economic_modifier = 5 minimal_player_age = 3 + pto_type = PTO_EXPLORATION access = list(access_pilot) minimal_access = list(access_pilot) outfit_type = /decl/hierarchy/outfit/job/pilot + job_description = "A Pilot flies the various shuttles in the Virgo-Erigone System." + +/datum/alt_title/pilot + title = "Pilot" /datum/job/explorer title = "Explorer" flag = EXPLORER - department = "Exploration" + departments = list(DEPARTMENT_PLANET) department_flag = MEDSCI faction = "Station" total_positions = 3 @@ -69,14 +85,19 @@ var/const/SAR =(1<<14) supervisors = "the pathfinder and the research director" selection_color = "#999440" economic_modifier = 6 + pto_type = PTO_EXPLORATION access = list(access_explorer, access_research) minimal_access = list(access_explorer, access_research) outfit_type = /decl/hierarchy/outfit/job/explorer2 + job_description = "An Explorer searches for interesting things, and returns them to the station." + +/datum/alt_title/explorer + title = "Explorer" /datum/job/sar title = "Field Medic" flag = SAR - department = "Exploration" + departments = list(DEPARTMENT_PLANET) department_flag = MEDSCI faction = "Station" total_positions = 2 @@ -85,9 +106,14 @@ var/const/SAR =(1<<14) selection_color = "#999440" economic_modifier = 6 minimal_player_age = 3 + pto_type = PTO_EXPLORATION access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_eva, access_maint_tunnels, access_external_airlocks, access_pilot) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_pilot) outfit_type = /decl/hierarchy/outfit/job/medical/sar + job_description = "A Field medic works as the field doctor of expedition teams." + +/datum/alt_title/field_medic + title = "Field Medic" /datum/job/offduty_exploration title = "Off-duty Explorer" @@ -95,9 +121,14 @@ var/const/SAR =(1<<14) timeoff_factor = -1 total_positions = -1 faction = "Station" - department = "Exploration" + departments = list(DEPARTMENT_OFFDUTY) supervisors = "nobody! Enjoy your time off" selection_color = "#999440" access = list(access_maint_tunnels, access_external_airlocks) minimal_access = list(access_maint_tunnels, access_external_airlocks) outfit_type = /decl/hierarchy/outfit/job/assistant/explorer + job_description = "Off-duty crew has no responsibilities or authority and is just there to spend their well-deserved time off." + pto_type = PTO_EXPLORATION + +/datum/alt_title/offduty_exp + title = "Off-duty Explorer" \ No newline at end of file diff --git a/maps/southern_cross/southern_cross_shuttles.dm b/maps/southern_cross/southern_cross_shuttles.dm index 6b8483b74c..b0a3942427 100644 --- a/maps/southern_cross/southern_cross_shuttles.dm +++ b/maps/southern_cross/southern_cross_shuttles.dm @@ -1,29 +1,51 @@ // Cargo shuttle. -/datum/shuttle/ferry/supply/cargo +/datum/shuttle/autodock/ferry/supply/cargo name = "Supply" - location = 1 + location = FERRY_LOCATION_OFFSITE warmup_time = 10 - area_offsite = /area/supply/dock - area_station = /area/supply/station + shuttle_area = /area/shuttle/supply + landmark_offsite = "supply_offsite" + landmark_station = "supply_station" docking_controller_tag = "supply_shuttle" - dock_target_station = "cargo_bay" flags = SHUTTLE_FLAGS_PROCESS|SHUTTLE_FLAGS_SUPPLY +/obj/effect/shuttle_landmark/southern_cross/supply_offsite + name = "Centcom Supply Depot" + landmark_tag = "supply_offsite" + base_area = /area/centcom/command + base_turf = /turf/simulated/floor/plating + +/obj/effect/shuttle_landmark/southern_cross/supply_station + name = "Station" + landmark_tag = "supply_station" + docking_controller = "cargo_bay" + //Admin /obj/machinery/computer/shuttle_control/administration name = "shuttle control console" req_access = list(access_cent_general) shuttle_tag = "Administration" -/datum/shuttle/ferry/administration +/datum/shuttle/autodock/ferry/administration name = "Administration" - location = 1 + location = FERRY_LOCATION_OFFSITE warmup_time = 0 - area_offsite = /area/shuttle/administration/centcom - area_station = /area/shuttle/administration/station + shuttle_area = /area/shuttle/administration/centcom + landmark_offsite = "admin_offsite" + landmark_station = "admin_station" docking_controller_tag = "admin_shuttle" - dock_target_station = "admin_shuttle_dock_airlock" - dock_target_offsite = "admin_shuttle_bay" + +/obj/effect/shuttle_landmark/southern_cross/admin_offsite + name = "Centcom" + landmark_tag = "admin_offsite" + docking_controller = "admin_shuttle_bay" + base_area = /area/centcom/command + base_turf = /turf/simulated/floor/plating + +/obj/effect/shuttle_landmark/southern_cross/admin_station + name = "SC Dock 2-E" + landmark_tag = "admin_station" + docking_controller = "admin_shuttle_dock_airlock" //Transport @@ -32,15 +54,27 @@ req_access = list(access_cent_general) shuttle_tag = "Centcom" -/datum/shuttle/ferry/centcom +/datum/shuttle/autodock/ferry/centcom name = "Centcom" - location = 1 + location = FERRY_LOCATION_OFFSITE warmup_time = 0 - area_offsite = /area/shuttle/transport1/centcom - area_station = /area/shuttle/transport1/station + shuttle_area = /area/shuttle/transport1/centcom + landmark_offsite = "transport1_offsite" + landmark_station = "transport1_station" docking_controller_tag = "centcom_shuttle" - dock_target_station = "centcom_shuttle_dock_airlock" - dock_target_offsite = "centcom_shuttle_bay" + +/obj/effect/shuttle_landmark/southern_cross/transport1_offsite + name = "Centcom" + landmark_tag = "transport1_offsite" + docking_controller = "centcom_shuttle_bay" + base_area = /area/centcom/command + base_turf = /turf/simulated/floor/plating + +/obj/effect/shuttle_landmark/southern_cross/transport1_station + name = "SC Dock 3-A" + landmark_tag = "transport1_station" + docking_controller = "centcom_shuttle_dock_airlock" + //Merc @@ -104,171 +138,196 @@ icon_screen = "shuttle" shuttle_tag = "Merchant" -/datum/shuttle/ferry/merchant +/datum/shuttle/autodock/ferry/merchant name = "Merchant" + location = FERRY_LOCATION_OFFSITE warmup_time = 0 + shuttle_area = /area/shuttle/merchant/home + landmark_station = "merchant_station" + landmark_offsite = "merchant_offsite" docking_controller_tag = "trade_shuttle" - dock_target_station = "trade_shuttle_bay" - dock_target_offsite = "trade_shuttle_dock_airlock" - area_station = /area/shuttle/merchant/home - area_offsite = /area/shuttle/merchant/away + +/obj/effect/shuttle_landmark/southern_cross/merchant_offsite + name = "Trade Station" + landmark_tag = "merchant_offsite" + docking_controller = "trade_shuttle_bay" + base_area = /area/space + base_turf = /turf/space + +/obj/effect/shuttle_landmark/southern_cross/merchant_station + name = "SC Dock 1-E" + landmark_tag = "merchant_station" + docking_controller = "trade_shuttle_dock_airlock" + +// Arrivals Shuttle +/datum/shuttle/autodock/ferry/arrivals/southern_cross + name = "Arrivals" + location = FERRY_LOCATION_OFFSITE + shuttle_area = /area/shuttle/arrival/pre_game + landmark_offsite = "arrivals_offsite" + landmark_station = "arrivals_station" + docking_controller_tag = "arrivals_shuttle" + +/obj/effect/shuttle_landmark/southern_cross/arrivals_offsite + name = "Transit to Station" + landmark_tag = "arrivals_offsite" + base_area = /area/space + base_turf = /turf/space + +/obj/effect/shuttle_landmark/southern_cross/arrivals_station + name = "SC Dock 2-C/D" + landmark_tag = "arrivals_station" + docking_controller = "arrivals_dock" //Escape Pods -/datum/shuttle/ferry/emergency/centcom +/datum/shuttle/autodock/ferry/emergency/centcom name = "Escape" - location = 1 + location = FERRY_LOCATION_OFFSITE warmup_time = 10 - area_offsite = /area/shuttle/escape/centcom - area_station = /area/shuttle/escape/station - area_transition = /area/shuttle/escape/transit + shuttle_area = /area/shuttle/escape/centcom + landmark_offsite = "escape_offsite" + landmark_station = "escape_station" + landmark_transition = "escape_transit"; docking_controller_tag = "escape_shuttle" - dock_target_station = "escape_dock" - dock_target_offsite = "centcom_dock" - transit_direction = NORTH move_time = SHUTTLE_TRANSIT_DURATION_RETURN -/datum/shuttle/ferry/escape_pod/escape_pod_one - name = "Escape Pod 1" - location = 0 - warmup_time = 0 - area_station = /area/shuttle/escape_pod1/station - area_offsite = /area/shuttle/escape_pod1/centcom - area_transition = /area/shuttle/escape_pod1/transit - docking_controller_tag = "escape_pod_1" - dock_target_station = "escape_pod_1_berth" - dock_target_offsite = "escape_pod_1_recovery" - transit_direction = NORTH - move_time = SHUTTLE_TRANSIT_DURATION_RETURN +/obj/effect/shuttle_landmark/southern_cross/escape/offsite + name = "Centcom" + landmark_tag = "escape_offsite" + docking_controller = "centcom_dock" + base_area = /area/space + base_turf = /turf/space -/datum/shuttle/ferry/escape_pod/escape_pod_two - name = "Escape Pod 2" - location = 0 - warmup_time = 0 - area_station = /area/shuttle/escape_pod2/station - area_offsite = /area/shuttle/escape_pod2/centcom - area_transition = /area/shuttle/escape_pod2/transit - docking_controller_tag = "escape_pod_2" - dock_target_station = "escape_pod_2_berth" - dock_target_offsite = "escape_pod_2_recovery" - transit_direction = NORTH - move_time = SHUTTLE_TRANSIT_DURATION_RETURN +/obj/effect/shuttle_landmark/southern_cross/escape/station + name = "Station Escape Dock" + landmark_tag = "escape_station" + docking_controller = "escape_dock" -/datum/shuttle/ferry/escape_pod/escape_pod_three - name = "Escape Pod 3" - location = 0 - warmup_time = 0 - area_station = /area/shuttle/escape_pod3/station - area_offsite = /area/shuttle/escape_pod3/centcom - area_transition = /area/shuttle/escape_pod3/transit - docking_controller_tag = "escape_pod_3" - dock_target_station = "escape_pod_3_berth" - dock_target_offsite = "escape_pod_3_recovery" - transit_direction = NORTH - move_time = SHUTTLE_TRANSIT_DURATION_RETURN +/obj/effect/shuttle_landmark/southern_cross/escape/transit + landmark_tag = "escape_transit" -/datum/shuttle/ferry/escape_pod/escape_pod_four - name = "Escape Pod 4" - location = 0 - warmup_time = 0 - area_station = /area/shuttle/escape_pod4/station - area_offsite = /area/shuttle/escape_pod4/centcom - area_transition = /area/shuttle/escape_pod4/transit - docking_controller_tag = "escape_pod_4" - dock_target_station = "escape_pod_4_berth" - dock_target_offsite = "escape_pod_4_recovery" - transit_direction = NORTH //should this be SOUTH? I have no idea. - move_time = SHUTTLE_TRANSIT_DURATION_RETURN +// Escape Pods - Save me from typing this eight billion times +#define ESCAPE_POD(NUMBER) \ +/datum/shuttle/autodock/ferry/escape_pod/escape_pod##NUMBER { \ + name = "Escape Pod " + #NUMBER; \ + location = FERRY_LOCATION_STATION; \ + warmup_time = 0; \ + shuttle_area = /area/shuttle/escape_pod##NUMBER/station; \ + docking_controller_tag = "escape_pod_" + #NUMBER; \ + landmark_station = "escape_pod_"+ #NUMBER +"_station"; \ + landmark_offsite = "escape_pod_"+ #NUMBER +"_offsite"; \ + landmark_transition = "escape_pod_"+ #NUMBER +"_transit"; \ + move_time = SHUTTLE_TRANSIT_DURATION_RETURN; \ +} \ +/obj/effect/shuttle_landmark/southern_cross/escape_pod##NUMBER/station { \ + name = "Station"; \ + landmark_tag = "escape_pod_"+ #NUMBER +"_station"; \ + docking_controller = "escape_pod_"+ #NUMBER +"_berth"; \ + base_area = /area/space; \ + base_turf = /turf/simulated/floor/airless; \ +} \ +/obj/effect/shuttle_landmark/southern_cross/escape_pod##NUMBER/offsite { \ + name = "Recovery"; \ + landmark_tag = "escape_pod_"+ #NUMBER +"_offsite"; \ + docking_controller = "escape_pod_"+ #NUMBER +"_recovery"; \ +} \ +/obj/effect/shuttle_landmark/southern_cross/escape_pod##NUMBER/transit { \ + landmark_tag = "escape_pod_"+ #NUMBER +"_transit"; \ + flags = SLANDMARK_FLAG_AUTOSET; \ +} -/datum/shuttle/ferry/escape_pod/escape_pod_five - name = "Escape Pod 5" - location = 0 - warmup_time = 0 - area_station = /area/shuttle/escape_pod5/station - area_offsite = /area/shuttle/escape_pod5/centcom - area_transition = /area/shuttle/escape_pod5/transit - docking_controller_tag = "escape_pod_5" - dock_target_station = "escape_pod_5_berth" - dock_target_offsite = "escape_pod_5_recovery" - transit_direction = NORTH //should this be WEST? I have no idea. - move_time = SHUTTLE_TRANSIT_DURATION_RETURN +ESCAPE_POD(1) +ESCAPE_POD(2) +ESCAPE_POD(3) +ESCAPE_POD(4) +ESCAPE_POD(5) +ESCAPE_POD(6) +ESCAPE_POD(7) +ESCAPE_POD(8) -/datum/shuttle/ferry/escape_pod/escape_pod_six - name = "Escape Pod 6" - location = 0 - warmup_time = 0 - area_station = /area/shuttle/escape_pod6/station - area_offsite = /area/shuttle/escape_pod6/centcom - area_transition = /area/shuttle/escape_pod6/transit - docking_controller_tag = "escape_pod_6" - dock_target_station = "escape_pod_6_berth" - dock_target_offsite = "escape_pod_6_recovery" - transit_direction = NORTH //should this be WEST? I have no idea. - move_time = SHUTTLE_TRANSIT_DURATION_RETURN +#undef ESCAPE_POD -/datum/shuttle/ferry/escape_pod/escape_pod_seven - name = "Escape Pod 7" - location = 0 - warmup_time = 0 - area_station = /area/shuttle/escape_pod7/station - area_offsite = /area/shuttle/escape_pod7/centcom - area_transition = /area/shuttle/escape_pod7/transit - docking_controller_tag = "escape_pod_7" - dock_target_station = "escape_pod_7_berth" - dock_target_offsite = "escape_pod_7_recovery" - transit_direction = WEST - -/datum/shuttle/ferry/escape_pod/escape_pod_eight - name = "Escape Pod 8" - location = 0 - warmup_time = 0 - area_station = /area/shuttle/escape_pod8/station - area_offsite = /area/shuttle/escape_pod8/centcom - area_transition = /area/shuttle/escape_pod8/transit - docking_controller_tag = "escape_pod_8" - dock_target_station = "escape_pod_8_berth" - dock_target_offsite = "escape_pod_8_recovery" - transit_direction = EAST - -/datum/shuttle/ferry/escape_pod/escape_pod_cryo +// Cryostorage Escape Pod +/datum/shuttle/autodock/ferry/escape_pod/escape_pod_cryo name = "Cryostorage Shuttle" - location = 0 + location = FERRY_LOCATION_STATION warmup_time = 0 - area_station = /area/shuttle/cryo/station - area_offsite = /area/shuttle/cryo/centcom - area_transition = /area/shuttle/cryo/transit + shuttle_area = /area/shuttle/cryo/station + landmark_station = "cryostorage_station" + landmark_offsite = "cryostorage_offsite" + landmark_transition = "cryostorage_transit" docking_controller_tag = "cryostorage_shuttle" - dock_target_station = "cryostorage_shuttle_berth" - dock_target_offsite = "cryostorage_shuttle_recovery" - transit_direction = NORTH move_time = SHUTTLE_TRANSIT_DURATION_RETURN -/datum/shuttle/ferry/escape_pod/large_escape_pod1 +/obj/effect/shuttle_landmark/southern_cross/cryostorage_station + name = "Station Cryostorage Dock" + landmark_tag = "cryostorage_station" + docking_controller = "cryostorage_shuttle_berth" + base_area = /area/space + base_turf = /turf/simulated/floor/airless + +/obj/effect/shuttle_landmark/southern_cross/cryostorage_offsite + name = "Recovery" + landmark_tag = "cryostorage_offsite" + docking_controller = "cryostorage_shuttle_recovery" + +/obj/effect/shuttle_landmark/southern_cross/cryostorage_transit + landmark_tag = "cryostorage_transit" + +// Large Escape Pod 1 +/datum/shuttle/autodock/ferry/escape_pod/large_escape_pod1 name = "Large Escape Pod 1" - location = 0 + location = FERRY_LOCATION_STATION warmup_time = 0 - area_station = /area/shuttle/large_escape_pod1/station - area_offsite = /area/shuttle/large_escape_pod1/centcom - area_transition = /area/shuttle/large_escape_pod1/transit + shuttle_area = /area/shuttle/large_escape_pod1/station + landmark_station = "large_escape_pod1_station" + landmark_offsite = "large_escape_pod1_offsite" + landmark_transition = "large_escape_pod1_transit" docking_controller_tag = "large_escape_pod_1" - dock_target_station = "large_escape_pod_1_berth" - dock_target_offsite = "large_escape_pod_1_recovery" - transit_direction = EAST move_time = SHUTTLE_TRANSIT_DURATION_RETURN -/datum/shuttle/ferry/escape_pod/large_escape_pod2 +/obj/effect/shuttle_landmark/southern_cross/large_escape_pod1/station + name = "Station" + landmark_tag = "large_escape_pod1_station" + docking_controller = "large_escape_pod_1_berth" + base_area = /area/maintenance/firstdeck/centralstarboard + base_turf = /turf/simulated/floor/airless + +/obj/effect/shuttle_landmark/southern_cross/large_escape_pod1/offsite + name = "Recovery" + landmark_tag = "large_escape_pod1_offsite" + docking_controller = "large_escape_pod_1_recovery" + +/obj/effect/shuttle_landmark/southern_cross/large_escape_pod1/transit + landmark_tag = "large_escape_pod1_transit" + +// Large Escape Pod 2 +/datum/shuttle/autodock/ferry/escape_pod/large_escape_pod2 name = "Large Escape Pod 2" - location = 0 + location = FERRY_LOCATION_STATION warmup_time = 0 - area_station = /area/shuttle/large_escape_pod2/station - area_offsite = /area/shuttle/large_escape_pod2/centcom - area_transition = /area/shuttle/large_escape_pod2/transit + shuttle_area = /area/shuttle/large_escape_pod2/station + landmark_station = "large_escape_pod2_station" + landmark_offsite = "large_escape_pod2_offsite" + landmark_transition = "large_escape_pod2_transit" docking_controller_tag = "large_escape_pod_2" - dock_target_station = "large_escape_pod_2_berth" - dock_target_offsite = "large_escape_pod_2_recovery" - transit_direction = EAST move_time = SHUTTLE_TRANSIT_DURATION_RETURN +/obj/effect/shuttle_landmark/southern_cross/large_escape_pod2/station + name = "Station" + landmark_tag = "large_escape_pod2_station" + docking_controller = "large_escape_pod_2_berth" + base_area = /area/maintenance/firstdeck/centralport + base_turf = /turf/simulated/floor/airless + +/obj/effect/shuttle_landmark/southern_cross/large_escape_pod2/offsite + name = "Recovery" + landmark_tag = "large_escape_pod2_offsite" + docking_controller = "large_escape_pod_2_recovery" + +/obj/effect/shuttle_landmark/southern_cross/large_escape_pod2/transit + landmark_tag = "large_escape_pod2_transit" // Destination datums diff --git a/maps/submaps/_helpers.dm b/maps/submaps/_helpers.dm new file mode 100644 index 0000000000..f3c79a7105 --- /dev/null +++ b/maps/submaps/_helpers.dm @@ -0,0 +1,124 @@ +//Acts like the map edge, can use this to divide up zlevels into 'fake' multiz areas. +//Keep in mind that the entire zlevel 'moves' when the ship does, so don't try to make DIFFERENT ships share a zlevel. +/turf/space/internal_edge + icon_state = "arrow" + opacity = 1 + blocks_air = TRUE + +/turf/space/internal_edge/Initialize() + . = ..() + build_overedge(dir) + +/turf/space/internal_edge/top + dir = NORTH +/turf/space/internal_edge/bottom + dir = SOUTH +/turf/space/internal_edge/left + dir = WEST +/turf/space/internal_edge/right + dir = EAST +/turf/space/internal_edge/topleft + dir = NORTHWEST +/turf/space/internal_edge/topright + dir = NORTHEAST +/turf/space/internal_edge/bottomleft + dir = SOUTHWEST +/turf/space/internal_edge/bottomright + dir = SOUTHEAST + +//These are fake stairs, that when you try to go up them, they shove you to +// their 'connected' friend! Try to use the appropriate top/bottom ones for good looks. +/obj/structure/fake_stairs + name = "use a subtype! - stairs" + icon = 'icons/obj/stairs.dmi' + density = 1 + opacity = 0 + anchored = 1 + plane = TURF_PLANE + layer = ABOVE_TURF_LAYER + appearance_flags = PIXEL_SCALE|KEEP_TOGETHER + + var/_stair_tag //Make this match another one and they'll connect! + + var/obj/structure/fake_stairs/target //Don't set this manually, let it do it! + var/stepoff_dir + +/obj/structure/fake_stairs/Initialize(var/mapload) + . = ..() + + for(var/obj/structure/fake_stairs/FS in world) + if(FS == src) + continue //hi + if(FS._stair_tag == _stair_tag) + target = FS + if(!target && mapload) + to_world("Fake stairs at [x],[y],[z] couldn't get a target!") + +/obj/structure/fake_stairs/Destroy() + if(target) + target.target = null + target = null + return ..() + +/obj/structure/fake_stairs/Bumped(var/atom/movable/AM) + if(!target) + return + target.take(AM) + +/obj/structure/fake_stairs/proc/take(var/atom/movable/AM) + var/dir_to_use = stepoff_dir ? stepoff_dir : dir + var/turf/T = get_step(src, dir_to_use) + if(!T) + log_debug("Fake stairs at [x],[y],[z] couldn't move someone to their destination.") + return + AM.forceMove(T) + spawn AM.set_dir(dir_to_use) + if(isliving(AM)) + var/mob/living/L = AM + if(L.pulling) + L.pulling.forceMove(T) + spawn L.pulling.set_dir(dir_to_use) + +/obj/structure/fake_stairs/north/top + name = "stairs" + dir = NORTH + color = "#B0B0B0" + pixel_y = -32 + +/obj/structure/fake_stairs/north/bottom + name = "stairs" + dir = NORTH + stepoff_dir = SOUTH + pixel_y = -32 + +/obj/structure/fake_stairs/south/top + name = "stairs" + dir = SOUTH + color = "#B0B0B0" + +/obj/structure/fake_stairs/south/bottom + name = "stairs" + dir = SOUTH + stepoff_dir = NORTH + +/obj/structure/fake_stairs/east/top + name = "stairs" + dir = EAST + color = "#B0B0B0" + pixel_x = -32 + +/obj/structure/fake_stairs/east/bottom + name = "stairs" + dir = EAST + stepoff_dir = WEST + pixel_x = -32 + +/obj/structure/fake_stairs/west/top + name = "stairs" + dir = WEST + color = "#B0B0B0" + +/obj/structure/fake_stairs/west/bottom + name = "stairs" + dir = WEST + stepoff_dir = EAST \ No newline at end of file diff --git a/maps/tether/submaps/_tether_submaps.dm b/maps/tether/submaps/_tether_submaps.dm index 7515e31759..dc16a6fb24 100644 --- a/maps/tether/submaps/_tether_submaps.dm +++ b/maps/tether/submaps/_tether_submaps.dm @@ -1,4 +1,4 @@ -// This causes tether submap maps to get 'checked' and compiled, when undergoing a unit test. + // This causes tether submap maps to get 'checked' and compiled, when undergoing a unit test. // This is so Travis can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors. ////////////////////////////////////////////////////////////////////////////// @@ -9,22 +9,11 @@ desc = "Misc areas, like some transit areas, holodecks, merc area." mappath = 'tether_misc.dmm' - associated_map_datum = /datum/map_z_level/tether_lateload/ships*/ + associated_map_datum = /datum/map_z_level/tether_lateload/misc /datum/map_z_level/tether_lateload/misc name = "Misc" - flags = MAP_LEVEL_ADMIN|MAP_LEVEL_SEALED - -/datum/map_template/tether_lateload/tether_ships - name = "Tether - Ships" - desc = "Ship transit map and whatnot." - mappath = 'tether_ships.dmm' - - associated_map_datum = /datum/map_z_level/tether_lateload/ships - -/datum/map_z_level/tether_lateload/ships - name = "Ships" - flags = MAP_LEVEL_ADMIN|MAP_LEVEL_SEALED + flags = MAP_LEVEL_ADMIN|MAP_LEVEL_SEALED|MAP_LEVEL_CONTACT|MAP_LEVEL_XENOARCH_EXEMPT #include "underdark_pois/_templates.dm" #include "underdark_pois/underdark_things.dm" @@ -64,6 +53,43 @@ . = ..() seed_submaps(list(Z_LEVEL_PLAINS), 120, /area/tether/outpost/exploration_plains, /datum/map_template/surface/plains) +////////////////////////////////////////////////////////////////////////////// +//Antag/Event/ERT Areas +/datum/map_template/admin_use/ert + name = "Special Area - ERT" + desc = "It's the ERT ship! Lorge." + mappath = 'admin_use/ert.dmm' + +/datum/map_template/admin_use/trader + name = "Special Area - Trader" + desc = "Big trader ship." + mappath = 'admin_use/tradeship.dmm' + +/datum/map_template/admin_use/mercenary + name = "Special Area - Merc Base" + desc = "So much red!" + mappath = 'admin_use/mercbase.dmm' + +/datum/map_template/admin_use/skipjack + name = "Special Area - Skipjack Base" + desc = "Stinky!" + mappath = 'admin_use/skipjack.dmm' + +/datum/map_template/admin_use/thunderdome + name = "Special Area - Thunderdome" + desc = "Thunderrrrdomeee" + mappath = 'admin_use/thunderdome.dmm' + +/datum/map_template/admin_use/wizardbase + name = "Special Area - Wizard Base" + desc = "Wingardium Levosia" + mappath = 'admin_use/wizard.dmm' + +/datum/map_template/admin_use/dojo + name = "Special Area - Ninja Dojo" + desc = "Sneaky" + mappath = 'admin_use/dojo.dmm' + ////////////////////////////////////////////////////////////////////////////// //Rogue Mines Stuff @@ -169,7 +195,6 @@ /datum/map_z_level/tether_lateload/away_alienship name = "Away Mission - Alien Ship" - z = Z_LEVEL_ALIENSHIP #include "aerostat/_aerostat.dm" @@ -220,6 +245,21 @@ ////////////////////////////////////////////////////////////////////////////////////// // Gateway submaps go here + +/obj/effect/overmap/visitable/sector/tether_gateway + name = "Unknown" + desc = "Approach and perform a scan to obtain further information." + icon_state = "object" //or "globe" for planetary stuff + known = FALSE + //initial_generic_waypoints = list("don't forget waypoints!") + var/true_name = "The scanned name goes here" + var/true_desc = "The scanned desc goes here" + +/obj/effect/overmap/visitable/sector/tether_gateway/get_scan_data(mob/user) + name = true_name + desc = true_desc + return ..() + /datum/map_template/tether_lateload/gateway name = "Gateway Submap" desc = "Please do not use this." @@ -264,6 +304,7 @@ desc = "Asteroid-bound mercenary listening post" mappath = 'gateway/listeningpost.dmm' associated_map_datum = /datum/map_z_level/tether_lateload/gateway_destination + ////////////////////////////////////////////////////////////////////////////////////// // Admin-use z-levels for loading whenever an admin feels like #if AWAY_MISSION_TEST @@ -304,11 +345,6 @@ z = mapZ return ..(map) -/turf/unsimulated/wall/seperator //to block vision between transit zones - name = "" - icon = 'icons/effects/effects.dmi' - icon_state = "1" - /obj/effect/step_trigger/zlevel_fall //Don't ever use this, only use subtypes.Define a new var/static/target_z on each affect_ghosts = 1 @@ -441,3 +477,12 @@ mobs_to_pick_from = list( /mob/living/simple_mob/shadekin ) + +////////////////////////////////////////////////////////////////////////////// +//Overmap ship spawns + +#include "om_ships/hybridshuttle.dm" +#include "om_ships/screebarge.dm" +#include "om_ships/aro.dm" +#include "om_ships/cruiser.dm" +#include "om_ships/vespa.dm" diff --git a/maps/tether/tether-10-colony.dmm b/maps/tether/submaps/admin_use/dhael_centcom.dmm similarity index 58% rename from maps/tether/tether-10-colony.dmm rename to maps/tether/submaps/admin_use/dhael_centcom.dmm index ca1f8b2299..0749c2645d 100644 --- a/maps/tether/tether-10-colony.dmm +++ b/maps/tether/submaps/admin_use/dhael_centcom.dmm @@ -2,124 +2,15 @@ "aa" = ( /turf/unsimulated/wall/planetary/virgo3b, /area/space) -"ab" = ( -/turf/simulated/shuttle/wall/alien/blue/hard_corner, -/area/unknown/dorm4) "ac" = ( /turf/unsimulated/mineral/virgo3b, /area/space) "ad" = ( /turf/unsimulated/wall/planetary/virgo3b, /area/centcom/specops) -"ae" = ( -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"af" = ( -/turf/simulated/shuttle/wall/dark{ - join_group = "shuttle_ert" - }, -/area/shuttle/specialops/centcom) -"ag" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) "ah" = ( /turf/unsimulated/wall, /area/centcom/specops) -"ai" = ( -/obj/structure/shuttle/engine/heater{ - icon_state = "heater"; - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/shuttle/plating/airless, -/area/shuttle/specialops/centcom) -"aj" = ( -/obj/structure/flight_right{ - dir = 8 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"ak" = ( -/obj/structure/closet/crate/freezer/rations, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/machinery/computer/security/telescreen{ - desc = ""; - name = "Spec. Ops. Monitor"; - network = list("NETWORK_ERT"); - pixel_y = 30 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"al" = ( -/obj/structure/bed/chair, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"am" = ( -/obj/machinery/recharger/wallcharger{ - pixel_x = 4; - pixel_y = 32 - }, -/obj/structure/bed/chair, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"an" = ( -/obj/machinery/recharger/wallcharger{ - pixel_x = 4; - pixel_y = 32 - }, -/obj/machinery/vending/wallmed1{ - layer = 3.3; - name = "Emergency NanoMed"; - pixel_x = 28; - pixel_y = 0 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/bed/chair, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"ao" = ( -/turf/simulated/shuttle/wall/dark{ - hard_corner = 1; - join_group = "shuttle_ert" - }, -/area/shuttle/specialops/centcom) "ap" = ( /obj/structure/window/reinforced{ dir = 1 @@ -321,57 +212,6 @@ icon_state = "dark" }, /area/centcom/specops) -"aB" = ( -/obj/machinery/light{ - icon_state = "tube1"; - dir = 8 - }, -/obj/machinery/computer/shuttle_control/web/specialops{ - dir = 8; - icon = 'icons/obj/computer.dmi'; - my_doors = list("specops_shuttle_fore_hatch" = "Docking Hatch"); - my_sensors = list("shuttlesens_specops_int" = "Shuttle Interior") - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"aC" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"aD" = ( -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"aE" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1380; - id_tag = "specops_shuttle_hatch"; - name = "forward docking hatch controller"; - pixel_x = 0; - pixel_y = -25; - tag_door = "specops_shuttle_fore_hatch" - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"aF" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "specops_shuttle_fore_hatch"; - locked = 1; - name = "Forward Docking Hatch" - }, -/turf/simulated/shuttle/plating, -/area/shuttle/specialops/centcom) "aG" = ( /turf/unsimulated/floor{ icon_state = "dark" @@ -420,8 +260,6 @@ /area/centcom/specops) "aK" = ( /obj/structure/table/rack, -/obj/item/weapon/storage/pill_bottle/nutriment, -/obj/item/weapon/storage/pill_bottle/nutriment, /obj/item/weapon/storage/pill_bottle/iron, /obj/item/weapon/storage/pill_bottle/iron, /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, @@ -442,6 +280,7 @@ "aM" = ( /obj/machinery/chemical_dispenser/ert, /obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/structure/table/reinforced, /turf/unsimulated/floor{ icon_state = "vault"; dir = 5 @@ -477,74 +316,6 @@ dir = 5 }, /area/centcom/specops) -"aQ" = ( -/obj/item/device/radio/intercom{ - broadcasting = 0; - dir = 1; - frequency = 1443; - listening = 1; - name = "Spec Ops Intercom"; - pixel_y = -28 - }, -/obj/structure/flight_left{ - dir = 8 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"aR" = ( -/obj/machinery/computer/communications{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"aS" = ( -/obj/machinery/computer/prisoner{ - dir = 1; - name = "Implant Management" - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"aT" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"aU" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/shuttle/specialops/centcom) -"aV" = ( -/obj/machinery/door/window/survival_pod{ - dir = 8 - }, -/obj/machinery/shower{ - dir = 8; - icon_state = "shower"; - pixel_x = 2; - pixel_y = 0 - }, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/structure/curtain/open/shower, -/turf/simulated/floor/tiled/white, -/area/mothership/bathroom2) "aW" = ( /obj/structure/table/rack, /obj/item/clothing/accessory/storage/black_vest, @@ -622,12 +393,12 @@ "bc" = ( /obj/structure/table/rack, /obj/structure/window/reinforced, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/ammo_magazine/s45, +/obj/item/ammo_magazine/s45, +/obj/item/ammo_magazine/s45, +/obj/item/ammo_magazine/s45, /turf/unsimulated/floor{ icon_state = "dark" }, @@ -658,12 +429,6 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/weapon/gun/projectile/revolver/detective45, -/obj/item/weapon/gun/projectile/revolver/detective45, -/obj/item/ammo_magazine/s45, -/obj/item/ammo_magazine/s45, -/obj/item/ammo_magazine/s45, -/obj/item/ammo_magazine/s45, /obj/item/weapon/gun/projectile/p92x, /obj/item/weapon/gun/projectile/p92x, /obj/item/weapon/gun/projectile/p92x, @@ -698,42 +463,6 @@ icon_state = "dark" }, /area/centcom/specops) -"bh" = ( -/obj/machinery/shuttle_sensor{ - dir = 1; - id_tag = "shuttlesens_specops_int" - }, -/turf/simulated/shuttle/wall/dark{ - join_group = "shuttle_ert" - }, -/area/shuttle/specialops/centcom) -"bi" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/tool/crowbar, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/tool/wrench, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"bj" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/obj/structure/cable/cyan, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) "bk" = ( /obj/structure/medical_stand, /turf/unsimulated/floor{ @@ -927,20 +656,6 @@ icon_state = "dark" }, /area/centcom/specops) -"by" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/light/small, -/turf/simulated/floor/wood, -/area/mothership/dorm5) "bz" = ( /obj/structure/table/rack, /obj/item/weapon/rig/ert/assetprotection, @@ -1027,17 +742,6 @@ dir = 5 }, /area/centcom/specops) -"bG" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/centcom/specops) "bH" = ( /obj/structure/table/rack, /obj/item/clothing/suit/armor/vest/ert/security, @@ -1106,29 +810,6 @@ icon_state = "wood" }, /area/centcom/specops) -"bN" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 4; - icon_state = "map" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) "bO" = ( /obj/structure/sign/nanotrasen, /turf/unsimulated/wall, @@ -1166,15 +847,6 @@ icon_state = "wood" }, /area/centcom/specops) -"bT" = ( -/obj/effect/landmark{ - name = "Response Team" - }, -/turf/unsimulated/floor/steel{ - icon = 'icons/turf/floors_vr.dmi'; - icon_state = "wood" - }, -/area/centcom/specops) "bU" = ( /obj/structure/table/reinforced, /obj/item/device/megaphone, @@ -1677,25 +1349,6 @@ icon_state = "dark" }, /area/centcom/specops) -"cJ" = ( -/turf/unsimulated/wall{ - icon = 'icons/obj/doors/Doorext.dmi'; - icon_state = "door_locked"; - name = "Sealed Door" - }, -/area/mothership/telecomms1) -"cK" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"cL" = ( -/obj/structure/particle_accelerator/fuel_chamber{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) "cM" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/industrial/outline/blue, @@ -1748,32 +1401,6 @@ icon_state = "dark" }, /area/centcom/specops) -"cR" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"cS" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"cT" = ( -/obj/machinery/atmospherics/pipe/simple/visible/yellow{ - icon_state = "intact"; - dir = 8 - }, -/obj/machinery/atmospherics/binary/pump/high_power/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) "cU" = ( /obj/structure/table/steel_reinforced, /obj/item/clothing/gloves/yellow, @@ -2053,9 +1680,6 @@ icon_state = "dark" }, /area/centcom/control) -"dx" = ( -/turf/simulated/shuttle/wall/alien/blue, -/area/unknown/dorm4) "dy" = ( /obj/structure/bed/chair, /obj/item/weapon/handcuffs, @@ -3336,19 +2960,6 @@ icon_state = "dark" }, /area/tdome/tdomeobserve) -"fP" = ( -/obj/machinery/door/blast/regular{ - id = "ship-mechbay-inner"; - name = "Mech Bay" - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) "fQ" = ( /obj/structure/table/rack, /obj/item/clothing/under/color/green, @@ -3507,31 +3118,6 @@ name = "plating" }, /area/centcom/control) -"gh" = ( -/obj/structure/table/survival_pod, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"gi" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = -29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"gj" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 - }, -/obj/machinery/status_display{ - pixel_y = 32 - }, -/obj/machinery/computer/HolodeckControl/holodorm/warship, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/holodeck) "gk" = ( /obj/structure/table/rack, /obj/item/clothing/under/color/red, @@ -3641,70 +3227,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/control) -"gw" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"gx" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/book/codex, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"gy" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"gz" = ( -/obj/item/device/defib_kit/jumper_kit, -/obj/structure/table/steel_reinforced, -/obj/item/device/robotanalyzer, -/obj/machinery/light, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"gA" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"gB" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-lounge"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/breakroom) "gC" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -3888,23 +3410,6 @@ /obj/item/device/mmi, /turf/unsimulated/floor/steel, /area/centcom/control) -"gX" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/hydroponics) -"gY" = ( -/turf/unsimulated/floor/steel, -/area/shuttle/large_escape_pod2/centcom{ - base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b - }) -"gZ" = ( -/obj/effect/floor_decal/rust, -/turf/unsimulated/floor/steel, -/area/shuttle/large_escape_pod2/centcom{ - base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b - }) "ha" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 10 @@ -4084,9 +3589,6 @@ /obj/structure/filingcabinet/filingcabinet, /turf/unsimulated/floor/steel, /area/centcom/control) -"hx" = ( -/turf/simulated/shuttle/wall/alien/blue/hard_corner, -/area/unknown/dorm3) "hy" = ( /obj/machinery/button/remote/blast_door{ id = "ArmouryC4"; @@ -4250,16 +3752,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/evac) -"hP" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) "hQ" = ( /obj/machinery/door/airlock/centcom{ name = "General Access"; @@ -4316,19 +3808,6 @@ "hX" = ( /turf/unsimulated/wall/planetary/virgo3b, /area/centcom/security) -"hY" = ( -/obj/effect/floor_decal/techfloor{ - dir = 1 - }, -/obj/machinery/washing_machine, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"hZ" = ( -/obj/effect/floor_decal/corner_steel_grid/diagonal, -/turf/unsimulated/floor/steel, -/area/shuttle/large_escape_pod2/centcom{ - base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b - }) "ia" = ( /turf/unsimulated/floor{ icon_state = "vault"; @@ -4651,12 +4130,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/evac) -"iA" = ( -/obj/item/modular_computer/console/preset/ert{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) "iB" = ( /obj/machinery/door/blast/regular{ id = "thunderdomehea"; @@ -4685,61 +4158,12 @@ dir = 5 }, /area/centcom/security) -"iE" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) "iF" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 }, /turf/unsimulated/floor/steel, /area/centcom/evac) -"iG" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/teleport/hub, -/turf/simulated/shuttle/floor/voidcraft, -/area/unknown/dorm2) -"iH" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - icon_state = "warningcorner"; - dir = 8 - }, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"iI" = ( -/obj/structure/fans, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"iJ" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/space, -/area/mothership/telecomms1) -"iK" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"iL" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"iM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"iN" = ( -/turf/simulated/floor/carpet/oracarpet, -/area/mothership/engineering) "iO" = ( /obj/effect/floor_decal/rust, /obj/effect/floor_decal/industrial/warning/dust{ @@ -4753,30 +4177,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/evac) -"iQ" = ( -/turf/simulated/shuttle/wall/alien/blue, -/area/unknown/dorm3) -"iR" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/gloves, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"iS" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) "iT" = ( /obj/structure/table/rack, /obj/item/clothing/under/color/red, @@ -5004,75 +4404,11 @@ dir = 5 }, /area/centcom/security) -"jk" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) "jl" = ( /obj/effect/floor_decal/rust/steel_decals_rusted2, /obj/effect/floor_decal/industrial/warning/dust, /turf/unsimulated/floor/steel, /area/centcom/evac) -"jm" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 1; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/breakroom) -"jn" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 4 - }, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"jo" = ( -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"jp" = ( -/obj/machinery/door/airlock/multi_tile/metal, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"jq" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/cryotube) -"jr" = ( -/obj/machinery/door/airlock/alien/blue/public, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm4) "js" = ( /obj/structure/table/reinforced, /obj/item/weapon/storage/firstaid/clotting, @@ -5083,10 +4419,6 @@ dir = 5 }, /area/centcom/specops) -"jt" = ( -/obj/structure/closet/secure_closet/medical3, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) "ju" = ( /obj/effect/floor_decal/industrial/warning/dust, /turf/unsimulated/floor/steel, @@ -5097,30 +4429,15 @@ dir = 9 }, /turf/unsimulated/floor/steel, -/area/shuttle/large_escape_pod1/centcom{ - base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b - }) +/area/centcom/evac) "jw" = ( /obj/effect/floor_decal/rust/part_rusted3, /turf/unsimulated/floor/steel, -/area/shuttle/large_escape_pod1/centcom{ - base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b - }) -"jx" = ( -/turf/unsimulated/floor/steel, -/area/shuttle/large_escape_pod1/centcom{ - base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b - }) +/area/centcom/evac) "jy" = ( /obj/effect/floor_decal/rust, /turf/unsimulated/floor/steel, -/area/shuttle/large_escape_pod1/centcom{ - base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b - }) -"jz" = ( -/obj/machinery/door/airlock/alien/blue/public, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm3) +/area/centcom/evac) "jA" = ( /obj/structure/table/rack, /obj/effect/floor_decal/industrial/outline/yellow, @@ -5258,9 +4575,7 @@ "jJ" = ( /obj/effect/floor_decal/rust/mono_rusted3, /turf/unsimulated/floor/steel, -/area/shuttle/large_escape_pod1/centcom{ - base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b - }) +/area/centcom/evac) "jK" = ( /turf/unsimulated/wall, /area/centcom/medical) @@ -5276,9 +4591,7 @@ "jM" = ( /obj/effect/floor_decal/corner_steel_grid/diagonal, /turf/unsimulated/floor/steel, -/area/shuttle/large_escape_pod1/centcom{ - base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b - }) +/area/centcom/evac) "jN" = ( /obj/effect/floor_decal/sign/dock/two, /obj/effect/floor_decal/industrial/warning/dust{ @@ -5913,12 +5226,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/security) -"kP" = ( -/obj/machinery/computer/prisoner{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) "kQ" = ( /obj/machinery/door/airlock/glass_medical{ name = "Virology Laboratory" @@ -6110,56 +5417,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/security) -"li" = ( -/obj/machinery/computer/station_alert/all{ - dir = 8; - icon_state = "computer" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"lj" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"lk" = ( -/obj/structure/table/rack/shelf/steel, -/obj/machinery/light/small{ - dir = 8; - pixel_x = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"ll" = ( -/obj/machinery/atmospherics/pipe/tank/air{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"lm" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"ln" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) "lo" = ( /obj/item/weapon/stool/padded, /turf/unsimulated/floor/steel{ @@ -6418,39 +5675,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/security) -"lE" = ( -/obj/machinery/cryopod/robot, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"lF" = ( -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"lG" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) "lH" = ( /obj/machinery/vending/snack, /obj/effect/floor_decal/borderfloorwhite{ @@ -7100,10 +6324,6 @@ "mQ" = ( /turf/unsimulated/wall, /area/centcom/evac) -"mR" = ( -/obj/machinery/sleeper/survival_pod, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) "mS" = ( /obj/machinery/shower{ dir = 4; @@ -7293,45 +6513,9 @@ /obj/structure/closet/crate/bin, /turf/unsimulated/floor/steel, /area/centcom/security) -"nk" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"nl" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "burst_l"; - dir = 8 - }, -/turf/unsimulated/floor/shuttle_ceiling, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/specialops/centcom) "nm" = ( /turf/unsimulated/floor/steel, /area/centcom/evac) -"nn" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/weapon/pen/multi, -/obj/item/weapon/folder/yellow_ce, -/turf/simulated/floor/carpet/oracarpet, -/area/mothership/engineering) -"no" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) "np" = ( /obj/structure/sink{ icon_state = "sink"; @@ -7604,15 +6788,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/security) -"nO" = ( -/obj/item/clothing/suit/space/void/medical/alt, -/obj/item/clothing/head/helmet/space/void/medical/emt, -/obj/item/weapon/tank/oxygen, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) "nP" = ( /obj/structure/table/standard, /obj/item/weapon/surgical/hemostat, @@ -7719,12 +6894,6 @@ icon_state = "white" }, /area/centcom/medical) -"nW" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/bathroom1) "nX" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -8227,12 +7396,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/security) -"oN" = ( -/obj/machinery/computer/transhuman/resleeving{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) "oO" = ( /obj/structure/table/standard, /obj/item/weapon/surgical/bonesetter, @@ -8408,21 +7571,6 @@ "pg" = ( /turf/unsimulated/floor/steel, /area/centcom/holding) -"ph" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) "pi" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -9608,12 +8756,6 @@ /obj/structure/sign/warning/docking_area, /turf/unsimulated/wall, /area/centcom/terminal) -"ro" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) "rp" = ( /obj/structure/sign/warning{ name = "\improper STAND AWAY FROM TRACK EDGE" @@ -9624,14 +8766,6 @@ /obj/structure/sign/warning/nosmoking_2, /turf/unsimulated/wall, /area/centcom/terminal) -"rr" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "propulsion"; - dir = 8 - }, -/turf/unsimulated/floor/shuttle_ceiling, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/specialops/centcom) "rs" = ( /turf/unsimulated/wall, /area/centcom/terminal) @@ -9943,18 +9077,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/security) -"si" = ( -/turf/simulated/shuttle/wall, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"sj" = ( -/obj/structure/grille, -/obj/structure/shuttle/window, -/turf/simulated/shuttle/plating, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "sk" = ( /obj/structure/table/woodentable{ dir = 5 @@ -10109,45 +9231,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/security) -"sB" = ( -/turf/simulated/shuttle/wall/hard_corner, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"sC" = ( -/obj/structure/closet/hydrant{ - pixel_x = -30; - pixel_y = 0 - }, -/obj/item/weapon/storage/firstaid/o2{ - layer = 2.8; - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/weapon/storage/firstaid/fire, -/obj/item/weapon/storage/firstaid/toxin, -/obj/structure/bed/chair/shuttle, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"sD" = ( -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"sE" = ( -/obj/structure/bed/chair/shuttle, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "sF" = ( /obj/structure/bed/chair{ dir = 8 @@ -10341,40 +9424,6 @@ }, /turf/unsimulated/floor/techfloor_grid, /area/centcom/terminal) -"sW" = ( -/obj/structure/table/standard, -/obj/random/maintenance/clean, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"sX" = ( -/obj/structure/table/standard, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"sY" = ( -/obj/machinery/status_display{ - pixel_y = 30 - }, -/obj/structure/table/standard, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "sZ" = ( /obj/structure/table/glass, /obj/item/weapon/storage/box/cups, @@ -10556,16 +9605,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/security) -"tl" = ( -/obj/structure/bed/chair/shuttle{ - dir = 1 - }, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "tm" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -10733,30 +9772,6 @@ }, /turf/unsimulated/wall, /area/centcom/terminal) -"tB" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "escape_shuttle_hatch_station"; - locked = 1; - name = "Shuttle Hatch" - }, -/turf/simulated/shuttle/floor/yellow, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"tC" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "escape_shuttle_hatch_offsite"; - locked = 1; - name = "Shuttle Hatch" - }, -/turf/simulated/shuttle/floor/yellow, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "tD" = ( /obj/structure/table/glass, /obj/item/roller, @@ -10975,32 +9990,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/security) -"ua" = ( -/obj/structure/bed/chair/shuttle, -/obj/structure/closet/walllocker/emerglocker{ - pixel_x = -28 - }, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"ub" = ( -/obj/structure/bed/chair/shuttle, -/obj/structure/closet/walllocker/emerglocker{ - pixel_x = 28 - }, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"uc" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) "ud" = ( /obj/effect/wingrille_spawn/reinforced/crescent, /turf/unsimulated/floor{ @@ -11058,24 +10047,6 @@ icon_state = "steel" }, /area/centcom/bathroom) -"um" = ( -/obj/structure/table/standard, -/obj/random/junk, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"un" = ( -/obj/structure/table/standard, -/obj/random/maintenance/clean, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "uo" = ( /obj/structure/flora/pottedplant{ icon_state = "plant-22" @@ -11313,12 +10284,6 @@ "uO" = ( /turf/unsimulated/wall/planetary/virgo3b, /area/centcom/living) -"uP" = ( -/obj/structure/sign/nanotrasen, -/turf/simulated/shuttle/wall, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "uQ" = ( /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 8 @@ -11435,24 +10400,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/living) -"vb" = ( -/obj/structure/table/standard, -/obj/item/clothing/head/beret/nanotrasen, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"vc" = ( -/obj/structure/table/standard, -/obj/random/plushie, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "vd" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular{ @@ -11546,32 +10493,6 @@ icon_state = "white" }, /area/centcom/living) -"vk" = ( -/obj/structure/bed/chair/shuttle{ - dir = 1 - }, -/obj/structure/closet/walllocker/emerglocker{ - pixel_x = -28 - }, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"vl" = ( -/obj/structure/bed/chair/shuttle{ - dir = 1 - }, -/obj/structure/closet/walllocker/emerglocker{ - pixel_x = 28 - }, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "vm" = ( /turf/unsimulated/wall, /area/centcom/security{ @@ -12141,21 +11062,6 @@ dir = 5 }, /area/centcom/security) -"wf" = ( -/obj/structure/grille, -/obj/structure/shuttle/window, -/turf/simulated/shuttle/floor/white, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"wg" = ( -/obj/effect/floor_decal/industrial/outline/blue, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "wh" = ( /obj/machinery/computer/card{ dir = 4 @@ -12462,26 +11368,6 @@ dir = 5 }, /area/centcom/security) -"wC" = ( -/obj/structure/bed/chair/shuttle{ - dir = 1 - }, -/obj/machinery/light, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"wD" = ( -/obj/effect/floor_decal/industrial/outline/blue, -/obj/machinery/light, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "wE" = ( /obj/machinery/computer/secure_data{ dir = 4 @@ -12755,25 +11641,6 @@ dir = 5 }, /area/centcom/security) -"wZ" = ( -/obj/random/junk, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"xa" = ( -/obj/structure/bed/chair/shuttle{ - dir = 1 - }, -/obj/random/soap, -/turf/simulated/shuttle/floor/white{ - color = "#cccccc" - }, -/area/shuttle/escape/centcom{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "xb" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -15594,10 +14461,6 @@ /area/centcom/security{ name = "\improper CentCom Residential Security" }) -"Bx" = ( -/obj/structure/table/alien, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) "By" = ( /obj/machinery/porta_turret/crescent{ density = 1 @@ -16209,49 +15072,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/command) -"CC" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"CD" = ( -/obj/machinery/door/blast/regular{ - id = "ship-mechbay-inner"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"CE" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "burst_r"; - dir = 8 - }, -/turf/unsimulated/floor/shuttle_ceiling, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/specialops/centcom) -"CF" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 8; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/eva) -"CG" = ( -/obj/structure/bed/chair/wood{ - icon_state = "wooden_chair"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) "CH" = ( /obj/machinery/computer/card{ dir = 4 @@ -16542,20 +15362,6 @@ /obj/machinery/computer/skills, /turf/unsimulated/floor/steel, /area/centcom/command) -"CZ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Da" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/bridge) "Db" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/blue/border, @@ -16626,195 +15432,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/command) -"Di" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - pixel_x = 0; - pixel_y = 32 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 8 - }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Dj" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 4; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/eva) -"Dk" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 8; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/surgery) -"Dl" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 4; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/security) -"Dm" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/cell_charger, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Dn" = ( -/obj/machinery/seed_extractor, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Do" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/oxygen/prechilled, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Dp" = ( -/obj/machinery/account_database{ - name = "CentComm Accounts database" - }, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) -"Dq" = ( -/obj/machinery/mech_recharger, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"Dr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Ds" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Dt" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/security) -"Du" = ( -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Dv" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Dw" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"Dx" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 8; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/resleeving) -"Dy" = ( -/obj/structure/closet/secure_closet/sar, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Dz" = ( -/obj/machinery/atmospherics/trinary/atmos_filter{ - dir = 4; - filter_type = 3; - filtered_out = list("carbon_dioxide") - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"DA" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(101) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"DB" = ( -/obj/effect/landmark{ - name = "Commando" - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/centcom/security) "DC" = ( /obj/structure/table/glass, /obj/item/device/healthanalyzer/advanced, @@ -16822,369 +15439,10 @@ icon_state = "white" }, /area/centcom/medical) -"DD" = ( -/obj/machinery/door/airlock/alien/public, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm1) -"DE" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"DF" = ( -/obj/machinery/atmospherics/pipe/simple/visible/black, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"DG" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/yellow, -/obj/machinery/meter, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"DH" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 4 - }, -/obj/machinery/portable_atmospherics/powered/pump/filled, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"DI" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm3) -"DJ" = ( -/obj/structure/table/survival_pod, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) -"DK" = ( -/obj/structure/table/steel_reinforced, -/obj/fiftyspawner/phoron, -/obj/machinery/reagentgrinder, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"DL" = ( -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"DM" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"DN" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell M1" - }, -/obj/effect/floor_decal/corner/lightorange{ - icon_state = "corner_white"; - dir = 5 - }, -/obj/effect/floor_decal/borderfloor/shifted{ - icon_state = "borderfloor_shifted"; - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - icon_state = "bordercolor_shifted"; - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"DO" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 4; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/warden) -"DP" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/cell_charger, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"DQ" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"DR" = ( -/obj/machinery/ntnet_relay, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"DS" = ( -/obj/structure/bed/chair/comfy/black, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) -"DT" = ( -/obj/item/rig_module/device/drill, -/obj/item/rig_module/device/drill, -/obj/item/rig_module/device/plasmacutter, -/obj/item/rig_module/device/plasmacutter, -/obj/item/rig_module/device/orescanner, -/obj/item/rig_module/device/orescanner, -/obj/structure/table/rack/shelf/steel, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"DU" = ( -/obj/structure/table/survival_pod, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"DV" = ( -/obj/machinery/computer/message_monitor{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"DW" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bathroom1) -"DX" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"DY" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"DZ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"Ea" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 8; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/rnd) -"Eb" = ( -/obj/item/modular_computer/telescreen/preset/generic{ - pixel_y = 28 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Ec" = ( -/obj/item/device/healthanalyzer/advanced, -/obj/item/device/healthanalyzer/advanced, -/obj/item/device/healthanalyzer/advanced, -/obj/item/device/healthanalyzer/advanced, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Ed" = ( -/obj/machinery/vending/medical, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Ee" = ( -/obj/machinery/shower{ - pixel_y = 13 - }, -/obj/structure/curtain/open/shower, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm3) -"Ef" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 4; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/armory) -"Eg" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/door/window/westleft, -/obj/machinery/door/window/eastright, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/chemistry) -"Eh" = ( -/obj/machinery/vending/robotics, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Ei" = ( -/obj/structure/prop/alien/dispenser, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"Ej" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"Ek" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"El" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"Em" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"En" = ( -/obj/machinery/transhuman/resleever, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Eo" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/midpoint, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) -"Ep" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"Eq" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 8; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/telecomms1) -"Er" = ( -/obj/machinery/shower{ - dir = 4; - icon_state = "shower"; - pixel_x = 2; - pixel_y = 0 - }, -/obj/machinery/door/window/survival_pod, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/structure/curtain/open/shower, -/turf/simulated/floor/tiled/white, -/area/mothership/bathroom1) -"Es" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/teleport/hub, -/turf/simulated/shuttle/floor/voidcraft, -/area/unknown/dorm4) -"Et" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Eu" = ( -/obj/machinery/disposal, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) "Ev" = ( /obj/effect/floor_decal/derelict/d5, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Ew" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Ex" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm4) -"Ey" = ( -/obj/structure/medical_stand, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) "Ez" = ( /obj/structure/table/reinforced, /obj/item/weapon/cell/hyper, @@ -17203,87 +15461,6 @@ icon_state = "dark" }, /area/centcom/specops) -"EA" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"EB" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"EC" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/stamp/ward, -/obj/item/weapon/stamp/denied{ - pixel_x = 5 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"ED" = ( -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"EE" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"EF" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/alarm{ - alarm_id = "anomaly_testing"; - breach_detection = 0; - dir = 8; - frequency = 1439; - pixel_x = 22; - pixel_y = 0; - report_danger_level = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"EG" = ( -/obj/machinery/computer/robotics{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"EH" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 4; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/mothership/telecomms2) "EI" = ( /obj/structure/table/rack, /obj/item/weapon/gun/launcher/rocket, @@ -17300,106 +15477,6 @@ icon_state = "dark" }, /area/centcom/specops) -"EJ" = ( -/obj/machinery/door/airlock/external, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/breakroom) -"EK" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/base_low, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) -"EL" = ( -/obj/structure/prop/alien/power, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm1) -"EM" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"EN" = ( -/obj/structure/bed/chair/comfy/black, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"EO" = ( -/obj/machinery/atmospherics/pipe/simple/visible/universal{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"EP" = ( -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"EQ" = ( -/obj/machinery/computer/secure_data{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"ES" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"EU" = ( -/obj/structure/closet/crate/secure/gear{ - req_one_access = list(108) - }, -/obj/item/rig_module/chem_dispenser/injector/advanced, -/obj/item/rig_module/vision/multi, -/obj/item/weapon/rig/military/equipped, -/obj/item/weapon/rig/pmc/commander, -/obj/item/weapon/rig/pmc/medical, -/obj/item/weapon/rig/pmc/engineer, -/obj/item/weapon/rig/pmc/security, -/obj/item/weapon/rig/pmc/security, -/obj/item/weapon/rig/light/ninja, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"EV" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"EW" = ( -/obj/structure/closet/excavation, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) "EX" = ( /obj/structure/table/standard, /obj/item/weapon/soap, @@ -17410,165 +15487,12 @@ icon_state = "white" }, /area/centcom/bathroom) -"EY" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2; - req_one_access = list(1) - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Fa" = ( -/obj/structure/prop/blackbox, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"Fb" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Fc" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm3) -"Fd" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm4-door"; - name = "Dorm 4 Lock"; - pixel_x = -6; - pixel_y = 26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"Fe" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm1) -"Ff" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Fg" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Fh" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/chemical_dispenser/bar_alc/full, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"Fi" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) "Fj" = ( /obj/machinery/power/emitter, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) -"Fk" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) -"Fl" = ( -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Fm" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Fn" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) "Fo" = ( /obj/structure/table/reinforced, /obj/item/weapon/storage/box/survival/comp{ @@ -17597,143 +15521,10 @@ /obj/effect/floor_decal/derelict/d6, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Fq" = ( -/obj/item/weapon/storage/firstaid/toxin{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Fr" = ( -/obj/machinery/gear_painter, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"Fs" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Ft" = ( -/obj/machinery/computer/supplycomp{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Fu" = ( -/obj/machinery/computer/communications{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Fv" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) "Fw" = ( /obj/effect/floor_decal/industrial/warning/dust/corner, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Fx" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/teleporter) -"Fy" = ( -/obj/machinery/computer/teleporter{ - dir = 1 - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm3) -"Fz" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/light, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"FA" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"FB" = ( -/obj/machinery/vending/loadout/uniform, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"FC" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"FD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"FE" = ( -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"FF" = ( -/obj/machinery/door_timer/cell_2{ - id = "Cell M2"; - pixel_x = -32 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"FH" = ( -/turf/unsimulated/wall{ - icon = 'icons/obj/doors/Doorext.dmi'; - icon_state = "door_locked"; - name = "Sealed Door" - }, -/area/mothership/breakroom) -"FK" = ( -/obj/item/device/holowarrant, -/obj/structure/closet/secure_closet/nanotrasen_security, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) "FL" = ( /obj/structure/table/rack, /obj/item/clothing/accessory/storage/brown_vest, @@ -17752,190 +15543,6 @@ icon_state = "dark" }, /area/centcom/control) -"FM" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"FN" = ( -/obj/machinery/teleport/station, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"FO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"FP" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"FR" = ( -/obj/machinery/power/smes/buildable{ - charge = 2e+007; - cur_coils = 4; - input_attempt = 1; - input_level = 1e+006; - output_level = 1e+006; - RCon = 0 - }, -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"FS" = ( -/obj/machinery/photocopier, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"FT" = ( -/obj/structure/closet/toolcloset, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"FU" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/surgery) -"FV" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"FW" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"FX" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"FZ" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm5) -"Ga" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Gb" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Gc" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Gd" = ( -/obj/structure/bed/chair/office/dark, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"Ge" = ( -/obj/machinery/seed_storage/xenobotany, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Gf" = ( -/obj/structure/bed/chair/wood{ - icon_state = "wooden_chair"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Gg" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"Gh" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/item/weapon/reagent_containers/dropper, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"Gi" = ( -/obj/machinery/transhuman/synthprinter, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Gk" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/empty/carbon_dioxide, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Gl" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) "Gm" = ( /obj/structure/table/rack, /obj/item/weapon/rig/ert/engineer, @@ -17945,144 +15552,6 @@ icon_state = "dark" }, /area/centcom/control) -"Gn" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Go" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"Gp" = ( -/obj/machinery/chem_master/condimaster, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"Gr" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Gs" = ( -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/ammo_magazine/m9mm/large/preban, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/item/weapon/gun/projectile/p92x, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Gt" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-med-treatment"; - name = "Blast Doors Controls"; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Gu" = ( -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(103) - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Gv" = ( -/obj/machinery/atmospherics/trinary/atmos_filter{ - dir = 4; - filter_type = 4; - filtered_out = list("sleeping_agent") - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Gw" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - pixel_x = 0; - pixel_y = 32 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Gx" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Gy" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"Gz" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"GB" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/camera, -/obj/item/device/retail_scanner/security, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"GC" = ( -/obj/machinery/door/airlock/voidcraft/vertical{ - glass = 0; - opacity = 1 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/bathroom2) -"GD" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"GF" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) "GG" = ( /obj/structure/table/rack, /obj/item/weapon/gun/launcher/grenade, @@ -18091,54 +15560,12 @@ icon_state = "dark" }, /area/centcom/specops) -"GI" = ( -/obj/structure/bed/chair/shuttle{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"GJ" = ( -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) -"GK" = ( -/obj/item/weapon/bedsheet/rddouble, -/obj/structure/bed/double/padded, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) "GL" = ( /obj/machinery/pipedispenser/disposal/orderable, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) -"GM" = ( -/obj/machinery/computer/cryopod{ - pixel_y = -32 - }, -/obj/effect/floor_decal/techfloor{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"GN" = ( -/obj/machinery/vending/medical, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"GO" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-med-surgery"; - name = "Blast Doors Controls"; - pixel_y = -28 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"GP" = ( -/obj/machinery/vending/engineering, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) "GQ" = ( /obj/effect/floor_decal/steeldecal/steel_decals9, /obj/effect/floor_decal/steeldecal/steel_decals9{ @@ -18146,109 +15573,6 @@ }, /turf/unsimulated/floor/steel, /area/centcom/living) -"GR" = ( -/obj/machinery/vending/loadout, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"GS" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/voidcraft/vertical, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"GT" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2 - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"GU" = ( -/obj/structure/particle_accelerator/end_cap{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"GV" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/station_high, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) -"GW" = ( -/obj/machinery/atmospherics/binary/passive_gate{ - dir = 4; - icon_state = "on"; - unlocked = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"GX" = ( -/obj/machinery/vending/fitness, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"GY" = ( -/obj/structure/bed/chair/shuttle{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"GZ" = ( -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/closet/secure_closet/pathfinder, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Ha" = ( -/obj/machinery/light, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Hb" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Hc" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"Hd" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/sechallway) "He" = ( /obj/machinery/door/blast/regular{ dir = 4 @@ -18263,317 +15587,16 @@ icon_state = "dark" }, /area/centcom/specops) -"Hg" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Hh" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/retail_scanner/security, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"Hi" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/teleporter) -"Hj" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms2) -"Hk" = ( -/obj/structure/bed/chair/office/dark, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"Hl" = ( -/obj/item/rig_module/mounted, -/obj/item/rig_module/mounted, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Hm" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/alarm{ - alarm_id = "anomaly_testing"; - breach_detection = 0; - dir = 8; - frequency = 1439; - pixel_x = 22; - pixel_y = 0; - report_danger_level = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) "Hn" = ( /obj/structure/reagent_dispensers/watertank, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) -"Ho" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light, -/obj/machinery/button/remote/blast_door{ - id = "ship-lounge"; - name = "Blast Doors Controls"; - pixel_y = -28 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Hp" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/microwave, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"Hr" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/medical, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) "Ht" = ( /obj/effect/floor_decal/derelict/d13, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Hu" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"Hv" = ( -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Hw" = ( -/obj/machinery/atmospherics/pipe/simple/visible/universal, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 9 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Hy" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet, -/obj/effect/floor_decal/borderfloor/shifted{ - icon_state = "borderfloor_shifted"; - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange{ - icon_state = "corner_white"; - dir = 5 - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - icon_state = "bordercolor_shifted"; - dir = 1 - }, -/obj/machinery/light/small{ - icon_state = "bulb1"; - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"Hz" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/engineering) -"HA" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"HB" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"HC" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/engineering) -"HD" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"HE" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/recharger, -/obj/item/weapon/tool/screwdriver, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"HF" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) -"HG" = ( -/obj/structure/filingcabinet/chestdrawer, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"HH" = ( -/obj/machinery/vending/loadout/gadget, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"HI" = ( -/obj/machinery/atmospherics/trinary/mixer{ - dir = 8; - node1_concentration = 0.21; - node2_concentration = 0.79 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"HJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"HL" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"HN" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = -29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"HO" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/breakroom) -"HP" = ( -/obj/effect/floor_decal/spline/fancy/wood, -/obj/structure/bed/chair/comfy/black{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/breakroom) -"HR" = ( -/obj/machinery/power/terminal{ - icon_state = "term"; - dir = 1 - }, -/obj/structure/cable{ - d2 = 2; - icon_state = "0-2"; - pixel_y = 0 - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"HS" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 4 - }, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"HT" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) "HU" = ( /obj/structure/table/rack, /obj/item/weapon/gun/energy/lasercannon, @@ -18582,16 +15605,6 @@ icon_state = "dark" }, /area/centcom/specops) -"HV" = ( -/obj/effect/floor_decal/techfloor{ - dir = 5 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"HW" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) "HX" = ( /obj/machinery/door/airlock/multi_tile/glass{ icon_state = "door_closed"; @@ -18640,158 +15653,6 @@ icon_state = "dark" }, /area/centcom/specops) -"HZ" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Ia" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/holodeck) -"Ib" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"Ic" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"Id" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"If" = ( -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Ig" = ( -/obj/structure/particle_accelerator/end_cap{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"Ii" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Ij" = ( -/obj/machinery/door/airlock/voidcraft/vertical{ - glass = 0; - id_tag = "ship-dorm5-door"; - opacity = 1 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/dorm5) -"Ik" = ( -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted/egun, -/obj/item/rig_module/mounted/egun, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Il" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/warden) -"Im" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Io" = ( -/obj/machinery/computer/teleporter{ - dir = 1 - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm1) -"Is" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell M2" - }, -/obj/effect/floor_decal/borderfloor/shifted{ - icon_state = "borderfloor_shifted"; - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange{ - icon_state = "corner_white"; - dir = 5 - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - icon_state = "bordercolor_shifted"; - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"It" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/cell_charger, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/hyper, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) "Iu" = ( /obj/structure/table/glass, /obj/item/weapon/reagent_containers/glass/bottle/biomass{ @@ -18820,66 +15681,6 @@ }, /turf/simulated/floor/tiled/white, /area/centcom/medical) -"Iv" = ( -/obj/item/weapon/gun/energy/frontier/locked/carbine, -/obj/item/weapon/gun/energy/frontier/locked/carbine, -/obj/item/weapon/gun/energy/frontier/locked/carbine, -/obj/item/weapon/gun/energy/frontier/locked/carbine, -/obj/item/weapon/gun/energy/frontier/locked/holdout, -/obj/item/weapon/gun/energy/frontier/locked/holdout, -/obj/item/weapon/gun/energy/frontier/locked/holdout, -/obj/item/weapon/gun/energy/frontier/locked/holdout, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Iw" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 4 - }, -/obj/structure/closet/secure_closet/engineering_personal, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ix" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-med-treatment"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/mothership/treatment) -"Iy" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm2-door"; - name = "Dorm 2 Lock"; - pixel_x = -6; - pixel_y = -26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm2) "Iz" = ( /obj/structure/table/standard, /obj/item/weapon/soap, @@ -18890,424 +15691,18 @@ icon_state = "white" }, /area/centcom/bathroom) -"IA" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"IB" = ( -/obj/item/weapon/storage/firstaid/fire{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/fire, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"ID" = ( -/obj/item/weapon/storage/box/flashshells, -/obj/item/weapon/storage/box/flashshells, -/obj/item/weapon/storage/box/stunshells, -/obj/item/weapon/storage/box/stunshells, -/obj/item/weapon/storage/box/beanbags, -/obj/item/weapon/storage/box/beanbags, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/empshells/large, -/obj/item/weapon/storage/box/shotgunammo/large, -/obj/item/weapon/storage/box/shotgunammo/large, -/obj/item/weapon/storage/box/shotgunammo/large, -/obj/item/weapon/storage/box/shotgunammo/large, -/obj/item/weapon/storage/box/shotgunshells/large, -/obj/item/weapon/storage/box/shotgunshells/large, -/obj/item/weapon/storage/box/shotgunshells/large, -/obj/item/weapon/storage/box/shotgunshells/large, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"IE" = ( -/obj/machinery/vending/security, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"IF" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"IG" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/sci_outpost, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) "IH" = ( /obj/machinery/shield_capacitor, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) -"II" = ( -/turf/unsimulated/wall{ - icon = 'icons/obj/doors/Doorext.dmi'; - icon_state = "door_locked"; - name = "Sealed Door" - }, -/area/mothership/telecomms2) -"IJ" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"IK" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"IM" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/space) -"IN" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"IO" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/floor/reinforced/airless, -/area/mothership/telecomms2) -"IP" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan, -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"IQ" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet, -/obj/effect/floor_decal/corner/lightorange{ - icon_state = "corner_white"; - dir = 5 - }, -/obj/effect/floor_decal/borderfloor/shifted{ - icon_state = "borderfloor_shifted"; - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - icon_state = "bordercolor_shifted"; - dir = 1 - }, -/obj/machinery/light/small{ - icon_state = "bulb1"; - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"IR" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_welding, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"IS" = ( -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/carpet/oracarpet, -/area/mothership/engineering) -"IT" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/breakroom) -"IV" = ( -/obj/item/rig_module/rescue_pharm, -/obj/item/rig_module/rescue_pharm, -/obj/item/rig_module/chem_dispenser/injector, -/obj/item/rig_module/chem_dispenser/injector, -/obj/item/rig_module/chem_dispenser/combat, -/obj/item/rig_module/chem_dispenser/combat, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"IW" = ( -/obj/machinery/door/airlock/voidcraft/vertical{ - glass = 0; - id_tag = "ship-dorm3-door"; - opacity = 1 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/dorm3) -"IX" = ( -/obj/item/clothing/suit/armor/vest/ert/command, -/obj/item/clothing/head/helmet/ert/command, -/obj/item/weapon/storage/backpack/ert/commander, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"IY" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) "IZ" = ( /obj/effect/floor_decal/industrial/warning/dust/corner{ dir = 4 }, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Jb" = ( -/obj/machinery/door/airlock/multi_tile/metal/mait{ - dir = 2; - req_one_access = list(103) - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - destroy_hits = 100; - id = "ship-armory"; - name = "Armory" - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-armory"; - name = "Blast Doors Controls"; - pixel_x = 0; - pixel_y = -28 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Jd" = ( -/obj/structure/undies_wardrobe, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"Je" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Jf" = ( -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Jg" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/morgue) -"Jh" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ji" = ( -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Jj" = ( -/obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"Jk" = ( -/obj/structure/prop/alien/computer{ - icon_state = "console-c"; - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Jl" = ( -/obj/structure/filingcabinet/chestdrawer, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"Jm" = ( -/obj/machinery/recharge_station, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"Jo" = ( -/obj/machinery/r_n_d/destructive_analyzer, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Jp" = ( -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/graviton, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/gas/explorer, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Jq" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-lounge"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/mothership/breakroom) -"Jr" = ( -/obj/machinery/atmospherics/pipe/simple/visible/universal{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/red, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Js" = ( -/obj/item/weapon/bedsheet/rddouble, -/obj/structure/bed/double/padded, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"Jt" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/super; - dir = 8; - name = "west bump"; - pixel_x = -28 - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) "Ju" = ( /obj/effect/floor_decal/rust, /obj/effect/floor_decal/industrial/warning/dust{ @@ -19315,300 +15710,12 @@ }, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Jv" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Jx" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"Jy" = ( -/obj/machinery/light, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"Jz" = ( -/obj/machinery/power/fractal_reactor/fluff/converter, -/obj/structure/cable, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"JA" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) "JC" = ( /obj/machinery/power/thermoregulator, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) -"JD" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-warden"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/warden) -"JE" = ( -/obj/machinery/atmospherics/pipe/simple/visible/red{ - dir = 6 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"JF" = ( -/obj/item/device/perfect_tele_beacon/stationary{ - tele_name = "Unknown"; - tele_network = "unkfour" - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm4) -"JG" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"JH" = ( -/obj/machinery/door/airlock/voidcraft/vertical{ - glass = 0; - opacity = 1 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/bathroom1) -"JJ" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"JK" = ( -/obj/structure/prop/alien/dispenser, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"JL" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"JM" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/table/bench/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"JN" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/beakers, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/storage/box/syringes, -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/storage/box/pillbottles, -/obj/item/weapon/storage/box/pillbottles, -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"JO" = ( -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/airlock/voidcraft, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"JP" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"JQ" = ( -/obj/structure/closet/alien, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) -"JR" = ( -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/white_drop_pouches, -/obj/item/clothing/accessory/storage/white_drop_pouches, -/obj/item/clothing/accessory/storage/white_drop_pouches, -/obj/item/clothing/accessory/storage/white_drop_pouches, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"JS" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"JT" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/empty/sleeping_agent, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"JU" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"JV" = ( -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/suit/armor/vest/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/clothing/head/helmet/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/item/weapon/storage/backpack/ert/security, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"JW" = ( -/obj/structure/bed/chair/wood{ - icon_state = "wooden_chair"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"JX" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/voidcraft/vertical{ - id_tag = "ship-holodeck-door"; - opacity = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/holodeck) -"JY" = ( -/obj/structure/prop/alien/power, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm4) -"JZ" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/light, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) "Ka" = ( /obj/machinery/vending/nifsoft_shop{ categories = 111; @@ -19621,10 +15728,6 @@ dir = 5 }, /area/centcom/specops) -"Kb" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) "Kd" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -19639,204 +15742,10 @@ /area/centcom/security{ name = "\improper CentCom Residential Security" }) -"Ke" = ( -/obj/structure/closet{ - name = "mechanical equipment" - }, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/clothing/head/welding{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/clothing/head/welding{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/clothing/glasses/welding, -/obj/item/clothing/glasses/welding, -/obj/item/weapon/storage/belt/utility, -/obj/item/device/multitool{ - pixel_x = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/device/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/device/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/flash/synthetic, -/obj/item/device/healthanalyzer, -/obj/item/device/healthanalyzer, -/obj/item/weapon/storage/firstaid/regular{ - empty = 1; - name = "First-Aid (empty)" - }, -/obj/item/weapon/storage/firstaid/regular{ - empty = 1; - name = "First-Aid (empty)" - }, -/obj/item/weapon/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/weapon/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/weapon/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/weapon/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 5; - pixel_y = -5 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Kf" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Kh" = ( -/obj/item/clothing/suit/space/void/atmos, -/obj/item/clothing/head/helmet/space/void/atmos, -/obj/item/weapon/tank/oxygen/red, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Ki" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/kitchen) -"Kj" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Kk" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm6) -"Kl" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms1) -"Km" = ( -/obj/machinery/sleeper/survival_pod, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) -"Kn" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms1) -"Ko" = ( -/obj/machinery/mech_recharger, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"Kp" = ( -/obj/machinery/computer/rdservercontrol{ - badmin = 1; - dir = 1; - name = "Master RnD Server Controller" - }, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"Kq" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Kr" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/computer/skills, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ks" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Kt" = ( -/obj/machinery/recharge_station, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm1) "Ku" = ( /obj/effect/floor_decal/derelict/d1, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Kv" = ( -/obj/structure/fans, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) "Kw" = ( /obj/structure/table/reinforced, /obj/item/weapon/storage/firstaid/combat{ @@ -19849,159 +15758,6 @@ dir = 5 }, /area/centcom/specops) -"Kx" = ( -/obj/machinery/door/airlock/security, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"Ky" = ( -/obj/machinery/alarm{ - alarm_id = "anomaly_testing"; - breach_detection = 0; - dir = 8; - frequency = 1439; - pixel_x = 22; - pixel_y = 0; - report_danger_level = 0 - }, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"Kz" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/obj/machinery/light/small, -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"KA" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"KB" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/supply{ - icon_state = "map-supply"; - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_personal, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"KC" = ( -/obj/structure/closet/secure_closet/engineering_chief, -/obj/item/weapon/rcd, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rig/ce/equipped, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"KD" = ( -/obj/machinery/door/airlock/engineeringatmos, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"KE" = ( -/obj/structure/table/rack/steel, -/obj/machinery/door/window/survival_pod{ - dir = 8; - req_one_access = list(103) - }, -/obj/structure/window/reinforced/survival_pod, -/obj/item/weapon/rig/ert/medical, -/obj/item/weapon/rig/ert/medical, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"KF" = ( -/obj/structure/bed/chair/shuttle{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"KG" = ( -/obj/structure/filingcabinet/chestdrawer{ - name = "Scan Records" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"KH" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/bridge) -"KI" = ( -/obj/machinery/button/remote/airlock{ - id = "ship-vault-door"; - name = "Vault Lock"; - pixel_x = -6; - pixel_y = -26; - req_one_access = list(108); - specialfunctions = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"KK" = ( -/turf/simulated/shuttle/wall/alien/hard_corner, -/area/unknown/dorm1) -"KL" = ( -/obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) "KM" = ( /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 @@ -20016,144 +15772,10 @@ }, /turf/unsimulated/floor/steel, /area/centcom/living) -"KN" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 4 - }, -/obj/machinery/space_heater, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"KO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"KP" = ( -/obj/machinery/biogenerator, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"KR" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/engineering) -"KS" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"KT" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 4 - }, -/obj/machinery/pipedispenser/orderable, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"KU" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/base_mid, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) -"KV" = ( -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/flashbangs{ - pixel_x = -2; - pixel_y = -2 - }, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/obj/item/clothing/accessory/storage/pouches/large/blue, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"KW" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"KX" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) "KY" = ( /obj/effect/floor_decal/derelict/d15, /turf/unsimulated/floor/steel, /area/centcom/evac) -"KZ" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms2) -"La" = ( -/obj/machinery/atmospherics/tvalve/digital/mirrored{ - dir = 8; - name = "Filter Bypass" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Lb" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Lc" = ( -/obj/structure/bed/pod, -/obj/item/weapon/bedsheet/ce, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ld" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/medical) "Le" = ( /obj/structure/table/rack, /obj/item/weapon/gun/energy/gun/burst, @@ -20162,439 +15784,18 @@ icon_state = "dark" }, /area/centcom/specops) -"Lf" = ( -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Lg" = ( -/obj/machinery/r_n_d/circuit_imprinter, -/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Lh" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"Li" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Lj" = ( -/obj/machinery/portable_atmospherics/hydroponics, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Lk" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Ll" = ( -/obj/structure/closet/secure_closet/detective, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Lm" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Lo" = ( -/obj/machinery/vending/snack, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"Lp" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/medical) -"Lr" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"Ls" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Lu" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/breakroom) -"Lv" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm3-door"; - name = "Dorm 3 Lock"; - pixel_x = 6; - pixel_y = 26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"Lw" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/treatment) -"Lx" = ( -/obj/structure/closet/crate/secure/gear{ - req_one_access = list(108) - }, -/obj/item/device/subspaceradio, -/obj/item/weapon/storage/firstaid/insiderepair, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy{ - name = "Super Heavy Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ - name = "Heavy Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ - name = "Heavy Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ - name = "Heavy Demolitions kit" - }, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/storage/box/emps{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/cell/device/weapon/recharge/alien, -/obj/item/weapon/material/knife/machete/deluxe{ - default_material = "durasteel" - }, -/obj/item/clothing/accessory/holster/machete, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"Ly" = ( -/obj/item/weapon/storage/firstaid/o2{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/o2, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Lz" = ( -/obj/structure/closet/crate/freezer/rations, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/random/mre, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"LA" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 1 - }, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"LC" = ( -/obj/machinery/vending/loadout/loadout_misc, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) "LD" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) -"LE" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light, -/obj/machinery/alarm{ - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-hydroponics"; - name = "Blast Doors Controls"; - pixel_x = 20; - pixel_y = -28 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"LG" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 1; - icon_state = "map" - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms1) -"LI" = ( -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"LJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"LL" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"LM" = ( -/obj/machinery/alarm{ - alarm_id = "anomaly_testing"; - breach_detection = 0; - dir = 8; - frequency = 1439; - pixel_x = 22; - pixel_y = 0; - report_danger_level = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"LN" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/folder/red{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/weapon/folder/red, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"LO" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"LP" = ( -/obj/machinery/atmospherics/binary/pump/on{ - dir = 2; - target_pressure = 200 - }, -/obj/machinery/light, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"LQ" = ( -/obj/machinery/autolathe{ - desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; - hacked = 1; - name = "Centcom Autolathe" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"LR" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 4; - icon_state = "pdoor0"; - id = "ship-lounge"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced, -/turf/simulated/floor/plating, -/area/mothership/breakroom) "LS" = ( /obj/machinery/shieldgen, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) -"LT" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"LW" = ( -/obj/machinery/recharge_station, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm2) -"LX" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 4 - }, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"LY" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"LZ" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Ma" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"Mb" = ( -/obj/machinery/cryopod, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"Mc" = ( -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/airlock/voidcraft, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Md" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/item/weapon/reagent_containers/glass/bottle/biomass, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) "Me" = ( /obj/item/weapon/storage/firstaid/regular, /turf/unsimulated/floor{ @@ -20602,80 +15803,6 @@ icon_state = "dark" }, /area/centcom/control) -"Mf" = ( -/obj/structure/bed/chair/shuttle{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Mg" = ( -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm4) -"Mh" = ( -/obj/machinery/vending/food/arojoan{ - density = 0; - pixel_x = 0; - pixel_y = -32 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Mi" = ( -/obj/effect/floor_decal/spline/fancy/wood, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/breakroom) -"Mj" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/space, -/area/mothership/engineering) -"Mk" = ( -/obj/machinery/door/airlock/research, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Ml" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"Mm" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ - dir = 1 - }, -/obj/structure/closet/emcloset/legacy, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/box/syndie_kit/space, -/obj/item/weapon/storage/box/syndie_kit/space, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Mn" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"Mp" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"Mr" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/chemical_dispenser/bar_coffee/full, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"Ms" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) "Mt" = ( /obj/structure/table/rack, /obj/item/weapon/extinguisher/mini, @@ -20687,240 +15814,12 @@ dir = 5 }, /area/centcom/specops) -"Mu" = ( -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Mv" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/simulated/floor/wood, -/area/mothership/dorm1) "Mw" = ( /obj/machinery/shield_gen/external, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) -"My" = ( -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) -"MA" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"MB" = ( -/obj/machinery/sleeper{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"MC" = ( -/obj/structure/closet/secure_closet/RD, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"MD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"ME" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"MF" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms2) -"MG" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/treatment) -"MI" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/recharger, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"MJ" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/surgery) -"MK" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"ML" = ( -/obj/machinery/vending/dinnerware, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"MM" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"MN" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28 - }, -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"MO" = ( -/obj/machinery/chem_master, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"MP" = ( -/obj/structure/closet/secure_closet/nanotrasen_commander, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"MQ" = ( -/obj/machinery/door/airlock/security, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"MS" = ( -/obj/machinery/teleport/station, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm2) -"MT" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/chef_recipes, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ - layer = 5 - }, -/obj/item/weapon/reagent_containers/food/condiment/enzyme{ - layer = 5 - }, -/obj/item/weapon/material/knife/butch, -/obj/item/weapon/material/kitchen/rollingpin, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"MU" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm6-door"; - name = "Dorm 6 Lock"; - pixel_x = -6; - pixel_y = -26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"MV" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/rnd) -"MW" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"MX" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"MZ" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/reagentgrinder, -/obj/item/weapon/storage/box/beakers, -/obj/machinery/button/remote/blast_door{ - id = "ship-kitchen"; - name = "Blast Doors Controls"; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"Na" = ( -/obj/machinery/vending/loadout/overwear, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"Nb" = ( -/obj/machinery/atmospherics/unary/cryo_cell, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) "Nc" = ( /obj/structure/closet/crate/bin, /obj/effect/floor_decal/borderfloorwhite{ @@ -20935,141 +15834,6 @@ /obj/machinery/light/flamp/noshade, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Ne" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Nf" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Ng" = ( -/obj/machinery/vending/fitness, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Nh" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/holodeck) -"Ni" = ( -/obj/machinery/vending/cola, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"Nj" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/defib_kit/compact/combat/loaded, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Nk" = ( -/obj/item/clothing/suit/space/void/exploration, -/obj/item/clothing/head/helmet/space/void/exploration, -/obj/item/weapon/tank/oxygen, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Nl" = ( -/obj/structure/prop/alien/dispenser, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"Nm" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Nn" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/flashlight/lamp, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"No" = ( -/obj/machinery/telecomms/hub/preset_cent, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"Np" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Nq" = ( -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/corner/lightorange{ - icon_state = "corner_white"; - dir = 5 - }, -/obj/effect/floor_decal/borderfloor/shifted{ - icon_state = "borderfloor_shifted"; - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - icon_state = "bordercolor_shifted"; - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"Nr" = ( -/obj/machinery/computer/transhuman/designer{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Ns" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Nu" = ( -/obj/machinery/telecomms/processor/preset_cent, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"Nv" = ( -/obj/machinery/door/airlock/external, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Nw" = ( -/obj/machinery/vending/hydronutrients, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) "Nx" = ( /obj/structure/table/rack, /obj/item/weapon/plastique, @@ -21084,231 +15848,6 @@ icon_state = "dark" }, /area/centcom/specops) -"Nz" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"NA" = ( -/obj/machinery/door/blast/regular{ - dir = 4; - id = "ship-mechbay"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"NB" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"NC" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/sechallway) -"ND" = ( -/obj/machinery/teleport/station, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm3) -"NE" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/door/window/westleft, -/obj/machinery/door/window/eastright, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"NF" = ( -/obj/machinery/status_display{ - pixel_y = -29 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"NG" = ( -/obj/effect/floor_decal/spline/fancy/wood, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/breakroom) -"NI" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"NJ" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - pixel_x = 0; - pixel_y = 32 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"NK" = ( -/obj/machinery/computer/rdconsole/core, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"NL" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"NM" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"NN" = ( -/obj/item/rig_module/vision/multi, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"NO" = ( -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/item/weapon/gun/energy/gun/nuclear, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"NP" = ( -/obj/machinery/door/airlock/voidcraft/vertical, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/cryotube) -"NQ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"NR" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/evidence, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"NS" = ( -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 10 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"NT" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"NU" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"NV" = ( -/obj/machinery/door/airlock/security, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"NW" = ( -/obj/machinery/sleep_console{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"NX" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/kitchen) -"NY" = ( -/obj/machinery/chemical_dispenser/ert, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"Oa" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Ob" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) "Oc" = ( /obj/structure/table/reinforced, /obj/item/weapon/reagent_containers/blood/OMinus, @@ -21322,50 +15861,6 @@ dir = 5 }, /area/centcom/specops) -"Od" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Oe" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/gun/energy/modular/cannon, -/obj/item/weapon/gun/energy/modular/carbine, -/obj/item/weapon/gun/energy/modular/pistol, -/obj/item/weapon/gun/energy/medigun, -/obj/item/weapon/gun/energy/captain, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"Of" = ( -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) "Og" = ( /obj/structure/table/rack, /obj/item/weapon/gun/projectile/automatic/l6_saw, @@ -21382,855 +15877,22 @@ icon_state = "dark" }, /area/centcom/specops) -"Oh" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Oi" = ( -/obj/structure/particle_accelerator/fuel_chamber{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"Oj" = ( -/obj/machinery/atmospherics/unary/heater{ - dir = 1; - icon_state = "heater"; - use_power = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ok" = ( -/obj/structure/table/alien, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"Ol" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/box/bodybags, -/obj/item/weapon/storage/box/bodybags{ - pixel_x = 2; - pixel_y = 2 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) -"Om" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms2) -"On" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Oo" = ( -/obj/effect/floor_decal/industrial/warning/corner, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"Op" = ( -/obj/machinery/door/airlock/research, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Oq" = ( -/obj/machinery/telecomms/server/presets/centcomm, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"Or" = ( -/obj/machinery/door/airlock/voidcraft/vertical{ - glass = 0; - id_tag = "ship-dorm2-door"; - opacity = 1 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/dorm2) -"Os" = ( -/obj/machinery/vending/loadout/uniform, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Ot" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/empty/phoron, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ou" = ( -/obj/structure/particle_accelerator/power_box{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"Ov" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Ow" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/warden) -"Ox" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Oy" = ( -/obj/structure/bed/chair/wood{ - icon_state = "wooden_chair"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Oz" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"OA" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/airlock/vault/bolted{ - id_tag = "ship-vault-door"; - req_one_access = list(109) - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/blast/regular{ - destroy_hits = 100; - id = "ship-vault"; - name = "Vault" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"OB" = ( -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/stack/material/steel{ - amount = 50; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/stack/material/steel{ - amount = 50; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/stack/material/steel{ - amount = 50; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/stack/material/steel{ - amount = 50; - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/stack/material/plasteel{ - amount = 50 - }, -/obj/item/stack/material/plasteel{ - amount = 50 - }, -/obj/item/stack/material/plasteel{ - amount = 50 - }, -/obj/item/stack/material/plasteel{ - amount = 50 - }, -/obj/item/stack/material/glass/reinforced{ - amount = 50 - }, -/obj/item/stack/material/glass/reinforced{ - amount = 50 - }, -/obj/item/stack/material/glass/reinforced{ - amount = 50 - }, -/obj/item/weapon/storage/briefcase/inflatable{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/briefcase/inflatable{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/briefcase/inflatable{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/briefcase/inflatable{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/structure/table/steel_reinforced, -/obj/item/stack/rods, -/obj/item/stack/rods, -/obj/item/stack/material/glass/phoronglass, -/obj/item/stack/material/glass/phoronglass, -/obj/item/stack/rods, -/obj/item/stack/rods, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"OC" = ( -/obj/machinery/mech_recharger, -/obj/structure/ghost_pod/manual/lost_drone/dogborg, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) "OD" = ( /obj/machinery/power/port_gen/pacman, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) -"OE" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-kitchen"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/kitchen) -"OF" = ( -/turf/space, -/area/space) -"OG" = ( -/obj/machinery/atmospherics/binary/pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"OH" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/processing) "OI" = ( /obj/effect/floor_decal/derelict/d9, /turf/unsimulated/floor/steel, /area/centcom/evac) -"OJ" = ( -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - dir = 9 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"OK" = ( -/obj/machinery/door/firedoor/glass, -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/window/brigdoor/southleft{ - dir = 4; - id = "Cell M1"; - name = "Cell 1"; - req_access = list(2) - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-cell1"; - name = "Security Blast Doors"; - opacity = 0 - }, -/turf/simulated/floor/tiled/dark, -/area/mothership/sechallway) -"OL" = ( -/obj/machinery/door/airlock/security, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"OM" = ( -/obj/machinery/door/blast/regular{ - dir = 4; - id = "ship-mechbay"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"ON" = ( -/obj/machinery/status_display{ - pixel_x = 32; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"OO" = ( -/obj/machinery/teleport/station, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm1) -"OP" = ( -/obj/machinery/chemical_dispenser/full, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"OQ" = ( -/obj/machinery/status_display{ - pixel_x = -32; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"OR" = ( -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"OS" = ( -/obj/machinery/vending/blood, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"OT" = ( -/obj/item/rig_module/device/healthscanner, -/obj/item/rig_module/device/healthscanner, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/sprinter, -/obj/item/rig_module/sprinter, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"OU" = ( -/turf/unsimulated/wall{ - icon = 'icons/obj/doors/Doorext.dmi'; - icon_state = "door_locked"; - name = "Sealed Door" - }, -/area/mothership/engineering) -"OV" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"OW" = ( -/obj/machinery/cooker/fryer, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"OX" = ( -/obj/structure/sink/kitchen, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/hydroponics) -"OY" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"OZ" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - pixel_x = 0; - pixel_y = 32 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 8 - }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"Pa" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"Pb" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Pc" = ( -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Pe" = ( -/obj/machinery/door_timer/cell_1{ - id = "Cell M1"; - pixel_x = -32 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"Pf" = ( -/obj/machinery/telecomms/relay/preset/centcom/underdark, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) -"Ph" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2; - req_one_access = list(5) - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/treatment) "Pi" = ( /obj/machinery/door/blast/regular{ dir = 1 }, /turf/unsimulated/floor/techfloor_grid, /area/centcom/evac) -"Pj" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Pk" = ( -/obj/structure/closet/alien, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"Pl" = ( -/obj/machinery/door/airlock/command{ - req_one_access = list(101) - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bridge) -"Pm" = ( -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/item/device/defib_kit/compact/combat/loaded, -/obj/structure/table/rack/shelf/steel, -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Pn" = ( -/obj/structure/toilet, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm3) -"Po" = ( -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/melee/energy/sword, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/tacknife/survival, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/weapon/material/knife/machete, -/obj/item/clothing/accessory/holster/machete, -/obj/item/clothing/accessory/holster/machete, -/obj/item/clothing/accessory/holster/machete, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Pp" = ( -/obj/item/weapon/storage/firstaid/combat{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/combat, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Pq" = ( -/obj/machinery/shower{ - pixel_y = 13 - }, -/obj/structure/curtain/open/shower, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm2) -"Pr" = ( -/obj/item/clothing/suit/armor/vest/ert/engineer, -/obj/item/clothing/suit/armor/vest/ert/engineer, -/obj/item/clothing/head/helmet/ert/engineer, -/obj/item/clothing/head/helmet/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/item/weapon/storage/backpack/ert/engineer, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Ps" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Pt" = ( -/obj/item/device/perfect_tele_beacon/stationary{ - tele_name = "Unknown"; - tele_network = "unktwo" - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm2) -"Pu" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/retail_scanner/security, -/obj/item/device/retail_scanner/security, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 0; - pixel_y = -30 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Pv" = ( -/obj/machinery/computer/teleporter{ - dir = 1 - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm2) -"Pw" = ( -/obj/machinery/shower{ - pixel_y = 13 - }, -/obj/structure/curtain/open/shower, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm4) -"Px" = ( -/obj/machinery/atmospherics/pipe/simple/visible/black, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/engineering) -"Pz" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/weapon/rig/ert/assetprotection, -/obj/item/clothing/glasses/thermal, -/obj/item/clothing/glasses/thermal, -/obj/item/clothing/suit/armor/pcarrier/merc, -/obj/item/clothing/suit/armor/pcarrier/merc, -/obj/item/clothing/head/helmet/merc, -/obj/item/clothing/head/helmet/merc, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"PA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"PB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"PC" = ( -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/item/clothing/suit/armor/pcarrier/blue/sol, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"PD" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/resleeving) -"PE" = ( -/obj/structure/sink{ - pixel_y = 32 - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bathroom1) -"PF" = ( -/obj/machinery/door/airlock/voidcraft/vertical{ - glass = 0; - id_tag = "ship-dorm4-door"; - opacity = 1 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/dorm4) -"PG" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"PH" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"PI" = ( -/obj/effect/floor_decal/spline/plain{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -24 - }, -/obj/structure/closet/secure_closet/personal, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/item/weapon/storage/box/survival/space, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/holodeck) "PJ" = ( /obj/effect/floor_decal/corner_steel_grid/diagonal, /obj/effect/floor_decal/industrial/warning/dust/corner{ @@ -22239,253 +15901,17 @@ /obj/machinery/light/flamp/noshade, /turf/unsimulated/floor/steel, /area/centcom/evac) -"PK" = ( -/obj/machinery/light, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"PL" = ( -/obj/item/clothing/suit/space/void/security/alt, -/obj/item/clothing/head/helmet/space/void/security/alt, -/obj/item/weapon/tank/oxygen, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"PM" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/holodeck) -"PN" = ( -/obj/structure/ladder, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"PO" = ( -/obj/machinery/cooker/oven, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) "PP" = ( /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) -"PQ" = ( -/obj/structure/sink/kitchen, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/kitchen) -"PR" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"PS" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/chemical_dispenser/bar_soft/full, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"PT" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"PU" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"PV" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-equip"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/security) -"PW" = ( -/obj/machinery/door/airlock/research, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"PX" = ( -/obj/machinery/shower{ - pixel_y = 13 - }, -/obj/structure/curtain/open/shower, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm1) -"Qa" = ( -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bathroom1) -"Qc" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Qd" = ( -/obj/structure/closet/secure_closet/explorer, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Qe" = ( -/obj/item/device/perfect_tele_beacon/stationary{ - tele_name = "Unknown"; - tele_network = "unkone" - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm1) -"Qf" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/robotics) -"Qg" = ( -/obj/machinery/button/remote/blast_door{ - id = "ship-vault"; - name = "Vault Blast Door Controls"; - pixel_y = 28; - req_one_access = list(108) - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"Qh" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/breakroom) -"Qj" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 4 - }, -/obj/machinery/portable_atmospherics/powered/scrubber, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Qk" = ( -/obj/structure/fans, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) "Ql" = ( /obj/machinery/door/airlock/multi_tile/glass{ dir = 1 }, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Qm" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"Qn" = ( -/obj/structure/particle_accelerator/end_cap{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"Qo" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Qp" = ( -/obj/machinery/status_display{ - pixel_y = 29 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Qq" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) "Qr" = ( /obj/structure/sink{ icon_state = "sink"; @@ -22503,215 +15929,6 @@ icon_state = "white" }, /area/centcom/bathroom) -"Qs" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/security, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Qt" = ( -/obj/structure/particle_accelerator/fuel_chamber{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"Qu" = ( -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"Qv" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Qw" = ( -/obj/machinery/door/airlock/voidcraft/vertical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/cryotube) -"Qx" = ( -/obj/structure/bed/chair/shuttle{ - dir = 8 - }, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Qy" = ( -/obj/structure/closet/crate/freezer, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Qz" = ( -/obj/machinery/recharger, -/obj/structure/table/steel_reinforced, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"QA" = ( -/obj/structure/morgue{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) -"QB" = ( -/obj/item/weapon/storage/firstaid/regular{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/bodybag/cryobag{ - pixel_x = 5 - }, -/obj/item/bodybag/cryobag{ - pixel_x = 5 - }, -/obj/item/weapon/storage/firstaid/o2{ - layer = 2.8; - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/weapon/storage/box/masks{ - pixel_x = 0; - pixel_y = 0 - }, -/obj/item/weapon/storage/box/gloves{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ - layer = 2.9; - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = -2 - }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/structure/closet/medical_wall{ - pixel_y = -32 - }, -/obj/item/weapon/storage/box/body_record_disk, -/obj/item/weapon/storage/firstaid/insiderepair, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/bonemed, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = -2 - }, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, -/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"QC" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"QD" = ( -/obj/structure/bed/chair/comfy/black, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"QE" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"QF" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 0; - pixel_y = -30 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"QG" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 4; - icon_state = "pdoor0"; - id = "ship-med-surgery"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced, -/turf/simulated/floor/plating, -/area/mothership/surgery) -"QH" = ( -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"QI" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"QJ" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"QK" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"QL" = ( -/turf/unsimulated/wall{ - icon = 'icons/obj/doors/Doorext.dmi'; - icon_state = "door_locked"; - name = "Sealed Door" - }, -/area/mothership/eva) "QM" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -22721,36 +15938,6 @@ icon_state = "white" }, /area/centcom/bathroom) -"QN" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"QO" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/empty/nitrogen, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"QP" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 24 - }, -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) "QQ" = ( /obj/structure/table/rack, /obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, @@ -22759,73 +15946,10 @@ icon_state = "dark" }, /area/centcom/specops) -"QR" = ( -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"QS" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"QU" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/hydroponics) -"QW" = ( -/obj/structure/closet/walllocker{ - name = "Janitor Locker"; - pixel_x = 32 - }, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/storage/box/lights/mixed, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/grenade/chem_grenade/cleaner, -/obj/item/weapon/soap/nanotrasen, -/obj/item/weapon/soap/deluxe, -/obj/item/weapon/soap, -/obj/item/weapon/rig/ert/janitor, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"QX" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"QY" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) "QZ" = ( /obj/effect/floor_decal/derelict/d12, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Ra" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Rb" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/teleport/hub, -/turf/simulated/shuttle/floor/voidcraft, -/area/unknown/dorm3) "Rc" = ( /obj/structure/table/glass, /obj/item/device/defib_kit/compact/loaded, @@ -22842,128 +15966,6 @@ icon_state = "dark" }, /area/centcom/specops) -"Rf" = ( -/obj/structure/particle_accelerator/power_box{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Rg" = ( -/obj/machinery/button/remote/airlock{ - id = "ship-holodeck-door"; - name = "Holodeck Lock"; - pixel_x = -26; - pixel_y = -6; - specialfunctions = 4 - }, -/obj/machinery/button/remote/blast_door{ - dir = 8; - id = "ship-holodeck"; - name = "Blast Door Controls"; - pixel_x = -28; - pixel_y = 6 - }, -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/holodeck) -"Rh" = ( -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm3) -"Ri" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/armory) -"Rj" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"Rk" = ( -/obj/machinery/vending/boozeomat{ - density = 0; - pixel_x = 0; - pixel_y = -32 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Rl" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Rm" = ( -/obj/machinery/door/blast/regular{ - dir = 4; - id = "ship-mechbay"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/button/remote/blast_door{ - id = "ship-mechbay"; - name = "Mech Bay Controls"; - pixel_x = 28 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Rn" = ( -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ro" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/bathroom2) -"Rp" = ( -/obj/item/weapon/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/regular, -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Rq" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"Rr" = ( -/obj/machinery/telecomms/bus/preset_cent, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"Rs" = ( -/obj/machinery/mech_recharger, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) "Rt" = ( /obj/machinery/light/spot, /turf/unsimulated/floor/steel, @@ -22973,69 +15975,6 @@ /obj/effect/floor_decal/industrial/warning/dust, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Rv" = ( -/obj/machinery/light, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Rw" = ( -/obj/structure/bed/chair/comfy/black, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"Rx" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Ry" = ( -/obj/machinery/door/airlock/command{ - req_one_access = list(101) - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bridge) -"Rz" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/station_low, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) -"RA" = ( -/obj/machinery/smartfridge, -/turf/simulated/floor/plating, -/area/mothership/chemistry) -"RB" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"RC" = ( -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact, -/obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/ammo_magazine/m9mm/compact/flash, -/obj/item/ammo_magazine/m9mm/compact/rubber, -/obj/item/ammo_magazine/m9mm/compact/rubber, -/obj/item/ammo_magazine/m9mm/compact/rubber, -/obj/item/ammo_magazine/m9mm/compact/practice, -/obj/item/ammo_magazine/m9mm/compact/practice, -/obj/item/ammo_magazine/m9mm/compact/practice, -/obj/item/weapon/gun/projectile/pistol, -/obj/item/weapon/gun/projectile/pistol, -/obj/item/weapon/gun/projectile/pistol, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) "RD" = ( /obj/machinery/shield_capacitor, /turf/unsimulated/floor{ @@ -23053,70 +15992,6 @@ icon_state = "dark" }, /area/centcom/specops) -"RG" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/clothing/suit/space/void/merc/fire, -/obj/item/clothing/head/helmet/space/void/merc/fire, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/head/helmet/space/void/merc, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/head/helmet/space/void/merc, -/obj/item/clothing/suit/space/void/merc/odst, -/obj/item/clothing/head/helmet/space/void/merc/odst, -/obj/item/clothing/suit/space/void/security/fluff/hos, -/obj/item/clothing/head/helmet/space/void/security/fluff/hos, -/obj/item/weapon/tank/oxygen/yellow, -/obj/item/weapon/tank/vox, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"RH" = ( -/obj/structure/toilet, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm1) -"RI" = ( -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) "RJ" = ( /obj/structure/table/rack, /obj/item/weapon/gun/projectile/automatic/z8, @@ -23135,23 +16010,6 @@ icon_state = "dark" }, /area/centcom/specops) -"RK" = ( -/obj/structure/prop/alien/computer{ - dir = 8 - }, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"RL" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"RN" = ( -/obj/structure/table/alien, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) "RO" = ( /obj/machinery/door/blast/regular{ id = "ArmouryC5"; @@ -23169,103 +16027,12 @@ dir = 5 }, /area/centcom/control) -"RP" = ( -/obj/machinery/vending/loadout/clothing, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"RQ" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"RR" = ( -/turf/simulated/shuttle/wall/alien, -/area/unknown/dorm2) -"RS" = ( -/obj/structure/closet/hydrant{ - pixel_x = -32 - }, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"RT" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"RU" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"RV" = ( -/obj/machinery/computer/teleporter{ - dir = 1 - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm4) -"RW" = ( -/obj/machinery/recharge_station, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm3) -"RX" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/engineering) "RY" = ( /obj/structure/reagent_dispensers/fueltank, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) -"RZ" = ( -/obj/machinery/vending/coffee, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"Sa" = ( -/obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"Sb" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) "Sc" = ( /obj/machinery/atm{ pixel_x = 0; @@ -23276,50 +16043,6 @@ dir = 5 }, /area/centcom/specops) -"Sd" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/gun/energy/pulse_rifle, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/gun/energy/protector, -/obj/item/weapon/gun/energy/protector, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Sf" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/kitchen) -"Sg" = ( -/obj/machinery/computer/cryopod/robot{ - dir = 1; - pixel_y = -28 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"Sh" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/eva) "Si" = ( /obj/effect/floor_decal/derelict/d14, /turf/unsimulated/floor/steel, @@ -23328,202 +16051,10 @@ /obj/effect/floor_decal/derelict/d10, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Sk" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Sl" = ( -/obj/machinery/atmospherics/pipe/simple/visible/cyan{ - dir = 5 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Sm" = ( -/obj/machinery/body_scanconsole, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Sn" = ( -/obj/machinery/vending/loadout/accessory, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"So" = ( -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"Sq" = ( -/obj/machinery/optable, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"Sr" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Ss" = ( -/obj/machinery/r_n_d/protolathe, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Su" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/base_high, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) "Sv" = ( /obj/effect/floor_decal/derelict/d11, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Sw" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Sx" = ( -/obj/machinery/media/jukebox, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"Sz" = ( -/obj/structure/closet/alien, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"SA" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm4) -"SB" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-holodeck"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/mothership/holodeck) -"SC" = ( -/obj/machinery/computer/teleporter{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"SE" = ( -/obj/machinery/vending/sovietsoda, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"SF" = ( -/obj/item/device/perfect_tele_beacon/stationary{ - tele_name = "Unknown"; - tele_network = "unkthree" - }, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm3) -"SG" = ( -/obj/structure/table/steel_reinforced, -/obj/item/clothing/accessory/badge/holo/cord, -/obj/item/clothing/accessory/badge/holo/cord, -/obj/item/clothing/accessory/badge/holo/cord, -/obj/item/clothing/accessory/badge/holo/cord, -/obj/item/clothing/accessory/badge/holo, -/obj/item/clothing/accessory/badge/holo, -/obj/item/clothing/accessory/badge/holo, -/obj/item/clothing/accessory/badge/holo, -/obj/machinery/button/remote/blast_door{ - id = "ship-sec-equip"; - name = "Blast Doors Controls"; - pixel_y = -28 - }, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"SI" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"SJ" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/teargas, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/empslite, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/gun/launcher/grenade, -/obj/item/weapon/gun/launcher/grenade, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"SK" = ( -/obj/machinery/door/airlock/multi_tile/metal, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"SN" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"SO" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm2) "SP" = ( /obj/structure/table/rack, /obj/item/bodybag/cryobag, @@ -23537,257 +16068,18 @@ dir = 5 }, /area/centcom/specops) -"SQ" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 +"Tc" = ( +/obj/structure/table/reinforced, +/obj/machinery/chemical_dispenser/biochemistry/full, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 }, -/turf/simulated/floor/carpet/oracarpet, -/area/mothership/engineering) -"SR" = ( -/obj/machinery/atmospherics/unary/freezer{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"SS" = ( -/obj/structure/fans, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"ST" = ( -/obj/machinery/pros_fabricator, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"SU" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"SV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/engineering) -"SW" = ( -/obj/machinery/cooker/grill, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/machinery/light, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"SX" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"SY" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/teleport/hub, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"SZ" = ( -/obj/machinery/mineral/equipment_vendor, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"Ta" = ( -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/ammo_magazine/m9mmp90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/weapon/gun/projectile/automatic/p90, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/flash, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/item/ammo_magazine/m9mmt/rubber, -/obj/structure/closet/secure_closet/guncabinet{ - req_one_access = list(103) - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Tb" = ( -/obj/machinery/button/remote/blast_door{ - id = "ship-med-equip"; - name = "Blast Doors Controls"; - pixel_y = -28 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Td" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/table/bench/steel, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Te" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/item/device/radio/off, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Tf" = ( -/obj/item/weapon/bedsheet/rddouble, -/obj/structure/bed/double/padded, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) -"Tg" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm2) -"Th" = ( -/obj/machinery/atmospherics/trinary/atmos_filter{ - dir = 4; - filter_type = 0; - filtered_out = list("phoron") - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ti" = ( -/obj/machinery/r_n_d/server/centcom, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"Tk" = ( -/obj/structure/closet/hydrant{ - pixel_x = 32 - }, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Tl" = ( -/obj/machinery/oxygen_pump/anesthetic, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/surgery) -"Tm" = ( -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm1) -"Tn" = ( -/obj/machinery/cooker/cereal, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 9 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"To" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) +/area/centcom/specops) "Tp" = ( /obj/effect/floor_decal/derelict/d3, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Tq" = ( -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/holodeck) -"Tr" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 24 - }, -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"Ts" = ( -/obj/machinery/recharge_station, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm4) -"Tt" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"Tu" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Tv" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"Tw" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) "Tx" = ( /obj/machinery/autolathe{ desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; @@ -23798,96 +16090,10 @@ icon_state = "dark" }, /area/centcom/specops) -"Ty" = ( -/obj/machinery/vending/cart, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Tz" = ( -/obj/item/weapon/gun/projectile/shotgun/pump/combat{ - ammo_type = /obj/item/ammo_casing/a12g/beanbag; - desc = "Built for close quarters combat, the Hesphaistos Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock."; - name = "warden's shotgun" - }, -/obj/item/weapon/book/manual/security_space_law, -/obj/structure/closet/secure_closet/nanotrasen_warden, -/obj/machinery/power/apc{ - alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/super; - dir = 8; - name = "west bump"; - pixel_x = -28 - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"TA" = ( -/obj/machinery/door/airlock/voidcraft/vertical{ - glass = 0; - id_tag = "ship-dorm6-door"; - opacity = 1 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/dorm6) -"TB" = ( -/obj/machinery/vending/tool, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) "TC" = ( /obj/effect/floor_decal/derelict/d4, /turf/unsimulated/floor/steel, /area/centcom/evac) -"TD" = ( -/turf/simulated/shuttle/wall/alien/hard_corner, -/area/unknown/dorm2) -"TE" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/weapon/clipboard, -/obj/item/weapon/folder/red, -/obj/item/weapon/pen, -/obj/item/device/radio{ - pixel_x = -4 - }, -/obj/item/weapon/hand_labeler, -/obj/item/weapon/tool/wrench, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"TF" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/weapon/gun/projectile/automatic/l6_saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/obj/item/ammo_magazine/m545saw/ap, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) "TG" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -23896,457 +16102,16 @@ icon_state = "white" }, /area/centcom/bathroom) -"TH" = ( -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"TI" = ( -/obj/structure/table/alien, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"TJ" = ( -/obj/structure/ghost_pod/manual/lost_drone/dogborg, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"TK" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"TL" = ( -/obj/structure/table/rack/steel, -/obj/machinery/door/window/survival_pod{ - dir = 8; - req_one_access = list(103) - }, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/obj/item/weapon/rig/ert/security, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"TM" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"TN" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"TO" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"TP" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/chemistry) -"TQ" = ( -/obj/machinery/telecomms/broadcaster/preset_cent, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"TR" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"TS" = ( -/obj/structure/dispenser/oxygen{ - oxygentanks = 40 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"TT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"TV" = ( -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_drop_pouches, -/obj/item/clothing/accessory/storage/black_drop_pouches, -/obj/item/clothing/accessory/storage/black_drop_pouches, -/obj/item/clothing/accessory/storage/black_drop_pouches, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) "TW" = ( /obj/machinery/shield_gen, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) -"TX" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/armory) -"TY" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"TZ" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Ua" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ub" = ( -/obj/item/clothing/suit/armor/vest/ert/medical, -/obj/item/clothing/suit/armor/vest/ert/medical, -/obj/item/clothing/head/helmet/ert/medical, -/obj/item/clothing/head/helmet/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/item/weapon/storage/backpack/ert/medical, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Uc" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Ud" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Ue" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table/bench/steel, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Uf" = ( -/obj/structure/closet/crate/bin, -/obj/machinery/button/remote/blast_door{ - dir = 4; - id = "ship-sec-cell1"; - name = "Cell 1 Blast Doors"; - pixel_x = 28; - pixel_y = 6; - req_one_access = list(2) - }, -/obj/machinery/button/remote/blast_door{ - dir = 4; - id = "ship-sec-cell2"; - name = "Cell 2 Blast Doors"; - pixel_x = 28; - pixel_y = -6; - req_one_access = list(2) - }, -/obj/machinery/button/remote/blast_door{ - id = "ship-sec-warden"; - name = "Blast Doors Controls"; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"Ug" = ( -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"Uh" = ( -/obj/structure/sink{ - pixel_y = 32 - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bathroom2) -"Ui" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2 - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/medical) -"Uj" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Uk" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"Ul" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/machinery/power/thermoregulator, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Um" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Un" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Uo" = ( -/obj/item/rig_module/grenade_launcher/smoke, -/obj/item/rig_module/grenade_launcher/cleaner, -/obj/item/rig_module/grenade_launcher, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Up" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Uq" = ( -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) "Ur" = ( /obj/effect/floor_decal/derelict/d7, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Us" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/red{ - icon_state = "map"; - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ut" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"Uu" = ( -/obj/machinery/mecha_part_fabricator, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Uv" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 5 - }, -/obj/machinery/portable_atmospherics/canister/empty/oxygen, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Uw" = ( -/obj/machinery/portable_atmospherics/hydroponics, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Ux" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/vault) -"Uy" = ( -/obj/machinery/door/window/northleft, -/obj/machinery/door/window/southleft, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/kitchen) -"Uz" = ( -/obj/machinery/door/blast/regular{ - id = "ship-mechbay-inner"; - name = "Mech Bay" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/button/remote/blast_door{ - id = "ship-mechbay-inner"; - name = "Mech Bay Controls"; - pixel_x = 0; - pixel_y = 28 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"UA" = ( -/obj/item/device/holowarrant, -/obj/structure/closet/secure_closet/nanotrasen_security, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"UB" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) "UC" = ( /obj/structure/table/steel_reinforced, /obj/item/stack/cable_coil, @@ -24359,67 +16124,6 @@ icon_state = "dark" }, /area/centcom/specops) -"UD" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm4) -"UE" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms1) -"UF" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/space, -/area/mothership/telecomms2) -"UG" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"UH" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"UJ" = ( -/obj/structure/closet/alien, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"UK" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/weapon/pen, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"UL" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/robotics) -"UM" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm2) "UN" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 4 @@ -24436,249 +16140,6 @@ icon_state = "dark" }, /area/centcom/control) -"UP" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/engineering) -"UQ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"UR" = ( -/obj/structure/closet/wardrobe/science_white, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"US" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 1; - icon_state = "map" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"UT" = ( -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"UU" = ( -/obj/structure/closet/crate/secure/gear{ - req_one_access = list(108) - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/stack/telecrystal{ - amount = 240 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card{ - mine_points = 50000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/weapon/card/mining_point_card/survey{ - name = "survey point card"; - survey_points = 5000 - }, -/obj/item/device/survivalcapsule/military, -/obj/item/device/survivalcapsule/military, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/item/weapon/storage/secure/briefcase/money{ - desc = "An sleek tidy briefcase."; - name = "secure briefcase" - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"UV" = ( -/obj/structure/closet/bombcloset/double, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/light, -/obj/machinery/recharger/wallcharger{ - pixel_x = 3; - pixel_y = -29 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"UW" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"UX" = ( -/obj/structure/closet/crate/bin, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"UY" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-cell1"; - name = "Security Blast Doors"; - opacity = 0 - }, -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/turf/simulated/floor/plating, -/area/mothership/sechallway) -"UZ" = ( -/obj/machinery/vending/coffee, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Vb" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 4 - }, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) -"Vc" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms2) -"Vd" = ( -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/structure/table/steel_reinforced, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/material/knife, -/obj/item/weapon/material/knife, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Ve" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/rnd) "Vf" = ( /obj/structure/table/rack, /obj/item/weapon/storage/box/frags, @@ -24691,314 +16152,13 @@ icon_state = "dark" }, /area/centcom/specops) -"Vg" = ( -/obj/machinery/telecomms/relay/preset/centcom, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"Vh" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) "Vi" = ( /obj/effect/floor_decal/derelict/d16, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Vj" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5; - icon_state = "intact" - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/engineering) -"Vk" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 1; - icon_state = "map" - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms2) -"Vl" = ( -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/structure/table/steel_reinforced, -/obj/effect/floor_decal/borderfloor/shifted{ - icon_state = "borderfloor_shifted"; - dir = 1 - }, -/obj/effect/floor_decal/corner/lightorange{ - icon_state = "corner_white"; - dir = 5 - }, -/obj/effect/floor_decal/corner/lightorange/border/shifted{ - icon_state = "bordercolor_shifted"; - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"Vn" = ( -/obj/item/device/holowarrant, -/obj/structure/closet/secure_closet/nanotrasen_security, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Vp" = ( -/obj/structure/table/bench/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) "Vq" = ( /turf/unsimulated/wall/planetary/virgo3b, /area/centcom/bathroom) -"Vr" = ( -/obj/machinery/sleeper/survival_pod, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"Vs" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/treatment) -"Vt" = ( -/obj/machinery/clonepod/transhuman/full, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Vu" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Vw" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm3) -"Vx" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) -"Vy" = ( -/obj/machinery/door/airlock/alien/public, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm2) -"Vz" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/automatic/z8, -/obj/item/weapon/gun/projectile/heavysniper, -/obj/item/weapon/storage/box/sniperammo, -/obj/item/weapon/storage/box/sniperammo, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/ammo_magazine/m762/ap, -/obj/item/weapon/storage/box/sniperammo, -/obj/item/weapon/storage/box/sniperammo, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"VB" = ( -/obj/item/weapon/bedsheet/rddouble, -/obj/structure/bed/double/padded, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"VC" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"VD" = ( -/obj/machinery/vending/engivend, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"VE" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"VF" = ( -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm2) -"VG" = ( -/obj/structure/closet/crate/medical, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/stack/nanopaste/advanced, -/obj/item/device/mmi/digital/posibrain, -/obj/item/device/mmi, -/obj/item/weapon/book/manual/robotics_cyborgs, -/obj/item/device/robotanalyzer, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/weapon/reagent_containers/spray/cleaner{ - desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; - name = "Surgery Cleaner"; - pixel_x = 2; - pixel_y = 2 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"VH" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 2 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/kitchen) -"VI" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 10; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"VJ" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume, -/obj/machinery/light/small{ - dir = 8; - pixel_x = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/breakroom) -"VK" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"VL" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 12; - pixel_y = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"VM" = ( -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/storage/firstaid/adv, -/obj/structure/table/steel_reinforced, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"VN" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"VO" = ( -/obj/machinery/recharge_station, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bathroom2) -"VP" = ( -/obj/structure/prop/alien/power, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm3) -"VQ" = ( -/obj/machinery/atmospherics/omni/atmos_filter{ - tag_east = 2; - tag_north = 1; - tag_south = 3; - tag_west = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"VR" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/bathroom1) -"VT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/cryotube) "VU" = ( /obj/structure/table/reinforced, /obj/item/weapon/reagent_containers/glass/beaker/large, @@ -25008,334 +16168,6 @@ dir = 5 }, /area/centcom/specops) -"VV" = ( -/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan, -/obj/machinery/meter, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"VX" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"VY" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bathroom2) -"VZ" = ( -/obj/machinery/mineral/equipment_vendor/survey, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"Wa" = ( -/obj/structure/closet/hydrant{ - pixel_x = 32 - }, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Wb" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ - pixel_x = 3 - }, -/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ - pixel_x = -3; - pixel_y = 0 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"Wc" = ( -/obj/machinery/organ_printer/flesh, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"Wd" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"We" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Wf" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8; - icon_state = "map" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Wg" = ( -/obj/structure/table/rack/steel, -/obj/machinery/door/window/survival_pod{ - dir = 8; - req_one_access = list(103) - }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 - }, -/obj/item/weapon/rig/ert, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Wh" = ( -/obj/machinery/atmospherics/unary/freezer{ - dir = 1; - icon_state = "freezer"; - use_power = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Wi" = ( -/obj/structure/toilet, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm4) -"Wj" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/light/small, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"Wk" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/black{ - icon_state = "map"; - dir = 4 - }, -/obj/machinery/meter, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Wn" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/surgery, -/obj/item/weapon/reagent_containers/spray/cleaner{ - desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; - name = "Surgery Cleaner"; - pixel_x = 2; - pixel_y = 2 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"Wo" = ( -/obj/structure/closet/wardrobe/ert, -/obj/item/weapon/storage/box/survival/comp{ - starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"Wp" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-med-equip"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/mothership/medical) -"Wq" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"Wr" = ( -/obj/machinery/suit_cycler, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Ws" = ( -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/head/helmet/solgov, -/obj/item/clothing/head/helmet/solgov, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Wt" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"Wu" = ( -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 4 - }, -/obj/machinery/pipedispenser/disposal/orderable, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Wv" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Wx" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Wy" = ( -/obj/effect/floor_decal/techfloor{ - dir = 9 - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"Wz" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/station_mid, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms2) -"WA" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"WB" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 26 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"WC" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"WD" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"WE" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"WF" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"WH" = ( -/obj/structure/prop/alien/computer{ - dir = 8 - }, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"WI" = ( -/turf/simulated/floor/wood, -/area/houseboat) "WL" = ( /obj/structure/table/rack, /obj/item/weapon/storage/box/pillbottles, @@ -25347,316 +16179,12 @@ dir = 5 }, /area/centcom/specops) -"WM" = ( -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"WN" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/bathroom2) -"WO" = ( -/obj/structure/table/survival_pod, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm1) -"WP" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"WR" = ( -/obj/machinery/door/airlock/security, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"WT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"WU" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms1) -"WW" = ( -/obj/structure/closet/secure_closet/scientist, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"WX" = ( -/obj/machinery/telecomms/receiver/preset_cent, -/turf/simulated/floor/bluegrid, -/area/mothership/telecomms1) -"WY" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"WZ" = ( -/obj/structure/toilet, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm2) "Xa" = ( /obj/machinery/space_heater, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) -"Xb" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Xc" = ( -/obj/machinery/door/airlock/medical, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"Xd" = ( -/obj/structure/closet/hydrant{ - pixel_x = -32 - }, -/obj/item/clothing/suit/fire/firefighter, -/obj/item/clothing/mask/gas, -/obj/item/device/flashlight, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/extinguisher, -/obj/item/weapon/extinguisher, -/obj/item/clothing/head/hardhat/red, -/obj/item/weapon/storage/toolbox/emergency, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Xe" = ( -/obj/machinery/atmospherics/unary/cryo_cell, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Xf" = ( -/obj/machinery/camera/network/ert{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/sechallway) -"Xg" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/mothership/breakroom) -"Xh" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Xj" = ( -/obj/item/modular_computer/console/preset/ert{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Xk" = ( -/obj/structure/table/rack/steel, -/obj/machinery/door/window/survival_pod{ - dir = 8; - req_one_access = list(103) - }, -/obj/item/weapon/rig/ert/engineer, -/obj/item/weapon/rig/ert/engineer, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Xl" = ( -/obj/item/rig_module/device/anomaly_scanner, -/obj/item/rig_module/device/anomaly_scanner, -/obj/item/rig_module/device/rcd, -/obj/item/rig_module/device/rcd, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Xm" = ( -/obj/structure/reagent_dispensers/acid{ - density = 0; - pixel_x = -30; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Xn" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 1 - }, -/obj/machinery/light/small{ - dir = 8; - pixel_x = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Xo" = ( -/obj/machinery/status_display{ - pixel_y = 29 - }, -/obj/item/modular_computer/console/preset/mercenary, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Xq" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/floor/reinforced/airless, -/area/mothership/telecomms1) -"Xr" = ( -/obj/machinery/cooker/candy, -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"Xs" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm1-door"; - name = "Dorm 1 Lock"; - pixel_x = 6; - pixel_y = -26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"Xt" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"Xu" = ( -/obj/structure/closet{ - name = "materials" - }, -/obj/fiftyspawner/diamond, -/obj/fiftyspawner/gold, -/obj/fiftyspawner/phoron, -/obj/fiftyspawner/plasteel, -/obj/fiftyspawner/plastic, -/obj/fiftyspawner/osmium, -/obj/fiftyspawner/silver, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/uranium, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/glass, -/obj/fiftyspawner/durasteel, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Xv" = ( -/obj/structure/closet/crate/medical, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"Xw" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Xx" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Xy" = ( -/obj/structure/prop/alien/power, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm2) -"Xz" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) "XA" = ( /obj/structure/table/steel_reinforced, /obj/item/weapon/smes_coil, @@ -25667,569 +16195,20 @@ icon_state = "dark" }, /area/centcom/specops) -"XC" = ( -/obj/structure/table/woodentable, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"XD" = ( -/turf/simulated/floor/bluegrid, -/area/mothership/robotics) -"XF" = ( -/obj/effect/floor_decal/techfloor{ - dir = 8 - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/structure/cable/cyan, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"XG" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"XH" = ( -/obj/machinery/portable_atmospherics/hydroponics, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"XI" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/engineering) -"XJ" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/white, -/area/mothership/resleeving) -"XK" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - density = 0; - destroy_hits = 1000; - dir = 1; - icon_state = "pdoor0"; - id = "ship-hydroponics"; - name = "Shuttle Blast Doors"; - opacity = 0 - }, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/mothership/hydroponics) -"XL" = ( -/obj/machinery/syndicate_beacon/virgo{ - charges = 10 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"XM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"XN" = ( -/obj/machinery/smartfridge, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/kitchen) -"XO" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"XP" = ( -/obj/machinery/vending/nifsoft_shop{ - categories = 111; - emagged = 1; - name = "Hacked NIFSoft Shop"; - prices = list() - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"XQ" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/blast/regular{ - destroy_hits = 100; - id = "ship-armory"; - name = "Armory" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"XR" = ( -/obj/structure/table/steel_reinforced, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/fiftyspawner/steel, -/obj/machinery/alarm{ - pixel_y = 22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"XS" = ( -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/space) -"XT" = ( -/turf/simulated/floor/reinforced{ - name = "Holodeck Projector Floor" - }, -/area/mothership/holodeck/holo) -"XU" = ( -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/lockbox, -/obj/item/clothing/mask/gas{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/gas{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/mask/gas{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/glasses/hud/security, -/obj/item/clothing/glasses/hud/security, -/obj/item/clothing/glasses/hud/security, -/obj/item/clothing/glasses/hud/security, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"XV" = ( -/obj/machinery/vending/loadout/costume, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/cryotube) -"XW" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"XX" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, -/obj/item/ammo_casing/microbattery/medical/corpse_mend, -/obj/item/ammo_casing/microbattery/medical/corpse_mend, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/weapon/cell/slime{ - description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; - icon = 'icons/obj/power.dmi'; - icon_state = "icell"; - maxcharge = 20000; - name = "slime core cell" - }, -/obj/item/weapon/cell/slime{ - description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; - icon = 'icons/obj/power.dmi'; - icon_state = "icell"; - maxcharge = 20000; - name = "slime core cell" - }, -/obj/item/weapon/cell/slime{ - description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; - icon = 'icons/obj/power.dmi'; - icon_state = "icell"; - maxcharge = 20000; - name = "slime core cell" - }, -/obj/item/weapon/cell/slime{ - description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; - icon = 'icons/obj/power.dmi'; - icon_state = "icell"; - maxcharge = 20000; - name = "slime core cell" - }, -/obj/item/slime_extract/pink, -/obj/item/slime_extract/pink, -/obj/item/weapon/deadringer, -/obj/item/weapon/deadringer, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/vault) -"XY" = ( -/obj/machinery/recharge_station, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bathroom1) "XZ" = ( /obj/machinery/light/flamp/noshade, /turf/unsimulated/floor/steel, /area/centcom/evac) -"Ya" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/alarm{ - dir = 4; - icon_state = "alarm0"; - pixel_x = -22 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Yb" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Yc" = ( -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Yd" = ( -/obj/machinery/vending/assist, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Ye" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/recharger, -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 24 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Yg" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Yh" = ( -/obj/machinery/bodyscanner{ - dir = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Yi" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Yj" = ( -/obj/machinery/door/airlock/voidcraft/vertical{ - glass = 0; - id_tag = "ship-dorm1-door"; - opacity = 1 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/dorm1) -"Yk" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/teleport/hub, -/turf/simulated/shuttle/floor/voidcraft, -/area/unknown/dorm1) -"Yl" = ( -/obj/structure/closet/crate/secure/weapon{ - req_one_access = list(108) - }, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/gun/burst, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/sniperrifle, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"Ym" = ( -/obj/structure/fireaxecabinet{ - pixel_y = -32 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/mothership/bridge) -"Yn" = ( -/obj/machinery/door/firedoor/glass, -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/window/brigdoor/southleft{ - dir = 4; - id = "Cell M2"; - name = "Cell 2"; - req_access = list(2) - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-cell2"; - name = "Security Blast Doors"; - opacity = 0 - }, -/turf/simulated/floor/tiled/dark, -/area/mothership/sechallway) -"Yo" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate/powertools, -/obj/item/device/multitool, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Yp" = ( -/obj/machinery/sleeper/survival_pod, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"Yq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"Yr" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 4; - pixel_y = 26 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Ys" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/table/bench/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Yt" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 6 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"Yu" = ( -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/bathroom2) -"Yv" = ( -/obj/item/clothing/suit/space/void/engineering/salvage, -/obj/item/clothing/head/helmet/space/void/engineering/salvage, -/obj/item/weapon/tank/oxygen/red, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/machinery/light, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Yx" = ( -/turf/simulated/shuttle/wall/alien, -/area/unknown/dorm1) -"Yz" = ( -/obj/structure/closet/wardrobe/red, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/recharger/wallcharger{ - pixel_x = 3; - pixel_y = -29 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"YA" = ( -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm1) -"YB" = ( -/obj/machinery/door/airlock/engineeringatmos, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"YC" = ( -/obj/machinery/computer/secure_data{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/warden) -"YD" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm6) "YE" = ( /obj/machinery/shieldwallgen, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/control) -"YF" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/security) "YG" = ( /obj/effect/floor_decal/derelict/d2, /turf/unsimulated/floor/steel, /area/centcom/evac) -"YH" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - cell_type = /obj/item/weapon/cell/super; - dir = 8; - name = "west bump"; - pixel_x = -28 - }, -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/morgue) -"YI" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/telecomms1) -"YJ" = ( -/obj/structure/bed/chair/wood{ - icon_state = "wooden_chair"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"YK" = ( -/obj/machinery/computer/operating{ - dir = 4 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) "YL" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 @@ -26239,320 +16218,12 @@ }, /turf/unsimulated/floor/steel, /area/centcom/evac) -"YM" = ( -/obj/machinery/status_display{ - pixel_y = 29 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"YN" = ( -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/wood, -/area/mothership/dorm6) -"YO" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/mothership/cryotube) -"YP" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"YQ" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"YR" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm5) "YS" = ( /obj/machinery/vending/assist, /turf/unsimulated/floor{ icon_state = "dark" }, /area/centcom/specops) -"YT" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"YU" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double/padded, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/button/remote/airlock{ - id = "ship-dorm5-door"; - name = "Dorm 5 Lock"; - pixel_x = 6; - pixel_y = -26; - specialfunctions = 4 - }, -/obj/structure/curtain/open/bed, -/turf/simulated/floor/wood, -/area/mothership/dorm5) -"YV" = ( -/obj/item/clothing/suit/space/void/security/alt, -/obj/item/clothing/head/helmet/space/void/security/alt, -/obj/item/weapon/tank/oxygen, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/mask/breath, -/obj/structure/table/rack/shelf/steel, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"YW" = ( -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 12; - pixel_y = 8 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) -"YX" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"YY" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/turf/simulated/floor/tiled/white, -/area/mothership/chemistry) -"YZ" = ( -/obj/structure/particle_accelerator/power_box{ - anchored = 1 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"Zb" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/highsecurity{ - req_one_access = list(101) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"Zc" = ( -/turf/simulated/floor/tiled/white, -/area/mothership/kitchen) -"Zd" = ( -/obj/structure/prop/alien/computer{ - dir = 8 - }, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) -"Ze" = ( -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/obj/structure/closet/crate/bin, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hydroponics) -"Zf" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/morgue) -"Zg" = ( -/obj/machinery/vending/security, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Zh" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/processing) -"Zi" = ( -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"Zj" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/obj/item/weapon/storage/briefcase/inflatable, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/eva) -"Zl" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/vault) -"Zm" = ( -/obj/structure/closet/secure_closet/personal, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"Zn" = ( -/obj/structure/prop/alien/computer{ - dir = 8 - }, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"Zo" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"Zp" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"Zq" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "ship-sec-cell2"; - name = "Security Blast Doors"; - opacity = 0 - }, -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/turf/simulated/floor/plating, -/area/mothership/sechallway) -"Zr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/cryotube) -"Zs" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/eva) -"Zt" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 4; - name = "east bump"; - pixel_x = 24 - }, -/obj/structure/cable/cyan{ - d2 = 2; - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/white, -/area/mothership/surgery) -"Zu" = ( -/obj/structure/table/rack/shelf/steel, -/obj/item/weapon/storage/box/evidence, -/obj/item/weapon/storage/box/handcuffs{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/machinery/alarm{ - dir = 4; - pixel_x = -23; - pixel_y = 0 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/security) -"Zv" = ( -/obj/structure/closet/radiation, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) "Zw" = ( /obj/structure/table/rack, /obj/item/weapon/gun/projectile/heavysniper, @@ -26562,149 +16233,10 @@ icon_state = "dark" }, /area/centcom/specops) -"Zx" = ( -/obj/structure/closet/wardrobe/robotics_black, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/rnd) -"Zy" = ( -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm3) -"Zz" = ( -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/item/device/perfect_tele_beacon/stationary{ - tele_name = "Mothership"; - tele_network = "centcom" - }, -/obj/machinery/alarm{ - alarm_id = "pen_nine"; - breach_detection = 0; - dir = 1; - icon_state = "alarm0"; - pixel_y = -22 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/teleporter) -"ZA" = ( -/obj/structure/prop/alien/dispenser, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm2) -"ZB" = ( -/obj/machinery/status_display{ - pixel_y = -29 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"ZD" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms1) -"ZE" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) -"ZF" = ( -/obj/item/modular_computer/console/preset/mercenary{ - dir = 8 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/engineering) -"ZG" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/dorm1) -"ZH" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/armory) -"ZI" = ( -/obj/machinery/power/apc{ - alarms_hidden = 1; - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/structure/cable/cyan{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable/cyan{ - d1 = 0; - d2 = 4; - icon_state = "0-4" - }, -/turf/simulated/floor/tiled/white, -/area/mothership/treatment) "ZJ" = ( /obj/effect/floor_decal/derelict/d8, /turf/unsimulated/floor/steel, /area/centcom/evac) -"ZK" = ( -/obj/structure/closet/secure_closet/CMO, -/turf/simulated/floor/tiled/white, -/area/mothership/medical) -"ZL" = ( -/obj/machinery/porta_turret, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/space) -"ZM" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/processing) "ZN" = ( /obj/item/device/perfect_tele_beacon/stationary{ tele_name = "CentCom"; @@ -26714,10 +16246,6 @@ icon_state = "dark" }, /area/centcom/specops) -"ZP" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/wood, -/area/mothership/breakroom) "ZQ" = ( /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 1 @@ -26727,7451 +16255,4127 @@ }, /turf/unsimulated/floor/steel, /area/centcom/living) -"ZR" = ( -/obj/machinery/smartfridge/survival_pod, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu13, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu10, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/menu9, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/storage/mre/random, -/obj/item/weapon/towel/random, -/obj/item/weapon/towel/random, -/turf/simulated/shuttle/floor/alien, -/area/unknown/dorm4) -"ZS" = ( -/obj/machinery/teleport/station, -/turf/simulated/shuttle/floor/alienplating, -/area/unknown/dorm4) -"ZT" = ( -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/telecomms2) -"ZU" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/floor/reinforced/airless, -/area/mothership/engineering) -"ZW" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/mothership/holodeck) -"ZX" = ( -/obj/structure/bed/chair/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/carpet/blue, -/area/mothership/breakroom) -"ZY" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/mothership/chemistry) -"ZZ" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled/techmaint, -/area/mothership/hallway) (1,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa "} (2,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (3,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (4,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (5,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (6,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (7,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -UE -cJ -UE -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (8,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -ZL -XS -MJ -Dk -MJ -XS -ZL -XS -XS -XS -XS -XS -ZL -XS -PD -Dx -PD -XS -ZL -XS -XS -XS -XS -XS -ZL -XS -Ve -Ea -Ve -XS -ZL -MV -Qf -Qf -Qf -UE -NJ -UE -ZL -UE -Eq -UE -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (9,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -MJ -MJ -MJ -MJ -MJ -MJ -MJ -MJ -MJ -Lw -Ix -Ix -Ix -Ix -Lw -Lw -PD -PD -PD -PD -Lp -Lp -Wp -Wp -Wp -Lp -Lp -Ve -Ve -Ve -Ve -Ve -Ve -Ve -FT -EW -UL -Kl -Wq -Kn -UE -UE -UE -UE -Kn -ZL -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (10,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -MJ -Xv -VG -MJ -Tl -Sq -YK -Wn -MJ -OS -Qy -KG -HE -Nj -Ls -Lw -oN -Nr -Os -Wc -Lp -Ed -jt -ZK -Dy -Eu -Lp -Jo -Xm -Lg -Eh -Hb -Gr -Ve -Jm -Ic -lE -WU -Ug -Qu -Rr -Qn -Oi -Ou -Xq -iJ -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (11,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -MJ -Wt -GO -MJ -Ey -OV -XG -iR -FU -Gt -PT -LT -LT -LZ -Ek -MG -SI -WA -EM -QB -Lp -Xt -NI -Xt -Ns -Tb -Lp -NK -YX -Ss -Ty -Vu -gz -Ve -Jm -Ic -lE -WU -WX -NL -Ti -Qn -Oi -Ou -Xq -iJ -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (12,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -Sh -QL -Sh -OF -OF -OF -QG -Rj -WB -Xc -Yq -PR -VL -Zt -Wd -gw -Fv -MD -MD -Yg -MD -If -TT -RL -Np -TT -LI -iK -Rx -iK -MA -iK -PW -Xx -Rl -Xx -Xx -Oh -HT -NA -DM -Gy -Sg -WU -DR -NL -Nu -Qn -Oi -Ou -Xq -iJ -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (13,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -ZL -XS -QU -XK -XK -gX -CF -Sh -Gw -Sh -ZL -VR -nW -MJ -MJ -MJ -ZY -ZY -ZY -ZY -ZY -TP -Yr -WY -Yh -LT -NW -LT -MG -IF -WT -Gc -Gi -Lp -VM -Xt -IB -NQ -JR -Lp -ST -Hb -DP -MC -Dv -Oa -OM -Dq -XD -Ko -WU -TQ -NL -Oq -Qn -Oi -Ou -Xq -iJ -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (14,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -ZL -Qh -Jq -Jq -Jq -Qh -gX -Sf -Ge -Nw -Sf -Sh -Zs -Nv -Zs -Sh -VR -Er -Fe -Ml -Xs -ZY -OP -DK -MW -JN -ZY -ZI -WY -Sm -LT -MB -LT -Lw -Nb -Fm -Gc -Vt -Lp -Fq -Xt -Ly -NQ -Ec -Lp -LQ -Hb -MI -WW -Dv -Oa -Rm -VC -XD -Jy -WU -QP -QC -Vg -Qn -Oi -Ou -Xq -iJ -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (15,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -IT -IT -Qh -OR -OR -OR -RZ -gX -KP -Ga -Um -Dn -Sh -PL -WE -YV -Sh -XY -Qa -Fe -lm -Mv -ZY -MO -YY -SX -UX -RA -Qc -WY -LT -LT -LT -Hv -MG -Md -Fb -Gc -En -Lp -Pp -Xt -Rp -NQ -Pm -Lp -Uu -Hb -Hb -Hb -Dv -UR -Ve -OC -XD -Rs -WU -ZD -No -KR -XI -XI -XI -XI -XI -XI -XI -Vj -HC -HC -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (16,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -FH -Lu -EJ -OR -OR -OR -GX -gX -Vd -Jv -CC -LE -Sh -Kh -iM -Yv -Sh -PE -DW -Fe -DQ -YA -ZY -NY -Gh -Ms -FX -JA -Ff -hP -Sk -HB -Yt -QS -WD -XJ -bN -Pj -XJ -KS -Wf -HZ -TZ -Ks -To -Op -LY -Hb -Xu -Ke -Dv -Zx -Ve -TJ -Jx -MN -WU -ln -Kp -UP -ll -ll -ll -QO -QX -Xd -Ua -VI -LA -OU -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (17,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -Qh -IT -Qh -Xg -OR -OR -Ni -gX -XH -TN -CC -Uw -Sh -nO -Kf -Nk -Sh -JH -nW -ZG -Fe -Yj -TP -ZY -ZY -Eg -ZY -TP -Vs -Ph -Lw -Xe -Li -YW -MG -GN -Oz -WP -Uj -Lp -SR -Do -Lp -Ld -Ui -Lp -Ve -NE -Ve -MV -Mk -MV -MV -Uz -CD -fP -LG -Zb -YI -SV -Ul -Mm -VV -cT -Sl -Yd -GP -Hz -HC -Hz -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (18,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -jm -IT -OR -OR -OR -OR -Lo -gX -Uw -TN -CC -Uw -Sh -Zs -GS -Zs -Sh -Sw -OQ -Yb -QE -Sw -QE -RS -QE -QE -QE -Nf -TR -NF -Lw -Lw -Lw -Lw -Lw -Jg -Hr -Jg -Zf -Zf -Lp -Lp -Lp -Sw -QE -Nf -QE -QE -QE -RS -Xz -Yb -QE -QK -QK -nk -Qo -Sw -UG -HC -XW -GW -OG -Jh -HI -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (19,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -Qh -Qh -Lh -OR -OR -OR -SE -gX -Lj -TN -CC -Uw -Sh -Wr -HJ -TS -Sh -Hg -ZE -ZE -ZE -Xw -Hm -Wx -ZE -Un -ZE -Nm -ph -Et -Fc -Lv -Mn -Zf -Ol -YH -Vx -ro -Uq -Zf -VE -YU -YR -Pb -ZE -Nm -ZE -ZE -IP -Im -Ob -ZE -ZE -ZE -On -Lk -US -ZZ -UH -KD -Rn -Hw -Jr -VQ -DG -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (20,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -ZL -LR -OR -RB -OR -SU -Lz -gX -Uw -TN -CC -Uw -Sh -Yo -HJ -FM -Sh -NB -Yc -Fx -Hi -Hi -Hi -Zl -Zl -OA -Zl -Ux -QE -Sw -Fc -Gd -gi -Zf -Fk -HF -HF -HF -My -Zf -Hc -by -YR -Sw -QE -Da -KH -KH -Da -Ry -Da -KH -KH -Da -NB -Yc -Zr -jq -NP -jq -jq -jq -DH -La -Uv -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (21,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -IT -IT -Qh -Pc -Zp -Mu -Gn -Ho -QU -OX -GD -GT -QU -Zs -XR -HJ -Zj -Sh -Sw -QE -Hi -Qg -Oo -MX -Zl -UU -Tt -XX -Zl -QE -Sw -Fc -jo -Vw -Zf -QA -QA -QA -QA -QA -Zf -Wo -TH -YR -Sw -QE -KH -Xo -Fg -Dr -XM -Kj -Fg -Ym -KH -Sw -FE -VT -Sn -Ut -Jd -Fr -jq -KN -Th -Ot -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (22,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -LR -HO -NG -Mu -Oy -ZX -CG -HD -JO -Od -Fs -CC -Ze -Zs -YM -HJ -Lb -Zs -Sw -HW -Hi -ae -QY -SY -Zl -XL -Tt -Oe -Zl -Sr -Sw -DI -IW -Fc -Zf -Zf -Zf -Zf -Zf -Zf -Zf -YR -Ij -FZ -Sw -HW -KH -Jk -GI -Xb -Mf -Mf -Mf -KF -KH -Sw -Fi -VT -RP -LO -Wy -XF -jq -Wu -Dz -Gk -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (23,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -LR -HO -HP -Mu -XC -gx -XC -Rk -QU -YQ -jk -Ds -NM -jp -ag -KA -Ps -jp -ME -DE -SK -Lr -Ma -FN -Zl -SZ -Tt -VZ -Zl -PN -Id -Nm -Ox -ZE -ZE -ZE -ZE -TY -ZE -ZE -ZE -ZE -Uc -Nm -Zo -PN -KH -Eb -Kj -GI -Xj -Fu -Ft -Xj -KH -Sw -Ng -VT -Na -Tw -hY -Mb -jq -KT -Gv -JT -OB -Lc -HC -XS -ZL -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (24,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -LR -HO -HP -Mu -XC -XC -XC -Mh -QU -Yi -Qq -XO -VN -FC -YP -Wv -JP -FC -UB -FD -NT -PA -MK -SC -Zl -FR -HR -Jz -Zl -PN -Sw -Yc -Sw -iL -Wa -QE -QE -QW -QE -QE -Wa -iL -Sw -Yc -Sw -PN -KH -Eb -Kj -GI -iA -DV -EG -iA -KH -Sw -UZ -VT -FB -Tw -hY -YO -jq -Qj -NS -Wk -DF -LP -Px -IM -ZL -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (25,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -LR -HO -Mi -Mu -Gf -YJ -JW -QN -Mc -JS -CZ -iS -Ha -Zs -Qp -HJ -PH -Zs -Sw -HW -Hi -Ep -QY -Zz -Zl -Fa -Tt -EU -Zl -Sr -Sw -SA -PF -Ex -Hd -Hd -Hd -Hd -Hd -Hd -Hd -Kk -TA -YD -Sw -HW -KH -Jk -GI -EA -GY -GY -GY -Qx -KH -Sw -JU -VT -XV -IN -HV -GM -jq -Qj -JE -Wh -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (26,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -IT -IT -Qh -Pc -Zp -Mu -Gn -Rv -Sf -PQ -NX -VH -XN -Zs -Te -HJ -Zj -Sh -Sw -ED -Hi -Tv -iH -Uk -Zl -RG -EB -Lx -Zl -QE -Sw -Ex -lF -UD -Hd -Nq -DX -Hd -Vl -DX -Hd -MM -YN -Kk -Sw -QE -KH -Xo -Em -WM -TK -Kj -Em -KI -KH -Sw -FE -VT -LC -PB -HH -GR -jq -Iw -Us -Oj -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (27,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -ZL -LR -OR -UW -OR -RQ -ML -Ki -Gp -Ib -gA -Gl -Sh -Yo -HJ -FM -Sh -Sw -QE -Fx -Hi -Hi -Hi -Zl -Zl -OA -Zl -Ux -Yc -NB -Ex -Hk -HN -Hd -IQ -Xf -Hd -Hy -Xf -Hd -Go -Wj -Kk -NB -Yc -Da -KH -KH -Da -Pl -Da -KH -KH -Da -Sw -Fi -Zr -jq -Qw -jq -jq -jq -KB -EO -lj -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (28,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -Qh -Qh -So -OR -OR -WI -Fh -Ki -Hp -Ib -no -Tn -Sh -Wr -HJ -TS -Sh -Hg -ZE -Nm -ZE -LL -ZE -TY -Ya -Xh -ZE -ZE -ZE -Zo -Ex -Fd -Ej -Hd -DN -DX -Hd -Is -DX -Hd -VX -MU -Kk -Tu -Je -ZE -ZE -ZE -ZE -TM -ZE -OY -ZE -Nm -HL -Ne -Kq -OY -KX -YB -QH -Zi -OJ -Gb -IR -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (29,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -jm -IT -Sx -OR -OR -OR -OR -Uy -Zc -Ib -no -OW -Sh -Zs -GS -Zs -Sh -Sw -ON -Ew -QE -Sw -QE -Wa -QE -QE -QE -iL -QE -ZB -Hd -Hd -Hd -Hz -UY -OK -Hd -Zq -Yn -Hz -Hd -Hd -Hd -TR -Xz -iL -QE -QE -QE -Wa -iL -Sw -QE -Yc -QE -Sw -Qo -Sw -UG -HC -Ye -IS -nn -Ua -Zv -GU -cL -Rf -ZU -Mj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +Vq +Vq +Vq +Vq +Vq +Vq +Vq +Vq +Vq +ac +ac +ac +ac +Vq +Vq +Vq +Vq +Vq +Vq +Vq +Vq +Vq +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa "} (30,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -Qh -IT -Qh -Xg -OR -OR -PS -Ki -Wb -Ib -no -PO -Sh -nO -Qv -Nk -Sh -GC -Ro -UM -UM -Or -Dt -YF -YF -YF -YF -YF -Jf -EY -NC -DX -DX -Pe -PU -DX -FF -PU -DX -DX -DX -DX -Ri -XQ -Jb -Ri -TX -TX -TX -TX -Ri -EP -ZW -Ia -ZW -JX -Vk -DA -Vc -Vj -Kr -SQ -iN -Ua -Ua -VD -TB -Hz -HC -Hz -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(31,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -FH -VJ -EJ -OR -OR -OR -Mr -Ki -MT -Ib -no -SW -Sh -Kh -iM -Yv -Sh -Uh -VY -UM -SO -Pa -YF -XU -JG -Zu -Qd -cR -Sb -Ov -OL -Rq -El -IK -FP -EF -bj -Qm -Rq -DY -El -Rq -Of -ZH -Lm -ID -RI -Ta -Fl -NO -Du -Up -TX -Tq -Rg -PM -Om -ZT -Rz -UP -Vh -li -ZF -KC -Ra -Tk -Ua -KW -Xn -OU -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(32,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -IT -IT -Qh -OR -OR -OR -ZP -Ki -MZ -PG -cK -Xr -Sh -PL -We -YV -Sh -VO -Yu -UM -Nz -Kz -YF -TV -FO -Ji -Qd -gy -Sb -GZ -OH -ZM -ZM -Kx -ZM -ZM -Il -Ow -Ow -NV -Ow -Ow -Ri -Gs -SN -Ii -Ii -Ii -Ii -Ii -Ii -JZ -TX -gj -Nh -PI -Om -FA -EK -RX -XI -XI -XI -XI -XI -XI -XI -SV -HC -HC -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(33,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -ZL -Qh -gB -gB -gB -Qh -Ki -Sf -TO -NU -Sf -Sh -Zs -Nv -Zs -Sh -WN -aV -UM -Tg -Iy -YF -Gx -FO -Sb -Sb -gy -Sb -UV -ZM -ES -GB -Dw -Jt -Zh -Ow -FS -Jl -WF -Tz -Hh -TX -RC -UQ -Po -IX -JV -Pr -Ub -Jp -EV -TX -XT -XT -XT -Om -Tr -YT -Wz -Ig -Qt -YZ -IO -UF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(34,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -ZL -XS -Sf -OE -OE -Ki -Dj -Sh -Di -Sh -ZL -WN -Ro -YF -YF -YF -YF -Ys -Ue -Vp -Sb -Qz -Sb -Yz -OH -LN -UT -EE -UT -PK -Il -FV -Mp -LJ -Mp -Fz -Ri -Iv -UQ -SJ -Pz -TF -Sd -Vz -Yl -IY -TX -XT -XT -XT -Om -IG -Gg -GV -Ig -Qt -YZ -IO -UF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(35,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -Sh -QL -Sh -OF -OF -OF -YF -lk -KV -YF -JM -Td -Vp -Sb -Dm -Sb -Fn -MQ -VK -KO -lG -cS -KO -WR -RT -DZ -FW -GF -Mp -Gu -Ii -Ud -Uo -Hl -Ik -Xl -OT -IV -Lf -TX -XT -XT -XT -Om -Dp -Gg -Eo -Ig -Qt -YZ -IO -UF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(36,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -YF -Zg -QI -Qs -Gz -QJ -Gz -Gz -iE -Gz -Pu -OH -NR -UT -Nn -RU -UK -Il -JL -Mp -EC -TE -YC -Ri -XP -Ii -Ii -Ii -Ii -Ii -Ii -Ii -QF -TX -XT -XT -XT -Om -Pf -Gg -Su -Ig -Qt -YZ -IO -UF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(37,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -YF -Ws -PC -YF -FK -Vn -UA -MP -Ll -Sb -SG -ZM -HG -Hu -LM -IA -EQ -Ow -Uf -Mp -HA -Mp -kP -TX -It -bi -NN -Wg -TL -Xk -KE -DT -IE -TX -XT -XT -XT -Om -IJ -Ky -KU -Ig -Qt -YZ -IO -UF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(38,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -YF -YF -YF -YF -YF -YF -Dt -PV -PV -PV -YF -ZM -ZM -ZM -ZM -ZM -ZM -Ow -Il -JD -JD -JD -Ow -TX -TX -TX -TX -TX -TX -TX -TX -TX -TX -TX -XT -XT -XT -MF -JJ -KZ -Hj -Hj -Hj -Hj -KZ -ZL -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(39,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -ZL -XS -YF -Dl -YF -XS -ZL -XS -XS -XS -XS -XS -ZL -XS -ZM -DO -Ow -XS -ZL -XS -XS -XS -XS -XS -ZL -XS -TX -Ef -TX -XS -ZL -Ri -SB -SB -SB -Hj -OZ -Hj -ZL -Hj -EH -Hj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(40,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -Hj -II -Hj -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(41,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(42,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(43,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(44,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(45,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(46,1,1) = {" -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -OF -"} -(47,1,1) = {" aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(48,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -"} -(49,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -"} -(50,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -"} -(51,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -"} -(52,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac ac ac ac @@ -34198,325 +20402,6 @@ ac ac ac ac -aa -"} -(53,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -"} -(54,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -ab -dx -ab -dx -dx -dx -dx -dx -dx -ab -dx -dx -ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -Vq -Vq -Vq -Vq -Vq -Vq -Vq -Vq -Vq -ac -ac -ac -ac -Vq -Vq -Vq -Vq -Vq -Vq -Vq -Vq -Vq -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -TD -RR -TD -RR -RR -RR -RR -RR -RR -TD -RR -RR -TD -ac -ac -ac -ac -ac -ac -aa -"} -(55,1,1) = {" -aa -ac -ac -ac -ac -ac -ac -dx -Ts -ab -UJ -mR -DU -Zn -WC -WC -ab -DL -Es -dx -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac ac ac ac @@ -34605,19 +20490,24 @@ ac ac ac ac -RR -LW -TD -JQ -Km -DJ -Zd -Kb -Kb -TD -GJ -iG -RR +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -34626,7 +20516,7 @@ ac ac aa "} -(56,1,1) = {" +(31,1,1) = {" aa ac ac @@ -34634,19 +20524,14 @@ ac ac ac ac -dx -Mg -jr -DL -Mg -JF -Mg -Mg -DL -jr -DL -ZS -dx +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -34747,19 +20632,24 @@ ac ac ac ac -RR -VF -Vy -GJ -VF -Pt -VF -VF -GJ -Vy -GJ -MS -RR +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -34768,7 +20658,7 @@ ac ac aa "} -(57,1,1) = {" +(32,1,1) = {" aa ac ac @@ -34776,19 +20666,14 @@ ac ac ac ac -dx -Wi -ab -Qk -Mg -Mg -Mg -Mg -LX -ab -DL -RV -dx +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -34889,19 +20774,24 @@ ac ac ac ac -RR -WZ -TD -Kv -VF -VF -VF -VF -Vb -TD -GJ -Pv -RR +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -34910,7 +20800,7 @@ ac ac aa "} -(58,1,1) = {" +(33,1,1) = {" aa ac ac @@ -34918,19 +20808,14 @@ ac ac ac ac -dx -Pw -dx -ZR -DL -GK -Nl -EN -Ok -dx -DL -JY -dx +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -35031,19 +20916,24 @@ ac ac ac ac -RR -Pq -RR -KL -GJ -Tf -ZA -DS -Bx -RR -GJ -Xy -RR +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -35052,7 +20942,7 @@ ac ac aa "} -(59,1,1) = {" +(34,1,1) = {" aa ac ac @@ -35060,19 +20950,14 @@ ac ac ac ac -ab -dx -ab -dx -dx -dx -dx -dx -dx -ab -dx -dx -ab +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -35173,19 +21058,24 @@ ac ac ac ac -TD -RR -TD -RR -RR -RR -RR -RR -RR -TD -RR -RR -TD +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -35194,7 +21084,7 @@ ac ac aa "} -(60,1,1) = {" +(35,1,1) = {" aa ac ac @@ -35228,11 +21118,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ei er er @@ -35334,9 +21219,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(61,1,1) = {" +(36,1,1) = {" aa ac ac @@ -35370,11 +21260,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ei er er @@ -35476,9 +21361,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(62,1,1) = {" +(37,1,1) = {" aa ac ac @@ -35512,11 +21402,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ei es es @@ -35618,9 +21503,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(63,1,1) = {" +(38,1,1) = {" aa ac ac @@ -35654,11 +21544,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ei ei ei @@ -35760,9 +21645,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(64,1,1) = {" +(39,1,1) = {" aa ac ac @@ -35797,11 +21687,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ei eF eJ @@ -35902,9 +21787,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(65,1,1) = {" +(40,1,1) = {" aa ac ac @@ -35939,11 +21829,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ei eG fc @@ -36044,9 +21929,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(66,1,1) = {" +(41,1,1) = {" aa ac ac @@ -36054,19 +21944,14 @@ ac ac ac ac -hx -iQ -hx -iQ -iQ -iQ -iQ -iQ -iQ -hx -iQ -iQ -hx +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36167,19 +22052,24 @@ ac ac ac ac -KK -Yx -KK -Yx -Yx -Yx -Yx -Yx -Yx -KK -Yx -Yx -KK +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36188,7 +22078,7 @@ ac ac aa "} -(67,1,1) = {" +(42,1,1) = {" aa ac ac @@ -36196,19 +22086,14 @@ ac ac ac ac -iQ -RW -hx -Sz -Yp -gh -WH -Zm -Zm -hx -Zy -Rb -iQ +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36309,19 +22194,24 @@ ac ac ac ac -Yx -Kt -KK -Pk -Vr -WO -RK -uc -uc -KK -QR -Yk -Yx +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36330,7 +22220,7 @@ ac ac aa "} -(68,1,1) = {" +(43,1,1) = {" aa ac ac @@ -36338,19 +22228,14 @@ ac ac ac ac -iQ -Rh -jz -Zy -Rh -SF -Rh -Rh -Zy -jz -Zy -ND -iQ +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36451,19 +22336,24 @@ ac ac ac ac -Yx -Tm -DD -QR -Tm -Qe -Tm -Tm -QR -DD -QR -OO -Yx +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36472,7 +22362,7 @@ ac ac aa "} -(69,1,1) = {" +(44,1,1) = {" aa ac ac @@ -36480,19 +22370,14 @@ ac ac ac ac -iQ -Pn -hx -iI -Rh -Rh -Rh -Rh -jn -hx -Zy -Fy -iQ +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36593,19 +22478,24 @@ ac ac ac ac -Yx -RH -KK -SS -Tm -Tm -Tm -Tm -HS -KK -QR -Io -Yx +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36614,7 +22504,7 @@ ac ac aa "} -(70,1,1) = {" +(45,1,1) = {" aa ac ac @@ -36622,19 +22512,14 @@ ac ac ac ac -iQ -Ee -iQ -Sa -Zy -Js -JK -Rw -RN -iQ -Zy -VP -iQ +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36735,19 +22620,24 @@ ac ac ac ac -Yx -PX -Yx -Jj -QR -VB -Ei -QD -TI -Yx -QR -EL -Yx +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36756,7 +22646,7 @@ ac ac aa "} -(71,1,1) = {" +(46,1,1) = {" aa ac ac @@ -36764,19 +22654,14 @@ ac ac ac ac -hx -iQ -hx -iQ -iQ -iQ -iQ -iQ -iQ -hx -iQ -iQ -hx +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36877,19 +22762,24 @@ ac ac ac ac -KK -Yx -KK -Yx -Yx -Yx -Yx -Yx -Yx -KK -Yx -Yx -KK +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac @@ -36898,7 +22788,7 @@ ac ac aa "} -(72,1,1) = {" +(47,1,1) = {" aa ac ac @@ -36929,11 +22819,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -37038,9 +22923,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(73,1,1) = {" +(48,1,1) = {" aa ac ac @@ -37071,11 +22961,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -37180,9 +23065,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(74,1,1) = {" +(49,1,1) = {" aa ac ac @@ -37213,11 +23103,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP do dk @@ -37322,9 +23207,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(75,1,1) = {" +(50,1,1) = {" aa ac ac @@ -37355,11 +23245,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -37464,9 +23349,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(76,1,1) = {" +(51,1,1) = {" aa ac ac @@ -37497,11 +23387,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -37606,9 +23491,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(77,1,1) = {" +(52,1,1) = {" aa ac ac @@ -37639,11 +23529,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -37748,9 +23633,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(78,1,1) = {" +(53,1,1) = {" aa ac ac @@ -37781,11 +23671,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -37890,9 +23775,14 @@ rn ac ac ac +ac +ac +ac +ac +ac aa "} -(79,1,1) = {" +(54,1,1) = {" aa ac ac @@ -37923,11 +23813,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -38032,9 +23917,14 @@ He ac ac ac +ac +ac +ac +ac +ac aa "} -(80,1,1) = {" +(55,1,1) = {" aa ac ac @@ -38065,11 +23955,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -38154,29 +24039,34 @@ ac He rD rD -si -sj -sj -tB -si -sj -uP -uP -sj -si -tB -wf -wf -si +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD rD rD He ac ac ac +ac +ac +ac +ac +ac aa "} -(81,1,1) = {" +(56,1,1) = {" aa ac ac @@ -38207,11 +24097,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -38295,30 +24180,35 @@ ac ac He rE -si -sB -sW -tl -sD -ua -sX -tl -sE -vb -vk -sD -tl -wC -sB -si +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE rE He ac ac ac +ac +ac +ac +ac +ac aa "} -(82,1,1) = {" +(57,1,1) = {" aa ac ac @@ -38349,11 +24239,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -38437,30 +24322,35 @@ ac ac He rD -sj -sC -sX -tl -sD -sE -um -tl -sE -sX -tl -sD -sD -sD -wZ -sj +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD rD He ac ac ac +ac +ac +ac +ac +ac aa "} -(83,1,1) = {" +(58,1,1) = {" aa ac ac @@ -38491,11 +24381,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -38579,30 +24464,35 @@ ac ac He rD -sj -sD -sD -sD -sD -sD -sD -sD -sD -sD -sD -sD -sE -sE -tl -sj +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD rD He ac ac ac +ac +ac +ac +ac +ac aa "} -(84,1,1) = {" +(59,1,1) = {" aa ac ac @@ -38633,11 +24523,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -38721,30 +24606,35 @@ ac ac He rD -sj -sD -sD -sD -sD -sD -sD -sD -sD -sD -sD -sD -sE -sE -xa -sj +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD rD He ac ac ac +ac +ac +ac +ac +ac aa "} -(85,1,1) = {" +(60,1,1) = {" aa ac ac @@ -38775,11 +24665,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP do dk @@ -38863,30 +24748,35 @@ ac ac He rD -sj -sE -sX -tl -sD -sE -sX -tl -sE -sX -tl -sD -sD -sD -sD -sj +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD rD He ac ac ac +ac +ac +ac +ac +ac aa "} -(86,1,1) = {" +(61,1,1) = {" aa ac ac @@ -38917,11 +24807,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP dk dk @@ -39005,30 +24890,35 @@ ac ac He rE -si -sB -sY -tl -sD -ub -un -tl -sE -vc -vl -sD -wg -wD -sB -si +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE +rE rE He ac ac ac +ac +ac +ac +ac +ac aa "} -(87,1,1) = {" +(62,1,1) = {" aa ac ac @@ -39058,11 +24948,6 @@ ac ac ac ac -ac -ac -ac -ac -ac cP cP dk @@ -39148,29 +25033,34 @@ ac He rD rD -si -sj -sj -tC -si -sj -uP -uP -sj -si -tC -wf -wf -si +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD +rD rD rD He ac ac ac +ac +ac +ac +ac +ac aa "} -(88,1,1) = {" +(63,1,1) = {" aa ac ac @@ -39185,11 +25075,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah ah ah @@ -39310,9 +25195,14 @@ He ac ac ac +ac +ac +ac +ac +ac aa "} -(89,1,1) = {" +(64,1,1) = {" aa ac ac @@ -39327,11 +25217,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah HU bP @@ -39452,9 +25337,14 @@ rp ac ac ac +ac +ac +ac +ac +ac aa "} -(90,1,1) = {" +(65,1,1) = {" aa ac ac @@ -39469,11 +25359,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah Hf bP @@ -39594,9 +25479,14 @@ rs ac ac ac +ac +ac +ac +ac +ac aa "} -(91,1,1) = {" +(66,1,1) = {" aa ac ac @@ -39611,11 +25501,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah ah ah @@ -39736,9 +25621,14 @@ rs ac ac ac +ac +ac +ac +ac +ac aa "} -(92,1,1) = {" +(67,1,1) = {" aa ac ac @@ -39753,11 +25643,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah Zw bP @@ -39878,9 +25763,14 @@ rs ac ac ac +ac +ac +ac +ac +ac aa "} -(93,1,1) = {" +(68,1,1) = {" aa ac ac @@ -39895,11 +25785,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah RJ bP @@ -40020,9 +25905,14 @@ rs ac ac ac +ac +ac +ac +ac +ac aa "} -(94,1,1) = {" +(69,1,1) = {" aa ac ac @@ -40037,11 +25927,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah ah ah @@ -40162,9 +26047,14 @@ rs ac ac ac +ac +ac +ac +ac +ac aa "} -(95,1,1) = {" +(70,1,1) = {" aa ac ac @@ -40179,11 +26069,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah Og bP @@ -40304,9 +26189,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(96,1,1) = {" +(71,1,1) = {" aa ac ac @@ -40321,11 +26211,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah EI bP @@ -40446,9 +26331,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(97,1,1) = {" +(72,1,1) = {" aa ac ac @@ -40463,11 +26353,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah ah ah @@ -40588,9 +26473,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(98,1,1) = {" +(73,1,1) = {" aa ac ac @@ -40605,11 +26495,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah bz bP @@ -40730,9 +26615,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(99,1,1) = {" +(74,1,1) = {" aa ac ac @@ -40747,11 +26637,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah HY bP @@ -40872,9 +26757,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(100,1,1) = {" +(75,1,1) = {" aa ac ac @@ -40889,11 +26779,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah ah ah @@ -41014,9 +26899,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(101,1,1) = {" +(76,1,1) = {" aa ac ac @@ -41031,11 +26921,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah aH aX @@ -41156,9 +27041,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(102,1,1) = {" +(77,1,1) = {" aa ac ac @@ -41173,11 +27063,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah aI aX @@ -41298,9 +27183,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(103,1,1) = {" +(78,1,1) = {" aa ac ac @@ -41315,11 +27205,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah aJ aX @@ -41440,9 +27325,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(104,1,1) = {" +(79,1,1) = {" aa ac ac @@ -41457,11 +27347,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah js aX @@ -41582,9 +27467,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(105,1,1) = {" +(80,1,1) = {" aa ac ac @@ -41599,11 +27489,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah VU aX @@ -41724,9 +27609,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(106,1,1) = {" +(81,1,1) = {" aa ac ac @@ -41741,11 +27631,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah aM aX @@ -41866,9 +27751,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(107,1,1) = {" +(82,1,1) = {" aa ac ac @@ -41883,11 +27773,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah aN aX @@ -42008,9 +27893,14 @@ mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(108,1,1) = {" +(83,1,1) = {" aa ac ac @@ -42025,13 +27915,8 @@ ac ac ac ac -ac -ac -ac -ac -ac ah -bl +Tc aX aX aX @@ -42150,9 +28035,14 @@ mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(109,1,1) = {" +(84,1,1) = {" aa ac ac @@ -42167,18 +28057,13 @@ ac ac ac ac -ac -ac -ac -ac -ac ah Oc aX aP aY bq -bG +bl ah bX aX @@ -42272,29 +28157,34 @@ AD mQ nm ju -gY -gY -gY -gY -gY +nm +nm +nm +nm +nm iF nm nm jl jv -jx -jx -jx -jx +nm +nm +nm +nm iF nm mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(110,1,1) = {" +(85,1,1) = {" aa ac ac @@ -42309,11 +28199,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah ah ah @@ -42414,29 +28299,34 @@ AD mQ nm ju -gY -gY -gY -gY -gY +nm +nm +nm +nm +nm iF OI Ku ju jw -jx +nm jy jy -jx +nm iF nm mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(111,1,1) = {" +(86,1,1) = {" aa ac ac @@ -42452,11 +28342,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah ap aG @@ -42556,29 +28441,34 @@ AD mQ nm ju -gY -gY -gZ -gY -gY +nm +nm +jy +nm +nm iF Sj YG ju -jx +nm jJ -jx -jx -jx +nm +nm +nm iF nm mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(112,1,1) = {" +(87,1,1) = {" aa ac ac @@ -42594,11 +28484,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah aq aG @@ -42698,19 +28583,19 @@ AD mQ nm ju -gY -gY -gZ -gY -gY +nm +nm +jy +nm +nm iF Sv Tp ju -jx -jx -jx -jx +nm +nm +nm +nm jM iF nm @@ -42718,9 +28603,14 @@ mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(113,1,1) = {" +(88,1,1) = {" aa ac ac @@ -42736,11 +28626,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah ar aG @@ -42840,29 +28725,34 @@ nK mQ nm Ru -gZ -gY -gY -gY -gY +jy +nm +nm +nm +nm iF QZ TC ju -jx +nm jy -jx -jx -jx +nm +nm +nm YL nm mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(114,1,1) = {" +(89,1,1) = {" aa ac ac @@ -42878,11 +28768,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah as aG @@ -42982,29 +28867,34 @@ nK mQ nm ju -gY -gY -gY -gY -gY +nm +nm +nm +nm +nm iF Ht Ev ju -jx -jx -jx -jx -jx +nm +nm +nm +nm +nm iF nm mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(115,1,1) = {" +(90,1,1) = {" aa ac ac @@ -43020,11 +28910,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah au aG @@ -43124,29 +29009,34 @@ nK mQ nm ju -gY -gY -gY -gY -gY +nm +nm +nm +nm +nm iF Si Fp ju jy -jx -jx -jx -jx +nm +nm +nm +nm iF nm mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(116,1,1) = {" +(91,1,1) = {" aa ac ac @@ -43162,11 +29052,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah at aG @@ -43206,12 +29091,12 @@ ig ig ig ig -DB -DB -DB -DB -DB -DB +ig +ig +ig +ig +ig +ig ig ho oy @@ -43266,19 +29151,19 @@ nK mQ nm ju -gY -gY -gY -gY -gY +nm +nm +nm +nm +nm iF KY Ur ju -jx -jx +nm +nm jM -jx +nm jy iO nm @@ -43286,9 +29171,14 @@ mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(117,1,1) = {" +(92,1,1) = {" aa ac ac @@ -43303,12 +29193,7 @@ ac ac ac ac -ah -ah -ah -ah -ah -ah +ac ah aw aG @@ -43348,12 +29233,12 @@ ig ig ig ig -DB -DB -DB -DB -DB -DB +ig +ig +ig +ig +ig +ig ig ho ox @@ -43408,29 +29293,34 @@ nK mQ nm ju -gY -gZ -gY -hZ -gY +nm +jy +nm +jM +nm iF Vi ZJ ju -jx -jx -jx -jx -jx +nm +nm +nm +nm +nm iF nm mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(118,1,1) = {" +(93,1,1) = {" aa ac ac @@ -43445,12 +29335,7 @@ ac ac ac ac -ah -nl -rr -rr -rr -CE +ac ah av aG @@ -43550,29 +29435,34 @@ nK mQ nm ju -gY -gY -gY -gY -gY +nm +nm +nm +nm +nm iO nm nm ju -jx +nm jy -jx -jx -jx +nm +nm +nm iF nm mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(119,1,1) = {" +(94,1,1) = {" aa ac ac @@ -43587,12 +29477,7 @@ ac ac ac ac -ah -af -ai -ai -ai -af +ac ah ax aG @@ -43692,19 +29577,19 @@ nK mQ nm ju -gY -gY -gY -gZ -gY +nm +nm +nm +jy +nm iF nm nm ju -jx -jx -jx -jx +nm +nm +nm +nm jM iF nm @@ -43712,9 +29597,14 @@ mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(120,1,1) = {" +(95,1,1) = {" aa ac ac @@ -43729,12 +29619,7 @@ ac ac ac ac -ah -af -aj -aB -aQ -af +ac ah ay aG @@ -43835,18 +29720,18 @@ mQ nm hb ha -gY -gY -gZ +nm +nm +jy iz iP nm nm hb ha -jx -jx -jx +nm +nm +nm iz iP nm @@ -43854,9 +29739,14 @@ mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(121,1,1) = {" +(96,1,1) = {" aa ac ac @@ -43871,12 +29761,7 @@ ac ac ac ac -ah -af -ak -aC -aR -af +ac ah az aG @@ -43996,9 +29881,14 @@ mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(122,1,1) = {" +(97,1,1) = {" aa ac ac @@ -44013,12 +29903,7 @@ ac ac ac ac -ah -af -al -aD -aS -af +ac ah aA aG @@ -44138,9 +30023,14 @@ mQ ac ac ac +ac +ac +ac +ac +ac aa "} -(123,1,1) = {" +(98,1,1) = {" aa ac ac @@ -44155,12 +30045,7 @@ ac ac ac ac -ah -af -al -aD -aD -af +ac ah ah ah @@ -44280,9 +30165,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(124,1,1) = {" +(99,1,1) = {" aa ac ac @@ -44297,13 +30187,8 @@ ac ac ac ac -ah -af -al -aD -aT -af -ah +ac +ac ac ac ac @@ -44422,9 +30307,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(125,1,1) = {" +(100,1,1) = {" aa ac ac @@ -44439,23 +30329,18 @@ ac ac ac ac -ah -af -al -aD -aT -af -ah +ac +ac ac ac ac ah bL -bT +bS bZ bS bZ -bT +bS bL ah ac @@ -44564,9 +30449,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(126,1,1) = {" +(101,1,1) = {" aa ac ac @@ -44581,23 +30471,18 @@ ac ac ac ac -ah -af -am -aD -aT -af -ah +ac +ac ac ac ac ah bL -bT +bS bZ bS bZ -bT +bS bL ah ac @@ -44706,9 +30591,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(127,1,1) = {" +(102,1,1) = {" aa ac ac @@ -44723,23 +30613,18 @@ ac ac ac ac -ah -af -an -aD -aU -bh -ah +ac +ac ac ac ac ah bL -bT +bS bZ bS bZ -bT +bS bL ah ac @@ -44848,9 +30733,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(128,1,1) = {" +(103,1,1) = {" aa ac ac @@ -44865,13 +30755,8 @@ ac ac ac ac -ah -af -ao -aE -ao -af -ah +ac +ac ac ac ac @@ -44990,9 +30875,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(129,1,1) = {" +(104,1,1) = {" aa ac ac @@ -45007,16 +30897,11 @@ ac ac ac ac -ah -ah -af -aF -af -ah -ah -ah -ah -ah +ac +ac +ac +ac +ac ah ah ah @@ -45132,9 +31017,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(130,1,1) = {" +(105,1,1) = {" aa ac ac @@ -45149,6 +31039,13 @@ ac ac ac ac +ac +ac +ac +ac +ac +ac +ac ah aX aX @@ -45158,18 +31055,6 @@ aX aX aX aX -aX -aX -aX -aX -aX -aX -aX -aX -aX -aX -aX -aX dm dm ec @@ -45274,9 +31159,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(131,1,1) = {" +(106,1,1) = {" aa ac ac @@ -45291,6 +31181,13 @@ ac ac ac ac +ac +ac +ac +ac +ac +ac +ac ah aX aX @@ -45300,18 +31197,6 @@ aX aX aX aX -aX -aX -aX -aX -aX -aX -aX -aX -aX -aX -aX -aX dm dP ed @@ -45416,9 +31301,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(132,1,1) = {" +(107,1,1) = {" aa ac ac @@ -45433,6 +31323,13 @@ ac ac ac ac +ac +ac +ac +ac +ac +ac +ac ah aX aX @@ -45442,18 +31339,6 @@ aX aX aX aX -aX -aX -aX -aX -aX -aX -aX -aX -aX -aX -aX -aX dm dQ ee @@ -45558,9 +31443,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(133,1,1) = {" +(108,1,1) = {" aa ac ac @@ -45575,17 +31465,12 @@ ac ac ac ac -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah +ac +ac +ac +ac +ac +ac ah ah ca @@ -45700,9 +31585,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(134,1,1) = {" +(109,1,1) = {" aa ac ac @@ -45723,11 +31613,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah bU bS @@ -45842,9 +31727,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(135,1,1) = {" +(110,1,1) = {" aa ac ac @@ -45865,11 +31755,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah bV bS @@ -45984,9 +31869,14 @@ ac ac ac ac +ac +ac +ac +ac +ac aa "} -(136,1,1) = {" +(111,1,1) = {" aa ac ac @@ -46007,11 +31897,6 @@ ac ac ac ac -ac -ac -ac -ac -ac ah bW cb @@ -46126,6 +32011,3561 @@ ac ac ac ac +ac +ac +ac +ac +ac +aa +"} +(112,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +dn +dn +dn +dn +dn +dn +dn +dn +dn +dn +dn +dn +dn +dn +dn +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +uO +uO +uO +uO +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +hX +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(113,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(114,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(115,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(116,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(117,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(118,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(119,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(120,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(121,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(122,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(123,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(124,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(125,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(126,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(127,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(128,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(129,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(130,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(131,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(132,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(133,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(134,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(135,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +"} +(136,1,1) = {" +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac aa "} (137,1,1) = {" @@ -46154,90 +35594,90 @@ ac ac ac ac -ad -ad -ad -ad -ad -ad -ad -ad -ad -ad -dn -dn -dn -dn -dn -dn -dn -dn -dn -dn -dn -dn -dn -dn -dn -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -uO -uO -uO -uO -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX -hX +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac ac ac ac diff --git a/maps/tether/submaps/admin_use/dojo.dmm b/maps/tether/submaps/admin_use/dojo.dmm new file mode 100644 index 0000000000..fd50bcf52f --- /dev/null +++ b/maps/tether/submaps/admin_use/dojo.dmm @@ -0,0 +1,2218 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/unsimulated/wall, +/area/ninja_dojo/dojo) +"ac" = ( +/turf/unsimulated/mineral, +/area/ninja_dojo/dojo) +"ad" = ( +/turf/simulated/mineral, +/area/ninja_dojo/dojo) +"ae" = ( +/turf/unsimulated/floor{ + dir = 2; + icon = 'icons/turf/snow_new.dmi'; + icon_state = "snow"; + name = "snow" + }, +/area/ninja_dojo/dojo) +"af" = ( +/obj/effect/floor_decal/asteroid, +/turf/unsimulated/floor{ + dir = 2; + icon = 'icons/turf/snow_new.dmi'; + icon_state = "snow"; + name = "snow" + }, +/area/ninja_dojo/dojo) +"ag" = ( +/turf/simulated/shuttle/wall/voidcraft/green, +/area/shuttle/ninja) +"ah" = ( +/obj/item/target/alien, +/turf/unsimulated/floor{ + icon = 'icons/turf/flooring/wood.dmi'; + icon_state = "wood_broken2" + }, +/area/ninja_dojo/dojo) +"ai" = ( +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"aj" = ( +/obj/structure/table/wooden_reinforced, +/obj/item/weapon/flame/candle, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"ak" = ( +/obj/structure/table/wooden_reinforced, +/obj/item/weapon/material/sword/katana, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"al" = ( +/obj/machinery/space_heater, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"am" = ( +/obj/item/target, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"an" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "propulsion"; + dir = 1 + }, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/ninja) +"ao" = ( +/turf/simulated/shuttle/wall/voidcraft/blue, +/area/shuttle/ninja) +"ap" = ( +/obj/item/target/syndicate, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"aq" = ( +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/ninja_dojo/dojo) +"ar" = ( +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/ninja_dojo/dojo) +"as" = ( +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/ninja_dojo/dojo) +"at" = ( +/obj/effect/wingrille_spawn/reinforced, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/ninja_dojo/dojo) +"au" = ( +/obj/machinery/teleport/hub, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/ninja_dojo/dojo) +"av" = ( +/obj/machinery/teleport/station, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/ninja_dojo/dojo) +"aw" = ( +/obj/machinery/computer/teleporter, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/ninja_dojo/dojo) +"ax" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/ninja_dojo/dojo) +"ay" = ( +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/ninja_dojo/dojo) +"az" = ( +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/ninja_dojo/dojo) +"aA" = ( +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/ninja_dojo/dojo) +"aB" = ( +/turf/simulated/shuttle/wall/voidcraft/hard_corner, +/area/shuttle/ninja) +"aC" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 2; + start_pressure = 740.5 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"aD" = ( +/obj/machinery/computer/teleporter, +/turf/simulated/shuttle/plating, +/area/shuttle/ninja) +"aE" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/plating, +/area/shuttle/ninja) +"aF" = ( +/obj/machinery/teleport/hub, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/shuttle/plating, +/area/shuttle/ninja) +"aG" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/table/steel_reinforced, +/obj/machinery/cell_charger, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"aH" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"aI" = ( +/obj/machinery/door/airlock{ + icon = 'icons/obj/doors/Dooruranium.dmi' + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"aJ" = ( +/obj/machinery/door/airlock{ + icon = 'icons/obj/doors/Dooruranium.dmi' + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/ninja_dojo/dojo) +"aK" = ( +/obj/machinery/door/airlock/voidcraft/vertical{ + frequency = 1331; + id_tag = "ninja_shuttle_outer"; + name = "Ship External Hatch"; + req_access = list(150) + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 8; + icon_state = "pdoor0"; + id = "blastninja"; + name = "Outer Airlock"; + opacity = 0 + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"aL" = ( +/obj/machinery/airlock_sensor{ + frequency = 1331; + id_tag = "ninja_shuttle_sensor"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/effect/shuttle_landmark/shuttle_initializer{ + base_area = /area/ninja_dojo/dojo; + base_turf = /turf/unsimulated/floor; + landmark_tag = "ninja_base"; + name = "The Dojo"; + shuttle_type = /datum/shuttle/autodock/multi/ninja + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"aM" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/meter, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"aN" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"aO" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"aP" = ( +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"aQ" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/firstaid/adv{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/weapon/storage/firstaid/combat, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"aR" = ( +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"aS" = ( +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1331; + id_tag = "ninja_shuttle"; + pixel_x = 0; + pixel_y = -25; + req_access = list(150) + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 4; + frequency = 1331; + id_tag = "ninja_shuttle_pump" + }, +/obj/machinery/button/remote/blast_door{ + id = "blastninja"; + name = "ship lockdown control"; + pixel_x = -25 + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"aT" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/machinery/door/airlock/voidcraft/vertical{ + frequency = 1331; + id_tag = "ninja_shuttle_inner"; + name = "Ship Internal Hatch"; + req_access = list(150) + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"aU" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + icon_state = "intact"; + dir = 9 + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1331; + master_tag = "ninja_shuttle"; + name = "interior access button"; + pixel_x = -25; + pixel_y = 25; + req_access = list(150) + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"aV" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/recharger{ + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"aW" = ( +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/ninja_dojo/dojo) +"aX" = ( +/obj/effect/floor_decal/carpet, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/ninja_dojo/dojo) +"aY" = ( +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/ninja_dojo/dojo) +"aZ" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"ba" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"bb" = ( +/turf/unsimulated/floor{ + icon = 'icons/turf/flooring/wood.dmi'; + icon_state = "wood_broken1" + }, +/area/ninja_dojo/dojo) +"bc" = ( +/obj/structure/table/steel_reinforced, +/obj/item/device/paicard, +/obj/item/device/pda/syndicate, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"bd" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/voidcraft/dark, +/area/shuttle/ninja) +"be" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/toolbox/syndicate{ + pixel_x = -1; + pixel_y = 3 + }, +/obj/machinery/button/remote/blast_door{ + id = "ninjawindow"; + name = "remote shutter control"; + pixel_x = 0; + pixel_y = -25; + req_access = list(150) + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"bf" = ( +/obj/structure/table/bench/wooden, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bg" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"bh" = ( +/obj/machinery/computer/shuttle_control/multi/ninja{ + dir = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"bi" = ( +/obj/machinery/computer/security{ + dir = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/ninja) +"bj" = ( +/obj/machinery/door/airlock{ + icon = 'icons/obj/doors/Dooruranium.dmi' + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bk" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "ninjawindow"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/plating, +/area/shuttle/ninja) +"bl" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced/full, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "ninjawindow"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/ninja) +"bm" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced/full, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "ninjawindow"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/ninja) +"bn" = ( +/obj/structure/flora/tree/pine, +/turf/unsimulated/floor{ + dir = 2; + icon = 'icons/turf/snow_new.dmi'; + icon_state = "snow"; + name = "snow" + }, +/area/ninja_dojo/dojo) +"bo" = ( +/obj/structure/flora/ausbushes/palebush, +/turf/unsimulated/floor{ + dir = 2; + icon = 'icons/turf/snow_new.dmi'; + icon_state = "snow"; + name = "snow" + }, +/area/ninja_dojo/dojo) +"bp" = ( +/obj/structure/window/reinforced{ + dir = 4; + health = 1e+006 + }, +/turf/unsimulated/floor{ + dir = 2; + icon = 'icons/turf/snow_new.dmi'; + icon_state = "snow"; + name = "snow" + }, +/area/ninja_dojo/dojo) +"bq" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/ninja_dojo/dojo) +"br" = ( +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/ninja_dojo/dojo) +"bs" = ( +/obj/structure/window/reinforced{ + dir = 4; + health = 1e+006 + }, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/ninja_dojo/dojo) +"bt" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/unsimulated/floor{ + dir = 2; + icon = 'icons/turf/snow_new.dmi'; + icon_state = "snow"; + name = "snow" + }, +/area/ninja_dojo/dojo) +"bu" = ( +/obj/structure/table/wooden_reinforced, +/obj/machinery/recharger{ + pixel_y = 0 + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bv" = ( +/obj/structure/table/wooden_reinforced, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bw" = ( +/turf/unsimulated/wall{ + icon = 'icons/obj/doors/Dooruranium.dmi'; + icon_state = "door_closed"; + name = "Sealed Door" + }, +/area/ninja_dojo/dojo) +"bx" = ( +/obj/structure/table/glass, +/obj/item/clothing/mask/balaclava/tactical{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/clothing/mask/balaclava, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"by" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/fortunecookie, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bz" = ( +/obj/structure/table/glass, +/obj/item/clothing/mask/balaclava, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bA" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bB" = ( +/obj/structure/table/glass, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bC" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/ninja_dojo/dojo) +"bD" = ( +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/ninja_dojo/dojo) +"bE" = ( +/obj/machinery/recharge_station, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/ninja_dojo/dojo) +"bF" = ( +/obj/structure/table/bench/wooden, +/obj/effect/landmark/late_antag/ninja, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bG" = ( +/obj/effect/landmark/late_antag/ninja, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bH" = ( +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/weapon/towel{ + color = "#FF6666"; + name = "light red towel" + }, +/obj/item/weapon/towel{ + color = "#FF6666"; + name = "light red towel" + }, +/obj/random/soap, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/ninja_dojo/dojo) +"bI" = ( +/obj/machinery/recharger{ + pixel_y = 0 + }, +/obj/structure/table/steel_reinforced, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bJ" = ( +/obj/structure/table/wooden_reinforced, +/obj/item/device/radio/uplink, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bK" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/ninja_dojo/dojo) +"bL" = ( +/obj/item/weapon/rig/light/stealth, +/obj/structure/table/rack, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"bM" = ( +/obj/item/device/suit_cooling_unit, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"bN" = ( +/obj/machinery/door/airlock{ + icon = 'icons/obj/doors/Dooruranium.dmi' + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/ninja_dojo/dojo) +"bO" = ( +/obj/machinery/door/morgue, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/ninja_dojo/dojo) +"bP" = ( +/obj/structure/closet/crate, +/obj/random/tech_supply, +/obj/random/tech_supply, +/obj/random/tech_supply, +/obj/random/tech_supply, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"bQ" = ( +/obj/item/broken_device, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"bR" = ( +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/ninja_dojo/dojo) +"bS" = ( +/obj/machinery/door/morgue, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/ninja_dojo/dojo) +"bT" = ( +/obj/structure/table/steel_reinforced, +/obj/item/rig_module/chem_dispenser/ninja, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"bU" = ( +/obj/structure/bed/chair/office/dark, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"bV" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/toolbox/syndicate{ + pixel_x = -1; + pixel_y = 3 + }, +/obj/random/tech_supply, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"bW" = ( +/obj/structure/undies_wardrobe, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/ninja_dojo/dojo) +"bX" = ( +/obj/machinery/shower{ + dir = 8; + icon_state = "shower"; + pixel_x = -5; + pixel_y = -1 + }, +/obj/structure/curtain/open/shower/medical, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/ninja_dojo/dojo) +"bY" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/cell_charger, +/obj/random/powercell, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"bZ" = ( +/obj/structure/table/steel_reinforced, +/obj/item/rig_module/mounted/energy_blade, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"ca" = ( +/obj/structure/table/steel_reinforced, +/obj/item/rig_module/fabricator/energy_net, +/obj/item/rig_module/vision/multi, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/ninja_dojo/dojo) +"cb" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/ninja_dojo/dojo) +"cc" = ( +/obj/machinery/sleep_console, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/ninja_dojo/dojo) +"cd" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/firstaid/adv{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/weapon/storage/firstaid/adv, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/ninja_dojo/dojo) +"ce" = ( +/obj/machinery/space_heater, +/turf/unsimulated/floor{ + icon = 'icons/turf/flooring/wood.dmi'; + icon_state = "wood_broken3" + }, +/area/ninja_dojo/dojo) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +bw +bw +ab +ab +ab +ab +ab +ab +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ab +au +aH +aR +ab +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +ai +ai +at +bL +bP +bT +bY +ab +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ab +av +aH +aR +ab +ae +ae +ae +bn +ae +ae +af +ae +ae +ae +ae +ae +ae +ab +ai +ai +aI +aR +aR +bU +bZ +ab +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ab +aw +aH +aR +ab +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +ai +ai +at +bM +bQ +bV +ca +ab +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aI +ab +ab +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +bn +ae +ae +at +ai +ai +ab +ab +ab +ab +ab +ab +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +ab +ab +ai +ai +ai +ab +ab +ab +ab +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +at +ai +ai +bI +at +bR +bR +cb +ab +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +ab +ah +am +ap +ai +ai +ai +ai +ai +bf +ab +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +at +ai +ai +ai +bN +bR +bR +cc +ab +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +ab +ai +ai +ai +ai +ai +ai +ai +ai +bf +ab +bo +ae +ae +ae +ae +ae +ae +ae +ae +ae +at +ai +ai +ai +at +bR +bR +cd +ab +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +ab +ai +ai +aq +ax +ax +ax +aW +ai +bf +ab +bp +bp +bp +bp +bp +bp +bp +bp +bp +bp +ab +ai +ai +ai +ab +ab +ab +ab +ab +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +ab +aj +ai +ar +ay +ay +ay +aX +ai +ai +at +bq +bq +bq +bq +bq +bq +bq +bq +bq +bq +at +ai +ai +ai +ai +ai +ai +bw +ab +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +ab +ak +ai +ar +ay +ay +ay +aX +ai +ai +bj +br +br +br +br +br +br +br +br +br +br +bj +ai +ai +ai +ai +ai +ai +ab +ab +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +ab +aj +ai +ar +ay +ay +ay +aX +ai +ai +at +bs +bs +bs +bs +bs +bs +bs +bs +br +br +at +bx +ai +ai +ai +ai +ai +bw +ab +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +ab +ai +ai +as +az +az +az +aY +ai +bf +ab +bt +bt +bt +bt +bt +bt +bt +bt +ab +ab +ab +ab +ab +ab +ab +ai +ai +ab +ab +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +ab +ai +ai +ai +ai +ai +ai +ai +bb +bf +ab +bo +ae +ae +ae +ae +ae +ae +ae +ab +bu +ai +ai +ai +bJ +at +ai +ai +ab +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +ab +al +ai +ai +ai +ai +ai +ai +ai +bf +ab +ae +ae +ae +ae +ae +bn +ae +ae +at +ai +ai +bf +ai +ai +ab +ai +ai +ab +aa +"} +(16,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ai +ai +ai +ab +ab +ab +ab +ae +ae +ae +ae +ae +ae +ae +ae +at +ai +bf +by +bF +ai +bO +ai +ai +ab +aa +"} +(17,1,1) = {" +aa +ab +ac +ac +ac +ad +ae +ae +ab +ab +aJ +ab +ab +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +at +ai +ai +bf +ai +ai +ab +ai +ai +ab +aa +"} +(18,1,1) = {" +aa +ab +ac +ad +ad +ae +af +ae +at +aA +aA +aA +at +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +bv +ai +ai +ai +bv +at +ai +ai +ab +aa +"} +(19,1,1) = {" +aa +ab +ac +ad +ae +ae +ae +ae +at +aA +aA +aA +at +ae +af +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +ab +ab +ab +ab +ab +ab +ai +ai +ab +aa +"} +(20,1,1) = {" +aa +ab +ac +ad +ae +af +ae +ae +ab +ab +aJ +ab +ab +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +at +bz +ai +ai +ab +ai +ai +ab +aa +"} +(21,1,1) = {" +aa +ab +ac +ae +ae +ae +ae +ae +ae +ag +aK +ag +ag +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +bA +bG +ai +bO +ai +ai +ab +ab +"} +(22,1,1) = {" +aa +ab +ac +af +ae +ae +ae +ae +ag +ag +aL +aS +aB +ag +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +ab +ab +ab +ab +ai +ai +ai +ab +"} +(23,1,1) = {" +aa +ab +ac +ae +ae +ae +ae +ae +an +aB +ag +aT +aB +aB +ag +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +bA +bG +ai +bO +ai +ai +ai +ab +"} +(24,1,1) = {" +aa +ab +ac +ae +ag +ag +ag +ag +ag +aC +aM +aU +aZ +bc +ag +ag +ae +ae +ae +ae +ae +ae +ae +af +ae +ae +at +bB +ai +ai +ab +ai +ai +al +ab +"} +(25,1,1) = {" +aa +ab +ac +ae +ae +ae +ae +an +ag +aD +aN +aP +aP +aP +bg +bk +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +ab +ab +ab +ab +ai +ai +ce +ab +"} +(26,1,1) = {" +aa +ab +ac +ae +ae +ae +ae +ao +ag +aE +aN +aP +aP +bd +bh +bl +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +bC +bH +bK +ab +bS +ab +ab +ab +"} +(27,1,1) = {" +aa +ab +ac +ae +ae +ae +ae +an +ag +aF +aN +aP +aP +aP +bi +bm +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +bD +bD +bD +bD +bD +bW +ab +aa +"} +(28,1,1) = {" +aa +ab +ac +ae +ag +ag +ag +ag +ag +aG +aO +aP +ba +be +ag +ag +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +bE +bD +bD +bD +bD +bX +ab +aa +"} +(29,1,1) = {" +aa +ab +ac +ae +ae +ae +ae +ae +an +aB +aP +aP +aB +aB +ag +ae +ae +ae +ae +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(30,1,1) = {" +aa +ab +ac +ae +ae +ae +ae +ae +ag +ag +aQ +aV +aB +ag +ae +ae +ae +ae +ae +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +ab +ac +ad +ad +ae +ae +ae +ae +ag +ag +ag +ag +ae +ae +ae +ae +ae +ae +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +ab +ac +ad +ad +ad +ae +ae +af +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +ab +ac +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +ab +ac +ad +ad +ad +ad +ad +ae +ae +ae +ae +af +ae +ae +ae +ae +ae +ae +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/admin_use/ert.dmm b/maps/tether/submaps/admin_use/ert.dmm new file mode 100644 index 0000000000..866115bb8c --- /dev/null +++ b/maps/tether/submaps/admin_use/ert.dmm @@ -0,0 +1,3942 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/unsimulated/wall, +/area/space) +"ab" = ( +/turf/unsimulated/wall, +/area/centcom/specops) +"ac" = ( +/turf/unsimulated/wall{ + icon = 'icons/obj/doors/Doorext.dmi'; + icon_state = "door_locked"; + name = "Sealed Door" + }, +/area/centcom/specops) +"ad" = ( +/obj/effect/floor_decal/industrial/danger/corner, +/turf/unsimulated/floor/steel, +/area/centcom/specops) +"ae" = ( +/obj/effect/floor_decal/industrial/danger, +/turf/unsimulated/floor/steel, +/area/centcom/specops) +"af" = ( +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/centcom/specops) +"ag" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "ert_shuttle_bay"; + name = "shuttle bay controller"; + pixel_x = 25; + pixel_y = 0; + tag_door = "ert_shuttle_bay_door" + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/centcom/specops) +"ah" = ( +/obj/effect/floor_decal/industrial/danger/corner{ + icon_state = "dangercorner"; + dir = 1 + }, +/turf/unsimulated/floor/steel, +/area/centcom/specops) +"ai" = ( +/obj/effect/floor_decal/industrial/danger{ + dir = 4 + }, +/turf/unsimulated/floor/steel, +/area/centcom/specops) +"aj" = ( +/turf/unsimulated/floor/techfloor_grid, +/area/centcom/specops) +"ak" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "ert_shuttle_bay_door"; + locked = 1 + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/centcom/specops) +"al" = ( +/obj/effect/floor_decal/industrial/danger{ + dir = 8 + }, +/turf/unsimulated/floor/steel, +/area/centcom/specops) +"am" = ( +/turf/simulated/shuttle/wall/dark/hard_corner, +/area/shuttle/specops/centcom) +"an" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "ert1_shuttle_outer"; + locked = 1; + name = "Shuttle Hatch" + }, +/obj/structure/fans/tiny, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ao" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "ert1_shuttle_outer"; + locked = 1; + name = "Shuttle Hatch" + }, +/obj/structure/fans/tiny, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1380; + master_tag = "ert1_control"; + pixel_x = 24; + req_one_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ap" = ( +/turf/simulated/shuttle/wall/dark, +/area/shuttle/specops/centcom) +"aq" = ( +/obj/structure/window/reinforced, +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "ertstarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"ar" = ( +/obj/structure/window/reinforced, +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "ertstarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"as" = ( +/obj/structure/window/reinforced, +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "ertstarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"at" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 2; + frequency = 1380; + id_tag = "ert1_vent" + }, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "ert1_control"; + pixel_x = -25; + req_access = list(103); + tag_airpump = "ert1_vent"; + tag_chamber_sensor = "ert1_sensor"; + tag_exterior_door = "ert1_shuttle_outer"; + tag_interior_door = "ert1_shuttle_inner" + }, +/obj/effect/shuttle_landmark/shuttle_initializer{ + base_area = /area/centcom/specops; + base_turf = /turf/unsimulated/floor; + landmark_tag = "specops_base"; + name = "ERT Shuttle Bay"; + shuttle_type = /datum/shuttle/autodock/multi/specialops + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"au" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 2; + frequency = 1380; + id_tag = "ert1_vent" + }, +/obj/machinery/airlock_sensor{ + frequency = 1380; + id_tag = "ert1_sensor"; + pixel_x = 25 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"av" = ( +/obj/structure/shuttle/engine/heater{ + icon_state = "heater"; + dir = 4 + }, +/turf/simulated/shuttle/plating/airless, +/area/shuttle/specops/centcom) +"aw" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "propulsion_r"; + dir = 4 + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/specops/centcom) +"ax" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ay" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/captain, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"az" = ( +/obj/structure/closet/wardrobe/ert, +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/item/weapon/storage/box/survival/comp{ + starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aA" = ( +/obj/structure/closet/wardrobe/ert, +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/weapon/storage/box/survival/comp{ + starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aB" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "ert1_shuttle_inner"; + locked = 1; + name = "Shuttle Hatch" + }, +/obj/machinery/atmospherics/pipe/simple/visible, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aC" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/chemical_dispenser/ert, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aD" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/chemical_dispenser/biochemistry/full, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aE" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 4 + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/specops/centcom) +"aF" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "ertstarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"aG" = ( +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aH" = ( +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aI" = ( +/obj/machinery/door/airlock/silver{ + name = "Sleeping" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aJ" = ( +/obj/effect/landmark/late_antag/ert, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aK" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + icon_state = "intact"; + dir = 6 + }, +/obj/machinery/meter, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aL" = ( +/obj/machinery/atmospherics/pipe/manifold/visible, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1380; + master_tag = "ert1_control"; + pixel_x = -22; + pixel_y = 32; + req_one_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aM" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aN" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aO" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/white_drop_pouches, +/obj/item/clothing/accessory/storage/white_drop_pouches, +/obj/item/clothing/accessory/storage/white_drop_pouches, +/obj/item/clothing/accessory/storage/white_drop_pouches, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aP" = ( +/obj/structure/table/rack/steel, +/obj/item/clothing/suit/armor/vest/ert/medical, +/obj/item/clothing/suit/armor/vest/ert/medical, +/obj/item/clothing/suit/armor/vest/ert/medical, +/obj/item/clothing/suit/armor/vest/ert/medical, +/obj/item/clothing/head/helmet/ert/medical, +/obj/item/clothing/head/helmet/ert/medical, +/obj/item/clothing/head/helmet/ert/medical, +/obj/item/clothing/head/helmet/ert/medical, +/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/weapon/storage/backpack/ert/medical, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aQ" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/rig/ert/medical, +/obj/item/weapon/rig/ert/medical, +/obj/item/weapon/rig/ert/medical, +/obj/item/weapon/rig/ert/medical, +/obj/item/weapon/reagent_containers/hypospray, +/obj/item/weapon/reagent_containers/hypospray, +/obj/item/weapon/reagent_containers/hypospray, +/obj/item/weapon/reagent_containers/hypospray, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aR" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aS" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "ertstarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"aT" = ( +/obj/machinery/light, +/obj/machinery/ntnet_relay, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aU" = ( +/obj/structure/table/bench/padded, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aV" = ( +/obj/machinery/shieldgen, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aW" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/energy/netgun, +/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/weapon/gun/energy/gun/martin, +/obj/item/weapon/gun/energy/gun/martin, +/obj/item/weapon/gun/energy/gun/martin, +/obj/item/weapon/gun/energy/gun/martin, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aX" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/weapon/gun/energy/gun/nuclear, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aY" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"aZ" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/weapon/storage/box/shotgunshells, +/obj/item/weapon/storage/box/shotgunshells, +/obj/item/weapon/storage/box/shotgunshells, +/obj/item/weapon/storage/box/shotgunammo, +/obj/item/weapon/storage/box/shotgunammo, +/obj/item/weapon/storage/box/stunshells, +/obj/item/weapon/storage/box/stunshells, +/obj/item/weapon/storage/box/flashshells, +/obj/item/weapon/storage/box/flashshells, +/obj/item/weapon/storage/box/beanbags, +/obj/item/weapon/storage/box/beanbags, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ba" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/projectile/automatic/advanced_smg, +/obj/item/ammo_magazine/m9mmAdvanced, +/obj/item/ammo_magazine/m9mmAdvanced, +/obj/item/ammo_magazine/m9mmAdvanced, +/obj/item/ammo_magazine/m9mmAdvanced, +/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/weapon/gun/projectile/revolver/detective45, +/obj/item/ammo_magazine/s45, +/obj/item/ammo_magazine/s45, +/obj/item/ammo_magazine/s45, +/obj/item/ammo_magazine/s45, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bb" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"bc" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/space_heater, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bd" = ( +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"be" = ( +/obj/machinery/door/airlock/glass_medical{ + name = "Medical Bay"; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bf" = ( +/obj/machinery/chem_master, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bg" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "propulsion_l"; + dir = 4 + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/specops/centcom) +"bh" = ( +/obj/structure/closet/walllocker/emerglocker{ + pixel_y = -32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bi" = ( +/obj/machinery/button/remote/blast_door{ + id = "ertstarshutters"; + name = "remote shutter control"; + pixel_x = 30; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bj" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/energy/laser, +/obj/item/weapon/gun/energy/laser, +/obj/item/weapon/gun/energy/laser, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bk" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bl" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bm" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bn" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bo" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"bp" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/meter, +/obj/machinery/portable_atmospherics/powered/pump/filled, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bq" = ( +/obj/machinery/light, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"br" = ( +/obj/machinery/vending/medical{ + density = 0; + pixel_y = -32; + req_access = null + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bs" = ( +/obj/structure/closet/medical_wall{ + pixel_x = 32; + pixel_y = 0 + }, +/obj/item/weapon/storage/firstaid/clotting, +/obj/item/weapon/storage/firstaid/bonemed, +/obj/item/weapon/storage/firstaid/adv, +/obj/item/weapon/storage/firstaid/adv, +/obj/item/weapon/storage/firstaid/fire, +/obj/item/weapon/storage/firstaid/fire, +/obj/item/weapon/storage/firstaid/o2, +/obj/item/weapon/storage/firstaid/o2, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/combat, +/obj/item/weapon/storage/firstaid/combat, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bt" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 4; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bu" = ( +/obj/structure/window/reinforced, +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/energy/ionrifle, +/obj/item/weapon/gun/energy/ionrifle, +/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/weapon/gun/energy/ionrifle/pistol, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bv" = ( +/obj/machinery/door/window/southleft{ + name = "Cargo Hold"; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bw" = ( +/obj/structure/window/reinforced, +/obj/structure/table/rack/steel, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/weapon/gun/projectile/p92x/large/preban, +/obj/item/weapon/gun/projectile/p92x/large/preban, +/obj/item/weapon/gun/projectile/p92x/large/preban, +/obj/item/weapon/gun/projectile/p92x/large/preban, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bx" = ( +/obj/machinery/door/window/southright{ + name = "Cargo Hold"; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"by" = ( +/obj/structure/window/reinforced, +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bz" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"bA" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 1; + start_pressure = 740.5 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bB" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/box/pillbottles, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bC" = ( +/obj/structure/closet/crate/medical, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/obj/item/weapon/storage/pill_bottle/iron, +/obj/item/weapon/storage/pill_bottle/iron, +/obj/item/weapon/storage/pill_bottle/sleevingcure/full, +/obj/item/weapon/extinguisher/mini, +/obj/item/weapon/extinguisher/mini, +/obj/item/weapon/extinguisher/mini, +/obj/item/weapon/extinguisher/mini, +/obj/item/weapon/storage/box/syringes, +/obj/item/weapon/storage/box/syringes{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bD" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "ertbridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"bE" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "ertbridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"bF" = ( +/obj/machinery/vending/security, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bG" = ( +/obj/machinery/atm{ + pixel_x = 0; + pixel_y = 26 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bH" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bI" = ( +/obj/machinery/vending/nifsoft_shop{ + categories = 111; + emagged = 1; + name = "Hacked NIFSoft Shop"; + prices = list() + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bJ" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + req_access = list(103) + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"bK" = ( +/obj/machinery/sleep_console{ + dir = 8 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bL" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bM" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/weapon/pen{ + pixel_y = 4 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bN" = ( +/obj/machinery/vending/food, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bO" = ( +/obj/structure/toilet, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/specops/centcom) +"bP" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/machinery/light/small, +/turf/simulated/shuttle/floor/white, +/area/shuttle/specops/centcom) +"bQ" = ( +/obj/structure/mirror{ + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/specops/centcom) +"bR" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/shower{ + pixel_y = 3 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/specops/centcom) +"bS" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/rig/ert/security, +/obj/item/weapon/rig/ert/security, +/obj/item/weapon/rig/ert/security, +/obj/item/weapon/rig/ert/security, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bT" = ( +/obj/structure/closet/crate/medical, +/obj/item/weapon/storage/box/autoinjectors, +/obj/item/weapon/storage/box/beakers, +/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/weapon/storage/box/bodybags, +/obj/item/weapon/storage/box/bodybags{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/storage/box/gloves, +/obj/item/weapon/storage/box/freezer, +/obj/item/weapon/storage/box/masks, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bU" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "ertbridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"bV" = ( +/obj/structure/frame/computer, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"bW" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "ERT"; + tele_network = "centcom" + }, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"bX" = ( +/obj/machinery/door/airlock/silver{ + name = "Toilet" + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/specops/centcom) +"bY" = ( +/obj/machinery/door/airlock/silver{ + name = "Restroom" + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/specops/centcom) +"bZ" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ca" = ( +/obj/structure/table/rack/steel, +/obj/item/clothing/suit/armor/vest/ert/security, +/obj/item/clothing/suit/armor/vest/ert/security, +/obj/item/clothing/suit/armor/vest/ert/security, +/obj/item/clothing/suit/armor/vest/ert/security, +/obj/item/clothing/head/helmet/ert/security, +/obj/item/clothing/head/helmet/ert/security, +/obj/item/clothing/head/helmet/ert/security, +/obj/item/clothing/head/helmet/ert/security, +/obj/item/weapon/storage/backpack/ert/security, +/obj/item/weapon/storage/backpack/ert/security, +/obj/item/weapon/storage/backpack/ert/security, +/obj/item/weapon/storage/backpack/ert/security, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cb" = ( +/obj/item/taperoll/police, +/obj/item/taperoll/police, +/obj/item/taperoll/police, +/obj/item/taperoll/police, +/obj/item/taperoll/police, +/obj/item/taperoll/police, +/obj/item/device/flash, +/obj/item/device/flash, +/obj/item/device/flash, +/obj/item/device/flash, +/obj/item/device/flash, +/obj/item/device/flash, +/obj/structure/table/rack/steel, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cc" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/storage/box/flashbangs, +/obj/item/weapon/storage/box/flashbangs, +/obj/item/weapon/storage/box/flashbangs, +/obj/item/weapon/storage/box/emps{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/weapon/storage/box/smokes, +/obj/item/weapon/storage/box/smokes, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cd" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/storage/box/handcuffs, +/obj/item/weapon/storage/box/handcuffs{ + pixel_x = 3; + pixel_y = 3 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"ce" = ( +/obj/structure/table/rack/steel, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cf" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/tool/crowbar, +/obj/item/weapon/tool/crowbar, +/obj/item/weapon/tool/crowbar, +/obj/item/weapon/tool/crowbar, +/obj/item/weapon/tool/crowbar, +/obj/item/weapon/tool/crowbar, +/obj/item/device/flashlight, +/obj/item/device/flashlight, +/obj/item/device/flashlight, +/obj/item/device/flashlight, +/obj/item/device/flashlight, +/obj/item/device/flashlight, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cg" = ( +/obj/machinery/power/thermoregulator, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"ch" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"ci" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cj" = ( +/obj/machinery/power/emitter, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"ck" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cl" = ( +/obj/machinery/body_scanconsole, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cm" = ( +/obj/structure/closet/crate/freezer, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cn" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "ertbridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"co" = ( +/obj/machinery/computer/shuttle_control/multi/specops{ + icon_state = "computer"; + dir = 4 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cp" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cq" = ( +/obj/machinery/door/airlock/command{ + name = "Bridge"; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cr" = ( +/obj/structure/noticeboard{ + pixel_y = 32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cs" = ( +/obj/structure/table/rack/steel, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/graviton, +/obj/item/clothing/glasses/graviton, +/obj/item/clothing/glasses/graviton, +/obj/item/clothing/glasses/graviton, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"ct" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cu" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cv" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/clothing/glasses/sunglasses/sechud/tactical, +/obj/item/clothing/glasses/sunglasses/sechud/tactical, +/obj/item/clothing/glasses/sunglasses/sechud/tactical, +/obj/item/clothing/glasses/sunglasses/sechud/tactical, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cw" = ( +/obj/structure/table/rack/steel, +/obj/item/clothing/accessory/holster/waist, +/obj/item/clothing/accessory/holster/waist, +/obj/item/clothing/accessory/holster/waist, +/obj/item/clothing/accessory/holster/waist, +/obj/item/clothing/accessory/holster/waist, +/obj/item/clothing/accessory/holster/waist, +/obj/item/clothing/accessory/holster/hip, +/obj/item/clothing/accessory/holster/hip, +/obj/item/clothing/accessory/holster/hip, +/obj/item/clothing/accessory/holster/hip, +/obj/item/clothing/accessory/holster/hip, +/obj/item/clothing/accessory/holster/hip, +/obj/item/clothing/accessory/holster/armpit, +/obj/item/clothing/accessory/holster/armpit, +/obj/item/clothing/accessory/holster/armpit, +/obj/item/clothing/accessory/holster/armpit, +/obj/item/clothing/accessory/holster/armpit, +/obj/item/clothing/accessory/holster/armpit, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cx" = ( +/obj/machinery/power/port_gen/pacman, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cy" = ( +/obj/structure/medical_stand, +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 12; + pixel_y = 8 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cz" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cA" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/button/remote/blast_door{ + id = "ertbridgeshutters"; + name = "remote shutter control"; + pixel_x = 30; + req_access = list(150) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cB" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cC" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cD" = ( +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cE" = ( +/obj/machinery/light, +/obj/structure/table/standard, +/obj/item/weapon/soap, +/obj/item/weapon/towel{ + color = "#0000FF" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cF" = ( +/obj/structure/closet{ + name = "custodial" + }, +/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/weapon/mop, +/obj/item/weapon/rig/ert/janitor, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cG" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cH" = ( +/obj/structure/table/glass, +/obj/item/roller/adv, +/obj/item/roller/adv{ + pixel_y = 6 + }, +/obj/item/roller/adv{ + pixel_y = 12 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"cI" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/firstaid/surgery, +/obj/item/stack/nanopaste, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cJ" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "ertbridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"cK" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "ertbridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"cL" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/melee/energy/sword/blue, +/obj/item/weapon/melee/energy/sword/blue, +/obj/item/weapon/melee/energy/sword/blue, +/obj/item/weapon/melee/energy/sword/blue, +/obj/item/weapon/melee/energy/sword/blue, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cM" = ( +/obj/machinery/shieldwallgen, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cN" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cO" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cP" = ( +/obj/machinery/optable, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cQ" = ( +/obj/machinery/oxygen_pump/anesthetic, +/turf/simulated/shuttle/wall/dark/hard_corner, +/area/shuttle/specops/centcom) +"cR" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/machinery/cell_charger, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cS" = ( +/obj/machinery/door/window/northleft{ + name = "Cargo Hold"; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cT" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/belt/utility/full, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cU" = ( +/obj/machinery/door/window/northright{ + name = "Cargo Hold"; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cV" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/dispenser/oxygen, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cW" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 2; + start_pressure = 740.5 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cX" = ( +/obj/structure/closet/walllocker/emerglocker{ + pixel_y = 32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cY" = ( +/obj/machinery/vending/engivend, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"cZ" = ( +/obj/machinery/vending/assist, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"da" = ( +/obj/structure/table/rack, +/obj/item/weapon/rig/ert, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"db" = ( +/obj/machinery/button/remote/blast_door{ + id = "ertportshutters"; + name = "remote shutter control"; + pixel_x = 30; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dc" = ( +/obj/structure/table/steel_reinforced, +/obj/item/rig_module/mounted/taser, +/obj/item/rig_module/mounted/taser, +/obj/item/rig_module/mounted/taser, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dd" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"de" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"df" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dg" = ( +/obj/structure/table/steel_reinforced, +/obj/item/rig_module/device/drill, +/obj/item/rig_module/device/drill, +/obj/item/rig_module/maneuvering_jets, +/obj/item/rig_module/maneuvering_jets, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dh" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/meter, +/obj/machinery/shield_gen, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"di" = ( +/obj/machinery/shield_capacitor, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/specops/centcom) +"dj" = ( +/obj/machinery/door/airlock/glass_engineering{ + name = "Engineering"; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dk" = ( +/obj/item/weapon/circuitboard/aiupload, +/obj/item/weapon/circuitboard/borgupload, +/obj/item/weapon/circuitboard/smes, +/obj/item/weapon/aiModule/nanotrasen, +/obj/item/weapon/aiModule/reset, +/obj/item/weapon/aiModule/freeformcore, +/obj/item/weapon/aiModule/protectStation, +/obj/item/weapon/aiModule/quarantine, +/obj/item/weapon/aiModule/paladin, +/obj/item/weapon/aiModule/robocop, +/obj/item/weapon/aiModule/safeguard, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/smes_coil, +/obj/item/weapon/smes_coil, +/obj/item/device/t_scanner/advanced, +/obj/item/device/t_scanner/advanced, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dl" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/steel_reinforced, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/weapon/grenade/chem_grenade/metalfoam, +/obj/item/weapon/grenade/chem_grenade/metalfoam, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dm" = ( +/obj/structure/table/steel_reinforced, +/obj/fiftyspawner/phoron, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/plasteel, +/obj/fiftyspawner/plasteel, +/obj/fiftyspawner/plasteel, +/obj/fiftyspawner/plasteel, +/obj/fiftyspawner/rglass, +/obj/fiftyspawner/rglass, +/obj/fiftyspawner/rglass, +/obj/fiftyspawner/phoronglass, +/obj/fiftyspawner/phoronglass, +/obj/fiftyspawner/rods, +/obj/fiftyspawner/rods, +/obj/fiftyspawner/rods, +/obj/fiftyspawner/rods, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dn" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "ertportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"do" = ( +/obj/structure/table/glass, +/obj/item/weapon/hand_tele, +/obj/item/device/perfect_tele, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dp" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, +/obj/item/device/binoculars, +/obj/item/device/survivalcapsule, +/obj/item/device/survivalcapsule, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dq" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dr" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/backpack/ert/commander, +/obj/item/clothing/head/helmet/ert/command, +/obj/item/clothing/suit/armor/vest/ert/command, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ds" = ( +/turf/simulated/floor/carpet, +/area/shuttle/specops/centcom) +"dt" = ( +/obj/structure/bed/chair/office/dark, +/turf/simulated/floor/carpet, +/area/shuttle/specops/centcom) +"du" = ( +/obj/machinery/shieldwallgen, +/turf/simulated/floor/carpet, +/area/shuttle/specops/centcom) +"dv" = ( +/obj/structure/table/steel_reinforced, +/obj/item/rig_module/rescue_pharm, +/obj/item/rig_module/sprinter, +/obj/item/rig_module/sprinter, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dw" = ( +/obj/structure/table/steel_reinforced, +/obj/item/rig_module/mounted, +/obj/item/rig_module/mounted/egun, +/obj/item/rig_module/mounted/egun, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dx" = ( +/obj/structure/table/steel_reinforced, +/obj/item/rig_module/chem_dispenser/combat, +/obj/item/rig_module/chem_dispenser/combat, +/obj/item/rig_module/chem_dispenser/injector, +/obj/item/rig_module/chem_dispenser/injector, +/obj/item/rig_module/device/healthscanner, +/obj/item/rig_module/device/healthscanner, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dy" = ( +/obj/structure/table/steel_reinforced, +/obj/item/rig_module/device/rcd, +/obj/item/rig_module/device/rcd, +/obj/item/rig_module/device/plasmacutter, +/obj/item/rig_module/device/plasmacutter, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dz" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/mask/gas/half, +/obj/item/clothing/mask/gas/half, +/obj/item/clothing/mask/gas/half, +/obj/item/clothing/mask/gas/half, +/obj/item/clothing/mask/gas/half, +/obj/item/clothing/mask/gas/half, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dA" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/machinery/shield_gen/external, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dB" = ( +/obj/machinery/autolathe{ + desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; + hacked = 1; + name = "Unlocked Autolathe" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dC" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "ertportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"dD" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters"; + req_access = list(103) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dE" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/weapon/pen{ + pixel_y = 4 + }, +/turf/simulated/floor/carpet, +/area/shuttle/specops/centcom) +"dF" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/stamp/centcomm, +/obj/item/weapon/storage/box/cdeathalarm_kit, +/obj/item/weapon/storage/box/trackimp, +/turf/simulated/floor/carpet, +/area/shuttle/specops/centcom) +"dG" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/pinpointer/advpinpointer, +/obj/item/device/aicard, +/turf/simulated/floor/carpet, +/area/shuttle/specops/centcom) +"dH" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "ertportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"dI" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "ertportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"dJ" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "ertportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/plating, +/area/shuttle/specops/centcom) +"dK" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 5 + }, +/obj/machinery/meter, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dL" = ( +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1381; + master_tag = "ert2_control"; + pixel_x = -22; + pixel_y = -32; + req_one_access = list(103) + }, +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dM" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 10 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dN" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/storage/firstaid/regular, +/obj/item/weapon/storage/firstaid/regular, +/obj/item/bodybag/cryobag, +/obj/item/bodybag/cryobag, +/obj/item/bodybag/cryobag, +/obj/item/bodybag/cryobag, +/obj/item/bodybag/cryobag, +/obj/item/bodybag/cryobag, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dO" = ( +/obj/structure/table/rack/steel, +/obj/item/clothing/accessory/storage/brown_vest, +/obj/item/clothing/accessory/storage/brown_vest, +/obj/item/clothing/accessory/storage/brown_vest, +/obj/item/clothing/accessory/storage/brown_vest, +/obj/item/clothing/accessory/storage/brown_drop_pouches, +/obj/item/clothing/accessory/storage/brown_drop_pouches, +/obj/item/clothing/accessory/storage/brown_drop_pouches, +/obj/item/clothing/accessory/storage/brown_drop_pouches, +/obj/item/clothing/glasses/welding/superior, +/obj/item/clothing/glasses/welding/superior, +/obj/item/clothing/glasses/welding/superior, +/obj/item/clothing/glasses/welding/superior, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dP" = ( +/obj/structure/table/rack/steel, +/obj/item/weapon/rig/ert/engineer, +/obj/item/weapon/rig/ert/engineer, +/obj/item/weapon/rig/ert/engineer, +/obj/item/weapon/rig/ert/engineer, +/obj/item/weapon/storage/belt/utility/chief/full, +/obj/item/weapon/storage/belt/utility/chief/full, +/obj/item/weapon/storage/belt/utility/chief/full, +/obj/item/weapon/storage/belt/utility/chief/full, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dQ" = ( +/obj/structure/table/rack/steel, +/obj/item/clothing/suit/armor/vest/ert/engineer, +/obj/item/clothing/suit/armor/vest/ert/engineer, +/obj/item/clothing/suit/armor/vest/ert/engineer, +/obj/item/clothing/suit/armor/vest/ert/engineer, +/obj/item/clothing/head/helmet/ert/engineer, +/obj/item/clothing/head/helmet/ert/engineer, +/obj/item/clothing/head/helmet/ert/engineer, +/obj/item/clothing/head/helmet/ert/engineer, +/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/taperoll/engineering, +/obj/item/taperoll/engineering, +/obj/item/taperoll/engineering, +/obj/item/taperoll/engineering, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dR" = ( +/obj/structure/table/glass, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -35 + }, +/obj/item/weapon/gun/projectile/deagle, +/obj/item/ammo_magazine/m44, +/obj/item/ammo_magazine/m44, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dS" = ( +/obj/structure/filingcabinet/filingcabinet, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dT" = ( +/obj/machinery/light, +/turf/simulated/floor/carpet, +/area/shuttle/specops/centcom) +"dU" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/shuttle/specops/centcom) +"dV" = ( +/obj/machinery/photocopier, +/turf/simulated/floor/carpet, +/area/shuttle/specops/centcom) +"dW" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/door/airlock/glass_external{ + frequency = 1381; + icon_state = "door_locked"; + id_tag = "ert2_shuttle_inner"; + locked = 1; + name = "Ship Hatch" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dX" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1381; + icon_state = "door_locked"; + id_tag = "ert2_shuttle_inner"; + locked = 1; + name = "Ship Hatch" + }, +/obj/machinery/atmospherics/pipe/simple/visible, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dY" = ( +/obj/machinery/vending/engineering, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"dZ" = ( +/obj/machinery/vending/tool, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ea" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1381; + id_tag = "ert2_vent" + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + frequency = 1381; + id_tag = "ert2_control"; + pixel_x = -24; + req_access = list(103); + tag_airpump = "ert2_vent"; + tag_chamber_sensor = "ert2_sensor"; + tag_exterior_door = "ert2_shuttle_outer"; + tag_interior_door = "ert2_shuttle_inner" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"eb" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/machinery/airlock_sensor{ + frequency = 1381; + id_tag = "ert2_sensor"; + pixel_x = 25 + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1381; + id_tag = "ert2_vent" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ec" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1381; + icon_state = "door_locked"; + id_tag = "ert2_shuttle_outer"; + locked = 1; + name = "Ship Hatch" + }, +/obj/structure/fans/tiny, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ed" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1381; + master_tag = "ert2_control"; + pixel_x = 24; + req_one_access = list(103) + }, +/obj/machinery/door/airlock/glass_external{ + frequency = 1381; + icon_state = "door_locked"; + id_tag = "ert2_shuttle_outer"; + locked = 1; + name = "Ship Hatch" + }, +/obj/structure/fans/tiny, +/turf/simulated/shuttle/floor/black, +/area/shuttle/specops/centcom) +"ee" = ( +/obj/effect/floor_decal/industrial/danger/corner{ + dir = 4 + }, +/turf/unsimulated/floor/steel, +/area/centcom/specops) +"ef" = ( +/obj/effect/floor_decal/industrial/danger{ + dir = 1 + }, +/turf/unsimulated/floor/steel, +/area/centcom/specops) +"eg" = ( +/obj/effect/floor_decal/industrial/danger/corner{ + icon_state = "dangercorner"; + dir = 8 + }, +/turf/unsimulated/floor/steel, +/area/centcom/specops) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +ad +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ee +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +aj +aj +aj +aj +aj +aj +ap +bU +cn +ap +aj +aj +aj +aj +aj +aj +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +aj +aj +aj +aj +aj +ap +ap +bV +co +ap +ap +aj +aj +aj +aj +aj +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +aj +aj +aj +aj +aj +bD +bM +bd +cp +cz +cJ +aj +aj +aj +aj +aj +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +aj +aj +aj +aj +aj +bE +bN +bW +bd +cA +cK +aj +aj +aj +aj +aj +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +aj +aj +aj +aj +aj +ap +ap +ap +cq +ap +ap +aj +aj +aj +aj +aj +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +aj +aj +aj +aj +aj +ap +bO +bX +aH +cB +ap +aj +aj +aj +aj +aj +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +ap +aF +aS +ap +aj +ap +ap +am +aH +cC +ap +aj +ap +dn +dC +ap +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +am +aG +ay +ap +aj +ap +bP +ap +aH +cD +ap +aj +ap +do +aH +am +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +ax +aH +aT +ap +aj +ap +bQ +bY +aH +cE +ap +aj +ap +dp +aH +ay +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +ay +aH +ay +ap +aj +ap +bR +ap +cr +cF +ap +aj +ap +dq +aH +dR +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +ap +aI +ap +ap +ap +ap +am +bZ +aH +aH +ap +ap +ap +ap +dD +ap +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +az +aJ +az +ap +ap +ap +ap +ap +aH +cG +am +ap +da +dr +aH +dS +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +az +aJ +aJ +bh +ap +bF +bS +ca +aH +aH +cL +ap +cX +aH +aH +aH +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aq +aA +aJ +aU +aH +bt +aH +aH +bd +bd +aH +aH +bt +aH +ds +dE +dT +dH +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ar +az +aJ +aU +aH +aH +aH +bd +bd +bd +bd +aH +aH +aH +dt +dF +dU +dI +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +as +az +aJ +aV +bi +ap +aH +bd +cb +cs +bd +aH +ap +db +du +dG +dV +dJ +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +ap +ap +ap +ap +am +bG +bd +cc +ct +bd +aH +am +ap +ap +ap +ap +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +ap +ap +aW +bj +bu +bH +bd +cd +cu +bd +bq +cR +dc +dv +ap +ap +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +aj +aq +aX +bk +bv +aH +bd +ce +cv +bd +aH +cS +dd +dw +dH +aj +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +aj +ar +aY +bl +bw +aV +bd +cf +cw +bd +cM +cT +de +dx +dI +aj +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +aj +as +aZ +bm +bx +aH +bd +cg +cx +bd +aH +cU +df +dy +dJ +aj +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aj +ap +ap +ba +bn +by +bI +bd +ch +ch +bd +cN +cV +dg +dz +ap +ap +aj +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +ap +ap +bb +bo +bz +ap +bd +ci +ci +bd +ap +bb +bo +bz +ap +ap +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +ab +ab +ab +ab +ab +ab +ab +ab +am +ap +am +aK +bc +bp +bA +ap +bd +cj +cj +bd +ap +cW +dh +dA +dK +am +ap +am +aj +ef +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +ac +af +af +af +af +ac +af +ak +an +at +aB +aL +bd +bd +bd +bJ +bd +bd +bd +bd +bJ +bd +di +di +dL +dW +ea +ec +aj +ef +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +ac +af +af +af +ag +ac +ag +ak +ao +au +aB +aM +bd +bd +bd +bd +bd +bd +bd +bd +bd +bd +bd +bd +dM +dX +eb +ed +aj +ef +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +ab +ab +ab +ab +ab +ab +ab +ab +am +ap +am +aN +aH +aH +bh +am +bd +bd +bd +bd +am +cX +aH +aH +dN +am +ap +am +aj +ef +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +ap +ap +be +be +am +ap +bd +ck +bd +cH +ap +am +dj +dj +ap +ap +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +aq +aO +aH +aH +aH +ap +bK +bd +cl +bd +bd +cO +ap +dk +aH +aH +dO +dH +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +as +aP +aH +aH +bq +ap +bL +bd +bd +bd +bd +cP +ap +dl +aH +aH +dP +dJ +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +aj +ap +aQ +aH +aH +br +am +ap +bT +cm +cy +cI +cQ +ap +dm +aH +aH +dQ +ap +aj +aj +ef +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +ap +ap +aC +aH +aH +aH +bB +ap +ap +ap +ap +ap +ap +cY +aH +aH +aH +dY +ap +ap +aj +ef +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +ap +ap +aD +aR +bf +bs +bC +ap +av +av +av +av +ap +cZ +aH +dB +aR +dZ +ap +ap +aj +ef +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +ap +ap +ap +ap +ap +am +ap +ap +aw +aE +aE +bg +ap +ap +ap +ap +ap +ap +ap +ap +aj +ef +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +ap +av +av +av +av +ap +ap +aj +aj +aj +aj +aj +aj +ap +ap +av +av +av +av +ap +aj +ef +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +ae +aj +ap +aw +aE +aE +bg +ap +aj +aj +aj +aj +aj +aj +aj +aj +ap +aw +aE +aE +bg +ap +aj +ef +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +ah +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +eg +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/admin_use/mercbase.dmm b/maps/tether/submaps/admin_use/mercbase.dmm new file mode 100644 index 0000000000..bac8c22541 --- /dev/null +++ b/maps/tether/submaps/admin_use/mercbase.dmm @@ -0,0 +1,7056 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/unsimulated/wall, +/area/antag/antag_base) +"ac" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/hos, +/obj/machinery/computer/security/telescreen/entertainment{ + icon_state = "frame"; + pixel_w = 0; + pixel_x = 0; + pixel_y = 32 + }, +/obj/effect/landmark{ + name = "Syndicate-Spawn" + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"ad" = ( +/obj/structure/table/glass, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"ae" = ( +/obj/structure/bed/padded, +/obj/machinery/computer/security/telescreen/entertainment{ + icon_state = "frame"; + pixel_w = 0; + pixel_x = 0; + pixel_y = 32 + }, +/obj/item/weapon/bedsheet/clown{ + desc = "A surprisingly soft linen bedsheet, except for the spots where it's crusty. Gross."; + name = "Dave's bedsheet" + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"af" = ( +/obj/structure/table/glass, +/obj/item/weapon/handcuffs/fuzzy, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"ag" = ( +/turf/simulated/floor/outdoors/grass/sif/virgo3b{ + tree_chance = 0 + }, +/area/antag/antag_base) +"ah" = ( +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"ai" = ( +/obj/structure/flora/tree/sif, +/turf/simulated/floor/outdoors/grass/sif/virgo3b{ + tree_chance = 0 + }, +/area/antag/antag_base) +"aj" = ( +/obj/machinery/door/airlock/centcom{ + name = "Private Room"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ak" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/weapon/gun/projectile/automatic/sts35, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"al" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/plasmastun, +/obj/item/weapon/gun/energy/plasmastun, +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"am" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/darkmatter, +/obj/item/weapon/gun/energy/darkmatter, +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"an" = ( +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/obj/structure/table/rack, +/obj/item/weapon/gun/launcher/rocket, +/obj/item/ammo_casing/rocket, +/obj/item/ammo_casing/rocket, +/obj/item/ammo_casing/rocket, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ao" = ( +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/obj/structure/table/rack, +/obj/item/weapon/storage/box/frags, +/obj/item/weapon/storage/box/frags, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ap" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/obj/item/weapon/storage/box/sniperammo, +/obj/item/weapon/gun/projectile/heavysniper, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"aq" = ( +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ar" = ( +/obj/machinery/newscaster{ + layer = 3.3; + pixel_x = 0; + pixel_y = 32 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"as" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/xray, +/obj/item/weapon/gun/energy/xray, +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"at" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 2 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/effect/forcefield{ + desc = "You can't get in. Heh."; + layer = 1; + name = "Blocker" + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/antag/antag_base) +"au" = ( +/obj/structure/window/reinforced{ + dir = 2 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/effect/forcefield{ + desc = "You can't get in. Heh."; + layer = 1; + name = "Blocker" + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/antag/antag_base) +"av" = ( +/obj/structure/window/reinforced{ + dir = 2 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/effect/forcefield{ + desc = "You can't get in. Heh."; + layer = 1; + name = "Blocker" + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/antag/antag_base) +"aw" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/obj/item/ammo_magazine/s44, +/obj/item/ammo_magazine/s44, +/obj/item/ammo_magazine/s44, +/obj/item/ammo_magazine/s44, +/obj/item/ammo_magazine/s44, +/obj/item/ammo_magazine/s44, +/obj/item/weapon/gun/projectile/revolver/consul, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ax" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/obj/item/weapon/storage/box/shotgunshells/large, +/obj/item/weapon/storage/box/shotgunammo/large, +/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ay" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/obj/item/ammo_magazine/m9mm, +/obj/item/ammo_magazine/m9mm, +/obj/item/ammo_magazine/m9mm, +/obj/item/ammo_magazine/m9mm, +/obj/item/ammo_magazine/m9mm, +/obj/item/ammo_magazine/m9mm, +/obj/item/ammo_magazine/m9mm, +/obj/item/ammo_magazine/m9mm, +/obj/item/weapon/gun/projectile/luger, +/obj/item/weapon/gun/projectile/luger/brown, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"az" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/obj/item/weapon/gun/energy/lasercannon, +/obj/item/weapon/gun/energy/lasercannon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"aA" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/weapon/gun/energy/sniperrifle, +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"aB" = ( +/obj/structure/closet/athletic_mixed, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/antag/antag_base) +"aC" = ( +/obj/machinery/fitness/heavy/lifter, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/antag/antag_base) +"aD" = ( +/obj/structure/table/woodentable, +/obj/item/stack/medical/bruise_pack, +/obj/item/stack/medical/bruise_pack, +/obj/item/weapon/melee/telebaton, +/obj/machinery/computer/security/telescreen/entertainment{ + icon_state = "frame"; + pixel_w = 0; + pixel_x = 0; + pixel_y = 32 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/antag/antag_base) +"aE" = ( +/obj/structure/reagent_dispensers/water_cooler/full, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/antag/antag_base) +"aF" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed"; + name = "Clothing Storage" + }, +/obj/item/clothing/shoes/boots/combat, +/obj/item/clothing/shoes/boots/combat, +/obj/item/clothing/shoes/boots/combat, +/obj/item/clothing/shoes/boots/combat, +/obj/item/clothing/shoes/boots/combat, +/obj/item/clothing/shoes/boots/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"aG" = ( +/obj/structure/table/standard, +/obj/item/device/radio/headset/syndicate, +/obj/item/device/radio/headset/syndicate, +/obj/item/device/radio/headset/syndicate, +/obj/item/device/radio/headset/syndicate, +/obj/item/device/radio/headset/syndicate/alt, +/obj/item/device/radio/headset/syndicate/alt, +/obj/item/device/radio/headset/syndicate/alt, +/obj/item/device/radio/headset/syndicate/alt, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"aH" = ( +/obj/structure/table/standard, +/obj/item/device/pda/syndicate, +/obj/item/device/pda/syndicate, +/obj/item/device/pda/syndicate, +/obj/item/device/pda/syndicate, +/obj/item/device/pda/syndicate, +/obj/item/device/pda/syndicate, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"aI" = ( +/obj/structure/table/standard, +/obj/item/weapon/card/id/syndicate, +/obj/item/weapon/card/id/syndicate, +/obj/item/weapon/card/id/syndicate, +/obj/item/weapon/card/id/syndicate, +/obj/item/weapon/card/id/syndicate, +/obj/item/weapon/card/id/syndicate, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"aJ" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-10" + }, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"aK" = ( +/obj/machinery/door/airlock/vault{ + name = "War Armory"; + req_access = list(999); + req_one_access = list(999) + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"aL" = ( +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/antag/antag_base) +"aM" = ( +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"aN" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/hos, +/obj/effect/landmark{ + name = "Syndicate-Spawn" + }, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"aO" = ( +/obj/structure/table/rack, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"aP" = ( +/obj/structure/table/rack, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/melee/energy/sword/red, +/obj/item/weapon/melee/energy/sword/red, +/obj/item/weapon/melee/energy/sword/red, +/obj/item/weapon/melee/energy/sword/red, +/obj/item/weapon/melee/energy/sword/red, +/obj/item/weapon/melee/energy/sword/red, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = 32 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"aQ" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/sizegun, +/obj/item/weapon/gun/energy/sizegun, +/obj/item/weapon/gun/energy/sizegun, +/obj/item/weapon/gun/energy/sizegun, +/obj/item/weapon/gun/energy/sizegun, +/obj/effect/floor_decal/corner/purple{ + dir = 5 + }, +/obj/effect/floor_decal/corner/purple{ + dir = 10 + }, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = 32 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"aR" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/box/syndie_kit/imp_uplink, +/obj/item/weapon/storage/box/syndie_kit/imp_uplink, +/obj/item/weapon/storage/box/syndie_kit/imp_uplink, +/obj/item/weapon/storage/box/syndie_kit/imp_uplink, +/obj/item/weapon/storage/box/syndie_kit/imp_uplink, +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/obj/effect/floor_decal/corner/green{ + dir = 5 + }, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = 32 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"aS" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-21" + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"aT" = ( +/obj/machinery/vending/fitness, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/antag/antag_base) +"aU" = ( +/obj/machinery/scale, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/antag/antag_base) +"aV" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-21" + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/antag/antag_base) +"aW" = ( +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/antag/antag_base) +"aX" = ( +/obj/machinery/door/airlock/centcom{ + name = "Gym"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/antag/antag_base) +"aY" = ( +/obj/machinery/door/airlock/centcom{ + name = "Barracks"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"aZ" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/hos, +/obj/machinery/computer/security/telescreen/entertainment{ + icon_state = "frame"; + pixel_w = 0; + pixel_x = 32; + pixel_y = 0 + }, +/obj/effect/landmark{ + name = "Syndicate-Spawn" + }, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"ba" = ( +/obj/effect/floor_decal/corner/purple{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bb" = ( +/obj/effect/floor_decal/corner/green{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bc" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed"; + name = "Clothing Storage" + }, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/shoes/boots/winter, +/obj/item/clothing/shoes/boots/winter, +/obj/item/clothing/shoes/boots/winter, +/obj/item/clothing/shoes/boots/winter, +/obj/item/clothing/shoes/boots/winter, +/obj/item/clothing/shoes/boots/winter, +/obj/item/clothing/shoes/boots/winter, +/obj/item/clothing/mask/balaclava, +/obj/item/clothing/mask/balaclava, +/obj/item/clothing/mask/balaclava, +/obj/item/clothing/mask/balaclava, +/obj/item/clothing/mask/balaclava, +/obj/item/clothing/mask/balaclava, +/obj/item/clothing/mask/balaclava, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"bd" = ( +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"be" = ( +/obj/structure/table/rack, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/ammo_magazine/m10mm, +/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/item/weapon/gun/projectile/automatic/c20r, +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bf" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/projectile/silenced, +/obj/item/weapon/gun/projectile/silenced, +/obj/item/weapon/gun/projectile/silenced, +/obj/item/weapon/gun/projectile/silenced, +/obj/item/weapon/gun/projectile/silenced, +/obj/item/weapon/gun/projectile/silenced, +/obj/item/weapon/gun/projectile/silenced, +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bg" = ( +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bh" = ( +/obj/structure/table/rack, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/suit/space/void/merc, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/head/helmet/space/void/merc, +/obj/effect/floor_decal/borderfloorblack{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bi" = ( +/obj/structure/table/rack, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/suit/space/void/merc, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/head/helmet/space/void/merc, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bj" = ( +/obj/structure/table/rack, +/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/weapon/tank/jetpack/oxygen, +/obj/item/weapon/tank/jetpack/oxygen, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bk" = ( +/obj/structure/table/rack, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/suit/space/void/merc, +/obj/item/clothing/mask/gas/syndicate, +/obj/item/clothing/head/helmet/space/void/merc, +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bl" = ( +/obj/structure/table/standard, +/obj/item/clothing/glasses/sunglasses/prescription, +/obj/item/clothing/glasses/sunglasses/prescription, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/glasses/sunglasses, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"bm" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/backpack/dufflebag/syndie, +/obj/item/weapon/storage/backpack/dufflebag/syndie, +/obj/item/weapon/storage/backpack/messenger/black, +/obj/item/weapon/storage/backpack/messenger/black, +/obj/item/weapon/storage/backpack/satchel/norm, +/obj/item/weapon/storage/backpack/satchel/norm, +/obj/item/weapon/storage/backpack/satchel/norm, +/obj/item/weapon/storage/backpack/satchel/norm, +/obj/item/weapon/storage/backpack/satchel/norm, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"bn" = ( +/obj/structure/table/rack, +/obj/item/ammo_magazine/m45/rubber, +/obj/item/ammo_magazine/m45/rubber, +/obj/item/ammo_magazine/m45/rubber, +/obj/item/ammo_magazine/m45/rubber, +/obj/item/ammo_magazine/m45/rubber, +/obj/item/ammo_magazine/m45/rubber, +/obj/item/ammo_magazine/m45, +/obj/item/ammo_magazine/m45, +/obj/item/ammo_magazine/m45, +/obj/item/ammo_magazine/m45, +/obj/item/ammo_magazine/m45, +/obj/item/ammo_magazine/m45, +/obj/item/ammo_magazine/m45, +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bo" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/laser, +/obj/item/weapon/gun/energy/laser, +/obj/item/weapon/gun/energy/laser, +/obj/item/weapon/gun/energy/laser, +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bp" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bq" = ( +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 1 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"br" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bs" = ( +/obj/structure/undies_wardrobe, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/antag/antag_base) +"bt" = ( +/obj/effect/floor_decal/corner/yellow{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bu" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/effect/floor_decal/corner/yellow{ + dir = 6 + }, +/obj/effect/floor_decal/corner/yellow{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bv" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/weapon/gun/energy/ionrifle, +/obj/item/weapon/gun/energy/ionrifle, +/obj/effect/floor_decal/corner/yellow{ + dir = 6 + }, +/obj/effect/floor_decal/corner/yellow{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bw" = ( +/obj/effect/floor_decal/corner/yellow{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bx" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/borderfloorblack/corner2, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"by" = ( +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 8 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bz" = ( +/obj/effect/floor_decal/borderfloorblack/corner, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bA" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 9 + }, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = -32 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bB" = ( +/obj/effect/landmark{ + name = "Syndicate-Uplink" + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bC" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/borderfloorblack/corner2, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = -32 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bD" = ( +/obj/effect/floor_decal/corner/blue{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bE" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/netgun, +/obj/item/weapon/gun/energy/netgun, +/obj/effect/floor_decal/corner/blue{ + dir = 6 + }, +/obj/effect/floor_decal/corner/blue{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bF" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/weapon/gun/energy/stunrevolver, +/obj/item/weapon/gun/energy/stunrevolver, +/obj/effect/floor_decal/corner/blue{ + dir = 6 + }, +/obj/effect/floor_decal/corner/blue{ + dir = 9 + }, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bG" = ( +/obj/effect/floor_decal/corner/blue{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bH" = ( +/obj/structure/table/rack, +/obj/item/clothing/mask/gas/voice, +/obj/item/clothing/mask/gas/voice, +/obj/item/clothing/mask/gas/voice, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bI" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/obj/structure/table/rack, +/obj/item/weapon/rig/merc/empty, +/obj/item/weapon/rig/merc/empty, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bJ" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bK" = ( +/obj/machinery/door/airlock/vault{ + name = "Armory"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bL" = ( +/obj/structure/table/rack, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/oxygen/red, +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bM" = ( +/obj/machinery/suit_cycler/syndicate{ + locked = 0 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bN" = ( +/obj/structure/table/marble, +/obj/machinery/chemical_dispenser/bar_coffee/full, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"bO" = ( +/obj/structure/table/marble, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = 3 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = -4; + pixel_y = -4 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = 8 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = -4 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = 8; + pixel_y = 12 + }, +/obj/item/weapon/reagent_containers/food/drinks/cup{ + pixel_x = -4; + pixel_y = 12 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"bP" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + icon_state = "frame"; + pixel_w = 0; + pixel_x = 0; + pixel_y = 32 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"bQ" = ( +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = 32 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"bR" = ( +/obj/machinery/vending/sovietsoda, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"bS" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/storage/vest/heavy/merc, +/obj/item/clothing/suit/storage/vest/heavy/merc, +/obj/item/clothing/suit/storage/vest/heavy/merc, +/obj/item/clothing/suit/storage/vest/heavy/merc, +/obj/item/clothing/suit/storage/vest/heavy/merc, +/obj/item/clothing/suit/storage/vest/heavy/merc, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bT" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/weapon/reagent_containers/food/snacks/sandwich, +/obj/item/weapon/reagent_containers/food/snacks/sandwich, +/obj/item/weapon/reagent_containers/food/snacks/sandwich, +/obj/item/weapon/reagent_containers/food/snacks/sandwich, +/obj/item/weapon/reagent_containers/food/snacks/sandwich, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"bU" = ( +/obj/structure/bed/chair/comfy/black, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"bV" = ( +/turf/unsimulated/floor/steel{ + icon = 'icons/turf/flooring/circuit.dmi'; + icon_state = "bcircuit" + }, +/area/antag/antag_base) +"bW" = ( +/obj/machinery/mech_recharger, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bX" = ( +/obj/structure/table/rack, +/obj/item/device/suit_cooling_unit, +/obj/item/device/suit_cooling_unit, +/obj/item/device/suit_cooling_unit, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bY" = ( +/obj/structure/table/rack, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/effect/floor_decal/borderfloorblack{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"bZ" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/weapon/storage/toolbox/syndicate, +/obj/item/weapon/storage/toolbox/syndicate, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ca" = ( +/obj/structure/table/rack, +/obj/item/borg/sight/thermal, +/obj/item/borg/sight/thermal, +/obj/item/borg/sight/thermal, +/obj/item/borg/sight/thermal, +/obj/item/borg/sight/thermal, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 1 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cb" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/firstaid/combat, +/obj/item/weapon/storage/firstaid/combat, +/obj/item/weapon/storage/firstaid/combat, +/obj/item/weapon/reagent_containers/hypospray, +/obj/item/weapon/reagent_containers/hypospray, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cc" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/belt/security{ + name = "black belt" + }, +/obj/item/weapon/storage/belt/security{ + name = "black belt" + }, +/obj/item/weapon/storage/belt/security{ + name = "black belt" + }, +/obj/item/weapon/storage/belt/security{ + name = "black belt" + }, +/obj/item/weapon/storage/belt/security{ + name = "black belt" + }, +/obj/item/weapon/storage/belt/security{ + name = "black belt" + }, +/obj/item/weapon/storage/belt/security{ + name = "black belt" + }, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical/bandolier, +/obj/item/weapon/storage/belt/security/tactical/bandolier, +/obj/item/weapon/storage/belt/security/tactical/bandolier, +/obj/item/weapon/storage/belt/security/tactical/bandolier, +/obj/item/weapon/storage/belt/security/tactical/bandolier, +/obj/item/weapon/storage/belt/security/tactical/bandolier, +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cd" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/belt/utility/full, +/obj/item/weapon/storage/belt/utility/full, +/obj/item/weapon/storage/belt/utility/full, +/obj/item/weapon/storage/belt/utility/full, +/obj/item/weapon/storage/belt/utility/full, +/obj/item/weapon/storage/belt/utility/full, +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ce" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/antag/antag_base) +"cf" = ( +/obj/machinery/vending/cigarette{ + name = "Breach Corp cigarette machine"; + prices = list(); + products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"cg" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"ch" = ( +/obj/structure/table/glass, +/obj/item/weapon/storage/box/donut{ + desc = "There's a name, and a message written on the lid. It reads, \"DO NOT EAT. That means you, Dave!\""; + name = "Mike's donut box" + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"ci" = ( +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/weapon/pen{ + pixel_y = 4 + }, +/obj/structure/table/glass, +/obj/item/weapon/folder{ + pixel_y = 2 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"cj" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"ck" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/box/handcuffs{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/weapon/storage/box/flashbangs, +/obj/item/weapon/storage/box/smokes, +/obj/item/weapon/storage/box/frags, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cl" = ( +/obj/structure/table/rack, +/obj/item/weapon/tool/crowbar/red, +/obj/item/weapon/tool/crowbar/red, +/obj/item/weapon/tool/crowbar/red, +/obj/item/weapon/tool/crowbar/red, +/obj/item/weapon/tool/crowbar/red, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/item/device/flashlight/maglight, +/obj/item/device/flashlight/maglight, +/obj/item/device/flashlight/maglight, +/obj/item/device/flashlight/maglight, +/obj/item/device/flashlight/maglight, +/obj/item/device/flashlight/maglight, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cm" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/adv, +/obj/item/weapon/storage/firstaid/adv, +/obj/item/weapon/storage/firstaid/clotting, +/obj/item/weapon/storage/firstaid/o2, +/obj/item/weapon/storage/firstaid/o2, +/obj/item/weapon/storage/firstaid/fire, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cn" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-21" + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"co" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"cp" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cq" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/box/syndie_kit/ewar_voice, +/obj/item/weapon/storage/box/syndie_kit/ewar_voice, +/obj/item/weapon/storage/box/syndie_kit/ewar_voice, +/obj/item/weapon/storage/box/syndie_kit/ewar_voice, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/item/weapon/card/emag, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cr" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/box/syndie_kit/spy, +/obj/item/weapon/storage/box/syndie_kit/spy, +/obj/item/weapon/storage/box/syndie_kit/spy, +/obj/item/weapon/storage/box/syndie_kit/spy, +/obj/item/weapon/storage/box/syndie_kit/spy, +/obj/item/device/radio_jammer, +/obj/item/device/radio_jammer, +/obj/item/device/radio_jammer, +/obj/item/device/radio_jammer, +/obj/item/device/radio_jammer, +/obj/item/device/chameleon, +/obj/item/device/chameleon, +/obj/item/device/chameleon, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = -32 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cs" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = -32 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ct" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy{ + name = "Super Heavy Demolitions kit" + }, +/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ + name = "Heavy Demolitions kit" + }, +/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ + name = "Heavy Demolitions kit" + }, +/obj/item/weapon/storage/box/syndie_kit/demolitions{ + name = "Demolitions kit" + }, +/obj/item/weapon/storage/box/syndie_kit/demolitions{ + name = "Demolitions kit" + }, +/obj/item/weapon/storage/box/syndie_kit/demolitions{ + name = "Demolitions kit" + }, +/obj/item/weapon/storage/box/syndie_kit/demolitions{ + name = "Demolitions kit" + }, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cu" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/item/clothing/mask/gas/wwii, +/obj/item/clothing/mask/gas/wwii, +/obj/item/clothing/mask/gas/wwii, +/obj/item/clothing/mask/gas/wwii, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cv" = ( +/obj/machinery/door/airlock/centcom{ + name = "Equipment Storage"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cw" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-20" + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"cx" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/item/clothing/mask/gas/voice, +/obj/item/clothing/mask/gas/voice, +/obj/item/clothing/mask/gas/voice, +/obj/item/clothing/mask/gas/voice, +/obj/item/clothing/mask/gas/voice, +/obj/item/clothing/mask/gas/voice, +/obj/item/clothing/mask/gas/voice, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cy" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/weapon/storage/backpack/dufflebag/syndie/med, +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/weapon/storage/backpack/dufflebag/syndie/med, +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/weapon/storage/backpack/dufflebag/syndie/med, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cz" = ( +/obj/structure/closet/secure_closet/medical_wall{ + pixel_x = -32; + pixel_y = 0; + req_access = list(150) + }, +/obj/item/stack/medical/splint, +/obj/item/stack/medical/ointment, +/obj/item/stack/medical/ointment, +/obj/item/stack/medical/bruise_pack, +/obj/item/stack/medical/bruise_pack, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/stack/medical/advanced/bruise_pack, +/obj/item/stack/medical/advanced/bruise_pack, +/obj/item/stack/medical/advanced/bruise_pack, +/obj/item/stack/medical/advanced/ointment, +/obj/item/stack/medical/advanced/ointment, +/obj/item/stack/medical/advanced/ointment, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cA" = ( +/obj/machinery/door/window{ + dir = 4; + name = "Cell"; + req_access = list(150) + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cB" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cC" = ( +/obj/structure/closet{ + name = "custodial" + }, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/weapon/mop, +/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/effect/floor_decal/borderfloorblack{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cD" = ( +/obj/structure/table/rack, +/obj/item/device/camera_film, +/obj/item/device/camera_film, +/obj/item/device/camera_film, +/obj/item/device/camera_film, +/obj/item/device/camera_film, +/obj/item/device/camera_film, +/obj/item/device/camera, +/obj/item/device/camera, +/obj/item/device/camera, +/obj/item/device/camera, +/obj/item/device/camera, +/obj/item/device/camera, +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cE" = ( +/obj/structure/table/rack, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/item/weapon/material/knife/tacknife/combatknife, +/obj/effect/floor_decal/borderfloorblack, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cF" = ( +/obj/structure/table/rack, +/obj/item/device/binoculars, +/obj/item/device/binoculars, +/obj/item/device/binoculars, +/obj/item/device/binoculars, +/obj/item/device/binoculars, +/obj/effect/floor_decal/borderfloorblack, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cG" = ( +/obj/structure/table/rack, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/effect/floor_decal/borderfloorblack, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cH" = ( +/obj/structure/table/rack, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/effect/floor_decal/borderfloorblack, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cI" = ( +/obj/structure/table/rack, +/obj/item/weapon/pinpointer/nukeop, +/obj/item/weapon/pinpointer/nukeop, +/obj/item/weapon/pinpointer/nukeop, +/obj/item/weapon/pinpointer/nukeop, +/obj/item/weapon/pinpointer/nukeop, +/obj/item/weapon/pinpointer/nukeop, +/obj/effect/floor_decal/borderfloorblack, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cJ" = ( +/obj/structure/table/rack, +/obj/item/device/flashlight/flare, +/obj/item/device/flashlight/flare, +/obj/item/device/flashlight/flare, +/obj/item/device/flashlight/flare, +/obj/item/device/flashlight/flare, +/obj/item/device/flashlight/flare, +/obj/item/device/flashlight/flare, +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cK" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/machinery/vending/nifsoft_shop{ + categories = 111; + emagged = 1; + name = "Hacked NIFSoft Shop"; + prices = list() + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cL" = ( +/obj/machinery/telecomms/allinone{ + intercept = 1 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cM" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/effect/floor_decal/rust, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cN" = ( +/obj/structure/bed, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cO" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced/full, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/antag/antag_base) +"cP" = ( +/obj/item/weapon/handcuffs, +/obj/item/weapon/handcuffs, +/obj/item/weapon/handcuffs, +/obj/item/weapon/handcuffs/fuzzy, +/obj/item/weapon/handcuffs/fuzzy, +/obj/item/weapon/handcuffs, +/obj/structure/table/steel, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cQ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced/full, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/antag/antag_base) +"cR" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 10 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cS" = ( +/obj/item/weapon/reagent_containers/hypospray, +/obj/structure/table/steel, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cT" = ( +/obj/machinery/door/airlock/centcom{ + name = "Prison Wing"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cU" = ( +/obj/effect/floor_decal/borderfloorblack/corner{ + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cV" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cW" = ( +/obj/effect/floor_decal/rust, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cX" = ( +/mob/living/simple_mob/animal/passive/fox/syndicate{ + name = "Rick" + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cY" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"cZ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/antag/antag_base) +"da" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-22" + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 8 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"db" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 9 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dc" = ( +/obj/effect/floor_decal/borderfloorblack, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dd" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = -32 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"de" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 9 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"df" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dg" = ( +/obj/machinery/door/airlock/centcom{ + name = "Bathroom"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/antag/antag_base) +"dh" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"di" = ( +/obj/machinery/door/airlock/centcom{ + name = "Kitchen"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dj" = ( +/obj/machinery/door/airlock/centcom{ + name = "MedBay"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/antag/antag_base) +"dk" = ( +/obj/item/weapon/material/knife/plastic{ + pixel_x = -6 + }, +/obj/item/weapon/reagent_containers/syringe/drugs{ + pixel_x = 3; + pixel_y = -1 + }, +/obj/item/weapon/reagent_containers/syringe/drugs{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/weapon/reagent_containers/syringe/drugs{ + pixel_x = 3; + pixel_y = 9 + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/structure/table/steel, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dl" = ( +/obj/machinery/shower{ + pixel_y = 32 + }, +/obj/structure/window/reinforced/tinted{ + dir = 4; + icon_state = "twindow" + }, +/obj/item/weapon/soap/syndie, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/antag/antag_base) +"dm" = ( +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/antag/antag_base) +"dn" = ( +/obj/structure/toilet, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/antag/antag_base) +"do" = ( +/obj/structure/closet/secure_closet/freezer/kitchen{ + req_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dp" = ( +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dq" = ( +/obj/structure/sink/kitchen{ + pixel_y = 28 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dr" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"ds" = ( +/obj/machinery/atmospherics/unary/cryo_cell, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dt" = ( +/obj/machinery/atmospherics/unary/freezer, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"du" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dv" = ( +/obj/machinery/chemical_dispenser/full, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dw" = ( +/obj/machinery/chem_master, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dx" = ( +/obj/item/device/defib_kit, +/obj/item/device/defib_kit, +/obj/structure/table/standard, +/obj/machinery/recharger, +/obj/item/weapon/tool/screwdriver, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dy" = ( +/obj/item/weapon/reagent_containers/blood/AMinus, +/obj/item/weapon/reagent_containers/blood/APlus, +/obj/item/weapon/reagent_containers/blood/BMinus, +/obj/item/weapon/reagent_containers/blood/BPlus, +/obj/item/weapon/reagent_containers/blood/OPlus, +/obj/structure/closet/crate/freezer, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dz" = ( +/obj/structure/closet/crate/freezer, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dA" = ( +/obj/structure/closet/secure_closet/medical2, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dB" = ( +/obj/structure/table/standard, +/obj/item/weapon/surgical/circular_saw, +/obj/item/weapon/surgical/surgicaldrill, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dC" = ( +/obj/structure/table/standard, +/obj/item/weapon/surgical/retractor, +/obj/item/weapon/surgical/bonesetter, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dD" = ( +/obj/item/weapon/gun/energy/sizegun, +/obj/item/weapon/gun/energy/sizegun, +/obj/structure/table/steel, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dE" = ( +/obj/machinery/door/airlock/centcom{ + name = "Toilet"; + req_one_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/antag/antag_base) +"dF" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/tray{ + pixel_y = 5 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dG" = ( +/obj/structure/reagent_dispensers/beerkeg/fakenuke, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dH" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 8; + icon_state = "map" + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dI" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dK" = ( +/obj/structure/table/standard, +/obj/item/weapon/surgical/cautery, +/obj/item/weapon/surgical/FixOVein, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dL" = ( +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/structure/table/steel, +/obj/effect/floor_decal/borderfloorblack, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dM" = ( +/obj/item/clothing/gloves/knuckledusters, +/obj/item/clothing/gloves/knuckledusters, +/obj/item/clothing/gloves/knuckledusters, +/obj/item/clothing/gloves/knuckledusters, +/obj/item/clothing/gloves/knuckledusters, +/obj/structure/table/steel, +/obj/effect/floor_decal/borderfloorblack{ + dir = 6 + }, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dN" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/window/reinforced/tinted{ + dir = 4; + icon_state = "twindow" + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/antag/antag_base) +"dO" = ( +/obj/machinery/washing_machine, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/antag/antag_base) +"dP" = ( +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 11; + pixel_y = 0 + }, +/obj/structure/mirror{ + dir = 4; + pixel_x = 28; + pixel_y = 0 + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/antag/antag_base) +"dQ" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{ + pixel_x = 3; + pixel_y = 12 + }, +/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{ + pixel_x = -1; + pixel_y = 8 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dR" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_x = -1; + pixel_y = 8 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dS" = ( +/obj/structure/table/standard, +/obj/machinery/chemical_dispenser/bar_soft/full, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dT" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/box/glasses/square{ + pixel_x = 1; + pixel_y = 4 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dU" = ( +/obj/machinery/vending/food, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dW" = ( +/obj/structure/table/standard, +/obj/item/weapon/surgical/scalpel, +/obj/item/device/healthanalyzer, +/obj/item/weapon/surgical/hemostat, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"dX" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1331; + id_tag = "merc_base"; + pixel_x = -25; + pixel_y = -25 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dY" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/portable_atmospherics/canister/oxygen/prechilled, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"dZ" = ( +/obj/structure/bed/roller, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ea" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen"; + name = "Grenade Crate"; + opened = 1 + }, +/obj/item/weapon/grenade/chem_grenade, +/obj/item/weapon/grenade/chem_grenade, +/obj/item/weapon/grenade/chem_grenade, +/obj/item/device/assembly/igniter, +/obj/item/device/assembly/igniter, +/obj/item/device/assembly/igniter, +/obj/item/device/assembly/timer, +/obj/item/device/assembly/timer, +/obj/item/device/assembly/timer, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"eb" = ( +/obj/item/weapon/tool/screwdriver, +/obj/item/weapon/storage/box/beakers, +/obj/item/stack/material/phoron, +/obj/item/stack/material/phoron, +/obj/item/stack/material/phoron, +/obj/item/stack/material/phoron, +/obj/item/stack/material/phoron, +/obj/structure/table/standard, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"ec" = ( +/obj/structure/table/standard, +/obj/machinery/reagentgrinder, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/effect/floor_decal/steeldecal/steel_decals10, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"ed" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/obj/effect/floor_decal/corner_steel_grid{ + dir = 10 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"ee" = ( +/obj/machinery/body_scanconsole, +/obj/effect/floor_decal/corner_steel_grid{ + dir = 10 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"ef" = ( +/obj/structure/medical_stand, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"eg" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"eh" = ( +/obj/machinery/optable, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"ei" = ( +/obj/structure/table/standard, +/obj/item/stack/medical/advanced/bruise_pack{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/stack/medical/advanced/bruise_pack{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/surgical/bonegel, +/obj/item/weapon/surgical/bonegel, +/obj/item/stack/nanopaste, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/antag/antag_base) +"ej" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1331; + id_tag = "merc_base_hatch"; + req_access = list(150) + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"ek" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1331; + id_tag = "merc_base_hatch"; + req_access = list(150) + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"el" = ( +/turf/simulated/shuttle/wall/dark, +/area/shuttle/mercenary) +"em" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id = "smindicate"; + name = "Outer Airlock"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"en" = ( +/obj/machinery/door/airlock/glass_external{ + density = 1; + frequency = 1331; + id_tag = "merc_shuttle_outer"; + name = "Ship External Access"; + req_access = list(150) + }, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id = "smindicate"; + name = "Outer Airlock"; + opacity = 0 + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1331; + master_tag = "merc_shuttle"; + name = "exterior access button"; + pixel_x = -25; + pixel_y = 0; + req_access = list(150) + }, +/obj/effect/floor_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/floor_decal/industrial/danger{ + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"eo" = ( +/obj/machinery/door/airlock/glass_external{ + density = 1; + frequency = 1331; + id_tag = "merc_shuttle_outer"; + name = "Ship External Access"; + req_access = list(150) + }, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id = "smindicate"; + name = "Outer Airlock"; + opacity = 0 + }, +/obj/effect/floor_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/floor_decal/industrial/danger{ + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"ep" = ( +/obj/structure/symbol/lo, +/turf/simulated/shuttle/wall/dark, +/area/shuttle/mercenary) +"eq" = ( +/obj/structure/symbol/da, +/turf/simulated/shuttle/wall/dark, +/area/shuttle/mercenary) +"er" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 1; + icon_state = "shutter0"; + id = "syndieshutters_infirmary"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"es" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 4; + frequency = 1331; + id_tag = "merc_shuttle_pump" + }, +/obj/machinery/airlock_sensor{ + frequency = 1331; + id_tag = "merc_shuttle_sensor"; + pixel_x = 8; + pixel_y = 25 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"et" = ( +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"eu" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/effect/shuttle_landmark/shuttle_initializer{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "merc_base"; + landmark_tag = "merc_base"; + name = "The Hideaway"; + shuttle_type = /datum/shuttle/autodock/multi/mercenary + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"ev" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"ew" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"ex" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + frequency = 1331; + id_tag = "merc_shuttle_pump" + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"ey" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/machinery/sleeper{ + dir = 8 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"ez" = ( +/obj/machinery/sleep_console, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"eA" = ( +/obj/structure/table/standard, +/obj/structure/closet/secure_closet/medical_wall{ + pixel_y = 32; + req_access = list(150) + }, +/obj/item/bodybag, +/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ + pixel_x = 4; + pixel_y = 7 + }, +/obj/item/weapon/reagent_containers/syringe, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"eB" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"eC" = ( +/obj/machinery/body_scanconsole, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"eD" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 4; + frequency = 1331; + id_tag = "merc_shuttle_pump" + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"eE" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"eF" = ( +/obj/machinery/button/remote/blast_door{ + id = "syndieshutters_infirmary"; + name = "remote shutter control"; + pixel_x = -25 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"eG" = ( +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"eH" = ( +/obj/machinery/vending/medical{ + density = 0; + pixel_x = 32; + pixel_y = 0; + req_access = null + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"eI" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 4; + start_pressure = 740.5 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"eJ" = ( +/obj/structure/closet{ + name = "custodial" + }, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/weapon/mop, +/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 10 + }, +/obj/item/clothing/gloves/yellow, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"eK" = ( +/obj/structure/table/standard, +/obj/item/stack/cable_coil/black, +/obj/item/weapon/storage/toolbox/syndicate, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"eL" = ( +/turf/simulated/shuttle/wall/dark/hard_corner, +/area/shuttle/mercenary) +"eM" = ( +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1331; + id_tag = "merc_shuttle"; + pixel_x = 0; + pixel_y = 0; + req_access = list(150) + }, +/turf/simulated/shuttle/wall/dark, +/area/shuttle/mercenary) +"eN" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"eO" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1331; + id_tag = "merc_shuttle_inner"; + name = "Ship External Access"; + req_access = list(150) + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1331; + master_tag = "merc_shuttle"; + name = "interior access button"; + pixel_x = -25; + pixel_y = 0; + req_access = list(150) + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"eP" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1331; + id_tag = "merc_shuttle_inner"; + name = "Ship External Access"; + req_access = list(150) + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"eQ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"eR" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"eS" = ( +/obj/structure/table/glass, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"eT" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"eU" = ( +/obj/machinery/vending/food, +/turf/simulated/shuttle/wall/dark, +/area/shuttle/mercenary) +"eV" = ( +/obj/machinery/vending/boozeomat, +/turf/simulated/shuttle/wall/dark, +/area/shuttle/mercenary) +"eW" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"eX" = ( +/obj/structure/sink{ + dir = 8; + icon_state = "sink"; + pixel_x = -12; + pixel_y = 8 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"eY" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 5 + }, +/obj/effect/decal/cleanable/generic, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"eZ" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/machinery/meter, +/obj/effect/floor_decal/rust, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fa" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance_hatch{ + req_one_access = list(150) + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fb" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + icon_state = "intact"; + dir = 9 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fc" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"fd" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fe" = ( +/obj/structure/closet/secure_closet/medical_wall{ + pixel_x = 0; + pixel_y = 32; + req_access = list(150) + }, +/obj/item/stack/medical/splint, +/obj/item/stack/medical/ointment, +/obj/item/stack/medical/ointment, +/obj/item/stack/medical/bruise_pack, +/obj/item/stack/medical/bruise_pack, +/obj/item/stack/medical/bruise_pack, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/firstaid/combat, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/device/defib_kit/compact/combat/loaded, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"ff" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fg" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fh" = ( +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fi" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fj" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fk" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/sign/nosmoking_1, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fl" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"fm" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/item/weapon/surgical/surgicaldrill, +/obj/item/weapon/surgical/cautery, +/obj/item/weapon/surgical/retractor, +/obj/item/stack/nanopaste, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/mercenary) +"fn" = ( +/obj/machinery/door/window{ + dir = 1; + name = "Surgery"; + req_access = list(150) + }, +/turf/simulated/shuttle/floor, +/area/shuttle/mercenary) +"fo" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/item/weapon/surgical/circular_saw, +/obj/item/weapon/surgical/FixOVein{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/weapon/surgical/hemostat, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/item/weapon/surgical/surgicaldrill, +/turf/simulated/shuttle/floor, +/area/shuttle/mercenary) +"fp" = ( +/obj/structure/sign/department/operational, +/turf/simulated/shuttle/wall/dark, +/area/shuttle/mercenary) +"fq" = ( +/obj/effect/landmark/late_antag/mercenary, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/antag/antag_base) +"fr" = ( +/obj/effect/floor_decal/rust, +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "mfloor5" + }, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 8 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fs" = ( +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"ft" = ( +/obj/structure/mopbucket, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fu" = ( +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"fv" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"fw" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/mercenary) +"fx" = ( +/turf/simulated/shuttle/floor, +/area/shuttle/mercenary) +"fy" = ( +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 11; + pixel_y = 0 + }, +/obj/structure/closet/secure_closet/medical_wall{ + pixel_x = 32; + pixel_y = 0; + req_access = list(150) + }, +/obj/item/weapon/tank/anesthetic, +/obj/item/clothing/mask/breath/medical, +/obj/item/clothing/mask/surgical, +/obj/item/clothing/gloves/sterile/latex, +/obj/item/weapon/reagent_containers/syringe, +/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/turf/simulated/shuttle/floor, +/area/shuttle/mercenary) +"fz" = ( +/obj/structure/shuttle/engine/heater{ + icon_state = "heater"; + dir = 4 + }, +/turf/simulated/shuttle/plating/airless, +/area/shuttle/mercenary) +"fA" = ( +/obj/effect/landmark/late_antag/mercenary, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "dark" + }, +/area/antag/antag_base) +"fB" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = -32; + pixel_y = 0; + subspace_transmission = 1; + syndie = 1 + }, +/obj/structure/closet, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fC" = ( +/obj/structure/closet, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fD" = ( +/obj/structure/closet, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fE" = ( +/obj/structure/table/glass, +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 0; + pixel_y = -32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fF" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fG" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/sign/department/medbay, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fH" = ( +/obj/item/weapon/storage/firstaid/toxin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/firstaid/adv{ + pixel_x = 1 + }, +/obj/item/weapon/storage/firstaid/fire{ + pixel_x = 1 + }, +/obj/item/weapon/storage/firstaid/o2{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/firstaid/regular, +/obj/structure/table/reinforced, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"fI" = ( +/obj/item/roller, +/obj/item/roller, +/obj/item/roller, +/obj/structure/table/reinforced, +/obj/item/bodybag/cryobag, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"fJ" = ( +/obj/structure/medical_stand, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/mercenary) +"fK" = ( +/obj/machinery/optable, +/turf/simulated/shuttle/floor, +/area/shuttle/mercenary) +"fL" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/structure/table/standard, +/obj/item/weapon/surgical/scalpel, +/obj/item/weapon/surgical/bonesetter, +/obj/item/weapon/surgical/bonegel{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/stack/medical/advanced/bruise_pack, +/turf/simulated/shuttle/floor, +/area/shuttle/mercenary) +"fM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "syndieshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fN" = ( +/obj/machinery/recharger, +/obj/structure/table/steel_reinforced, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fO" = ( +/obj/structure/table/rack, +/obj/item/ammo_magazine/m380, +/obj/item/ammo_magazine/m380, +/obj/item/ammo_magazine/m380, +/obj/item/ammo_magazine/m380, +/obj/item/ammo_magazine/m380, +/obj/item/weapon/gun/projectile/giskard, +/obj/item/clothing/accessory/holster, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fP" = ( +/obj/machinery/vending/cigarette{ + name = "hacked cigarette machine"; + prices = list(); + products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fQ" = ( +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"fR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "syndieshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fS" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "syndieshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"fT" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/button/remote/blast_door{ + id = "syndieshutters"; + name = "remote shutter control"; + req_access = list(150) + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fU" = ( +/obj/machinery/vending/coffee{ + name = "hacked Hot Drinks machine"; + prices = list() + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fV" = ( +/obj/structure/sign/department/bridge, +/turf/simulated/shuttle/wall/dark/hard_corner, +/area/shuttle/mercenary) +"fW" = ( +/obj/structure/bed/chair, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fX" = ( +/obj/structure/bed/chair, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fY" = ( +/obj/structure/bed/chair, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"fZ" = ( +/obj/structure/closet/syndicate, +/obj/item/clothing/mask/gas/wwii, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/item/clothing/head/helmet, +/obj/item/clothing/shoes/boots/jackboots, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/under/syndicate, +/obj/item/clothing/gloves/black, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"ga" = ( +/obj/structure/closet/syndicate, +/obj/item/clothing/mask/gas/wwii, +/obj/item/clothing/head/helmet, +/obj/item/clothing/shoes/boots/jackboots, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/under/syndicate, +/obj/item/clothing/gloves/black, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gb" = ( +/obj/machinery/suit_cycler/syndicate{ + locked = 0 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/sign/department/telecoms, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"gd" = ( +/obj/structure/closet, +/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/item/weapon/reagent_containers/food/snacks/tastybread, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_yellow" + }, +/area/shuttle/mercenary) +"ge" = ( +/obj/structure/closet, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/obj/item/weapon/reagent_containers/food/snacks/liquidfood, +/turf/simulated/shuttle/floor{ + icon_state = "floor_yellow" + }, +/area/shuttle/mercenary) +"gf" = ( +/obj/structure/closet, +/turf/simulated/shuttle/floor{ + icon_state = "floor_yellow" + }, +/area/shuttle/mercenary) +"gg" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/structure/closet, +/turf/simulated/shuttle/floor{ + icon_state = "floor_yellow" + }, +/area/shuttle/mercenary) +"gh" = ( +/obj/machinery/computer/shuttle_control/multi/mercenary{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gi" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/item/clothing/glasses/goggles, +/obj/item/clothing/head/helmet/merc{ + armor = list("melee" = 70, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0); + desc = "A pilot's flight helmet. It's not very well armored, but it's very well padded, making it resistant to melee attacks."; + name = "pilot helmet" + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gj" = ( +/turf/simulated/shuttle/floor{ + icon_state = "floor_yellow" + }, +/area/shuttle/mercenary) +"gk" = ( +/obj/machinery/power/emitter/gyrotron/anchored{ + desc = "It is a heavy duty pulse laser emitter."; + dir = 8; + icon_state = "emitter-off"; + name = "pulse laser" + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/mercenary) +"gl" = ( +/obj/machinery/computer/security/nuclear{ + dir = 4; + icon_state = "computer" + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gm" = ( +/obj/machinery/door/airlock/multi_tile/metal{ + dir = 1; + req_one_access = list(150) + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"gn" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"go" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "syndieshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"gp" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/button/remote/blast_door{ + id = "smindicate"; + name = "ship lockdown control"; + pixel_x = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gq" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/machinery/vending/cola{ + name = "hacked Robust Softdrinks"; + prices = list() + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gr" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gs" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 0; + pixel_y = -32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gt" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gu" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gv" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 0; + pixel_y = -32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/structure/closet/syndicate, +/obj/item/clothing/mask/gas/wwii, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/item/clothing/head/helmet, +/obj/item/clothing/shoes/boots/jackboots, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/under/syndicate, +/obj/item/clothing/gloves/black, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gw" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/structure/table/rack, +/turf/simulated/shuttle/floor{ + icon_state = "floor_yellow" + }, +/area/shuttle/mercenary) +"gx" = ( +/obj/structure/frame/computer, +/turf/simulated/shuttle/floor{ + icon_state = "floor_yellow" + }, +/area/shuttle/mercenary) +"gy" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor{ + icon_state = "floor_yellow" + }, +/area/shuttle/mercenary) +"gz" = ( +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor{ + icon_state = "floor_yellow" + }, +/area/shuttle/mercenary) +"gA" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "propulsion_r"; + dir = 4 + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/mercenary) +"gB" = ( +/obj/machinery/vending/snack{ + name = "hacked Getmore Chocolate Corp"; + prices = list() + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gC" = ( +/obj/machinery/washing_machine, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gD" = ( +/obj/machinery/washing_machine, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gE" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/hos, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gF" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/hos, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gG" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/hos, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gH" = ( +/obj/structure/sign/department/armory, +/turf/simulated/shuttle/wall/dark, +/area/shuttle/mercenary) +"gI" = ( +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"gJ" = ( +/obj/machinery/recharger/wallcharger{ + pixel_x = 5; + pixel_y = 32 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"gK" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/structure/table/reinforced, +/obj/item/device/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/device/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/device/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/device/assembly/signaler{ + pixel_y = 2 + }, +/obj/item/device/assembly/signaler{ + pixel_y = 2 + }, +/obj/item/device/assembly/signaler{ + pixel_y = 2 + }, +/obj/item/clothing/gloves/yellow, +/obj/item/clothing/gloves/yellow, +/obj/item/clothing/gloves/yellow, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"gL" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"gM" = ( +/obj/machinery/door/airlock/silver{ + name = "Toilet" + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"gN" = ( +/obj/structure/mirror{ + pixel_x = 0; + pixel_y = 28 + }, +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 11; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"gO" = ( +/obj/machinery/door/airlock/centcom{ + name = "Equipment Storage"; + req_one_access = list(150) + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"gP" = ( +/obj/structure/table/rack, +/obj/item/weapon/paper{ + info = "Remember to stock the armory before leaving.\[br]-Mike"; + name = "reminder" + }, +/obj/effect/floor_decal/industrial/outline/grey, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"gQ" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/industrial/outline/grey, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"gR" = ( +/obj/item/weapon/tool/screwdriver, +/obj/effect/spawner/newbomb/timer/syndicate, +/obj/structure/table/reinforced, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"gS" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = -32; + pixel_y = 0; + subspace_transmission = 1; + syndie = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible{ + icon_state = "intact"; + dir = 6 + }, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 8 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"gT" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"gU" = ( +/obj/machinery/door/airlock/silver{ + name = "Restroom" + }, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"gV" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning/corner, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gW" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 10 + }, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"gX" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"gY" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"gZ" = ( +/obj/structure/closet/secure_closet/medical_wall{ + pixel_x = 0; + pixel_y = -32; + req_access = list(150) + }, +/obj/item/stack/medical/splint, +/obj/item/stack/medical/ointment, +/obj/item/stack/medical/ointment, +/obj/item/stack/medical/bruise_pack, +/obj/item/stack/medical/bruise_pack, +/obj/item/stack/medical/bruise_pack, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/firstaid/combat, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/device/defib_kit/compact/combat/loaded, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"ha" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 0; + pixel_y = -32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"hb" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"hc" = ( +/obj/item/weapon/storage/box/frags, +/obj/structure/table/reinforced, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"hd" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 4; + start_pressure = 740.5 + }, +/obj/machinery/door/window, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"he" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 9 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/mercenary) +"hf" = ( +/obj/machinery/shower{ + dir = 8; + icon_state = "shower"; + pixel_x = -5; + pixel_y = 0 + }, +/obj/structure/curtain/open/shower, +/turf/simulated/shuttle/floor{ + icon_state = "floor_white" + }, +/area/shuttle/mercenary) +"hg" = ( +/obj/machinery/embedded_controller/radio/airlock/phoron{ + id_tag = "merc_south_airlock"; + pixel_x = 0; + pixel_y = 0 + }, +/turf/simulated/shuttle/wall/dark, +/area/shuttle/mercenary) +"hh" = ( +/obj/machinery/access_button/airlock_exterior{ + command = "cycle_interior"; + master_tag = "merc_south_airlock"; + pixel_x = -25; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/door/airlock/glass_external/public{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "merc_south_airlock_inner"; + locked = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"hi" = ( +/obj/machinery/door/airlock/glass_external/public{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "merc_south_airlock_inner"; + locked = 1 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"hj" = ( +/obj/item/device/aicard, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/structure/table/reinforced, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"hk" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 4; + frequency = 1379; + id_tag = "merc_south_airlock_pump" + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"hl" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"hm" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + frequency = 1379; + id_tag = "merc_south_airlock_pump" + }, +/obj/structure/grille, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"hn" = ( +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ + frequency = 1379; + scrub_id = "merc_south_airlock_scrubber" + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"ho" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 2 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "syndieshutters_workshop"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"hp" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/storage/belt/utility/full, +/obj/item/device/multitool, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"hq" = ( +/obj/machinery/airlock_sensor/phoron{ + id_tag = "civ_airlock_sensor"; + pixel_x = 8; + pixel_y = -25 + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 4; + frequency = 1379; + id_tag = "merc_south_airlock_pump" + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_red" + }, +/area/shuttle/mercenary) +"hr" = ( +/obj/machinery/atmospherics/pipe/manifold/visible, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"hs" = ( +/obj/machinery/button/remote/blast_door{ + id = "syndieshutters_workshop"; + name = "remote shutter control"; + pixel_x = 0; + pixel_y = -25 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_black" + }, +/area/shuttle/mercenary) +"ht" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id = "smindicate"; + name = "Outer Airlock"; + opacity = 0 + }, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id = "smindicate"; + name = "Outer Airlock"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"hu" = ( +/obj/machinery/access_button/airlock_exterior{ + master_tag = "merc_south_airlock"; + pixel_x = -25; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/floor_decal/industrial/danger, +/obj/machinery/door/airlock/glass_external/public{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "merc_south_airlock_outer"; + locked = 1 + }, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id = "smindicate"; + name = "Outer Airlock"; + opacity = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"hv" = ( +/obj/effect/floor_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/floor_decal/industrial/danger, +/obj/machinery/door/airlock/glass_external/public{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "merc_south_airlock_outer"; + locked = 1 + }, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id = "smindicate"; + name = "Outer Airlock"; + opacity = 0 + }, +/turf/simulated/shuttle/floor{ + icon_state = "floor_dred" + }, +/area/shuttle/mercenary) +"hw" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "syndieshutters_workshop"; + name = "Blast Shutters"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/shuttle/mercenary) +"hx" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 4 + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/mercenary) +"hy" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "propulsion_l"; + dir = 4 + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/mercenary) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +ak +aq +aq +aK +aq +aq +bd +bd +bt +bD +aq +bV +aq +cp +ab +aq +cM +ab +aq +df +ab +cW +df +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +al +aq +aw +ab +aO +aq +be +bn +bu +bE +aq +bW +aq +cq +ab +aq +cN +ab +cW +cN +ab +aq +cN +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +am +aq +ax +ab +aP +aq +bf +bo +bv +bF +aq +bW +aq +cr +ab +cA +cO +ab +cA +cO +ab +cA +cO +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +an +aq +ay +ab +aQ +ba +bg +bg +bw +bG +aq +bV +aq +cs +ab +bp +aq +cS +aq +aq +dk +aq +bx +ab +aa +aa +aa +aa +aa +aa +aa +el +gk +el +aa +fR +fM +fM +go +aa +el +gk +el +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +ao +aq +az +ab +aR +bb +aq +aq +aq +aq +aq +aq +aq +ct +ab +cB +aq +aq +cX +aq +aq +aq +dL +ab +aa +aa +aa +aa +aa +aa +el +el +el +el +fM +fS +gh +gl +fS +fM +el +el +el +el +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ab +ap +as +aA +ab +aS +aq +aq +aq +aq +bH +bS +bX +ck +aS +ab +cC +cP +aq +cY +br +br +dD +dM +ab +aa +aa +aa +aa +aa +el +el +el +el +el +fN +fT +gi +gi +gp +fN +el +gL +el +el +el +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +ab +ac +ah +ab +ab +ab +ab +ab +ab +ab +ab +bp +bx +ab +ab +ab +ab +ab +ab +ab +ab +cT +cZ +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +el +eI +eX +fr +el +fO +fu +fu +fu +fu +fO +el +gM +eL +hd +el +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +ab +ad +ah +aj +aq +ab +aB +aL +aT +ab +bh +bq +by +bI +ab +bY +cl +cu +cx +cD +ab +bp +da +ab +dl +dm +dN +ab +aa +aa +aa +aa +aa +el +eJ +eY +fs +el +fP +fU +fu +fu +gq +gB +el +eG +gS +he +el +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ab +aq +ab +aC +aL +aU +ab +bi +aq +bz +bJ +ab +bZ +aq +aq +aq +cE +ab +cB +db +dg +dm +dm +dO +ab +aa +aa +aa +aa +el +el +eK +eZ +ft +el +el +fV +fu +gm +eL +el +el +gN +gT +hf +el +el +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +ab +ac +ah +ab +aq +ab +aD +aL +aV +ab +bi +aq +bA +ab +ab +ca +aq +aq +aq +cF +cQ +cB +aq +ab +ab +dE +ab +ab +aa +aa +aa +el +el +el +eL +fa +eL +el +el +fW +fu +fu +gr +el +el +eL +gU +eL +el +el +el +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +ab +ad +ah +aj +aq +ab +aC +aL +aU +ab +bj +aq +bB +bK +aq +aq +aq +aq +aq +cG +cQ +cB +bx +ab +dn +dm +dP +ab +aa +aa +aa +el +es +eD +eM +ew +fg +fB +el +fX +fu +fu +gs +el +fB +fg +ew +hg +hk +hq +el +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ab +ar +ab +aE +aL +aW +ab +bi +aq +bC +ab +ab +cb +aq +aq +aq +cH +cQ +cB +dc +ab +ab +ab +ab +ab +ab +ab +ab +em +et +eE +eN +fb +fh +fC +ff +fX +fu +fu +gt +ff +fC +fh +gV +ff +ew +ew +ht +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +ab +ae +ah +ab +aq +ab +ab +ab +aX +ab +bi +aq +by +bL +ab +cc +aq +aq +aq +cI +ab +cB +by +dh +dh +dh +dh +dX +ej +dh +ej +en +eu +ev +eO +fc +fu +fu +fQ +fu +fu +fu +fu +fQ +fu +fu +gW +hh +hl +hr +hu +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +ab +af +ah +aj +aq +aq +aq +aq +aq +ab +bk +br +br +bM +ab +cd +cm +aq +cy +cJ +ab +cB +bz +br +br +br +br +br +ek +br +ek +eo +ev +ev +eP +fc +fu +fu +fu +fu +fu +fu +fu +fu +fu +fu +gX +hi +ev +ev +hv +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aY +ab +ab +ab +ab +ab +ab +ce +ce +cv +ab +ab +ab +cB +dc +ab +ab +ab +ab +ab +ab +ab +ab +em +ew +ew +eQ +fd +fu +fC +ff +fX +fu +fu +gt +ff +gC +fu +gY +ff +hm +hm +ht +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +ab +ag +ag +ag +ag +ab +aF +aM +aM +bc +bl +bs +ab +bN +bT +cf +cn +ah +cz +cK +cR +bq +dd +ab +do +dF +dQ +ab +aa +aa +aa +ep +ex +ex +el +fe +fu +fD +el +fY +fu +fu +gu +el +gD +fu +gZ +el +hn +hn +el +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +ab +ag +ai +ag +ag +at +aG +aM +aM +aM +aM +aM +ab +bO +ah +ah +ah +ah +aq +aq +aq +aq +db +cZ +dp +dp +dR +ab +aa +aa +aa +eq +el +el +el +ff +fv +ff +el +ff +fu +gn +ff +el +ff +fv +ff +el +el +el +el +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +ab +ag +ag +ag +ag +au +aH +aM +aM +aM +aM +aM +aY +ah +ah +ah +fq +fq +fA +aq +aq +aq +aq +di +dp +dp +dS +ab +aa +aa +aa +aa +el +el +eL +fg +fu +fE +el +fZ +fu +fu +gv +el +gE +fu +ha +eL +el +el +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +ab +ag +ag +ai +ag +av +aI +aM +aM +aM +aM +aM +ab +ah +ah +cg +fq +fq +fA +aq +aq +aq +bx +ab +dq +dp +dT +ab +aa +aa +aa +aa +aa +er +eR +fh +fu +eT +ff +ga +fu +fu +ga +ff +gF +fu +fh +gF +ho +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +ab +ag +ag +ag +ag +ab +aJ +aN +aZ +aN +bm +aJ +ab +bP +bU +ch +co +ah +aq +aq +aq +aq +dd +ab +dr +dG +dU +ab +aa +aa +aa +aa +aa +er +eS +fi +fu +fu +fv +fu +fu +fu +fu +fv +fu +fu +fh +gF +ho +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +bQ +bU +ci +co +ah +br +br +br +cU +dc +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +er +eT +fh +fu +eR +ff +ga +fu +fu +ga +ff +gF +fu +fh +gF +ho +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +bR +ah +cj +ah +cw +ab +cL +ab +cB +dc +ab +ds +dH +dV +dY +ab +aa +aa +aa +el +el +eU +fh +fu +eS +el +ga +fu +fu +ga +el +gF +fu +fh +el +el +el +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +cB +dc +ab +ds +dI +dV +dY +ab +aa +aa +el +el +el +eV +fj +fu +fF +el +gb +fu +fu +gb +el +gG +fu +fj +el +el +el +el +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +cB +dc +ab +dt +dJ +aq +dZ +ab +aa +aa +el +el +el +eL +fk +fv +fG +el +gc +fu +gn +ff +el +gH +gO +el +el +el +el +el +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +cB +dc +ab +du +du +du +du +ab +aa +aa +el +ey +eF +eG +fl +eG +fH +el +gd +gj +gj +gw +el +gI +gI +hb +gI +gI +hs +el +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +cB +dc +cZ +dv +dp +dp +ea +ab +aa +aa +er +ez +eG +eG +eG +eG +fI +el +ge +gj +gj +gx +el +gJ +gP +gQ +gQ +gQ +gI +hw +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +bp +dc +cZ +dw +dp +dp +eb +ab +aa +aa +er +eA +eG +eG +fm +fw +fJ +el +gf +gj +gj +gy +el +gJ +gQ +gQ +gQ +gQ +gI +hw +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +cB +dc +ab +dx +dp +dp +ec +ab +aa +aa +er +eB +eG +eG +fn +fx +fK +el +gg +gj +gj +gz +el +gI +gI +gI +gI +gI +gI +hw +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +cB +dc +dj +dp +dp +dp +ed +ab +aa +aa +el +eC +eH +eW +fo +fy +fL +el +el +el +el +el +el +gK +gR +hc +hj +hp +hp +el +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +cB +dc +ab +dy +dp +dp +ee +ab +aa +aa +el +el +el +el +fp +el +el +eL +fz +fz +fz +fz +eL +el +el +el +el +el +el +el +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +cB +dc +cZ +dz +dp +dp +ef +ab +aa +aa +el +el +el +el +el +el +eL +fz +gA +hx +hx +hy +fz +eL +el +el +el +el +el +el +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +cB +dc +cZ +dA +dp +dp +eg +ab +aa +aa +aa +el +el +el +el +eL +fz +gA +aa +aa +aa +aa +hy +fz +eL +el +el +el +el +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aq +dc +ab +dB +dp +dp +eh +ab +aa +aa +aa +aa +el +el +el +fz +gA +aa +aa +aa +aa +aa +aa +hy +fz +el +el +el +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +cV +de +ab +dC +dK +dW +ei +ab +aa +aa +aa +aa +aa +el +eL +gA +aa +aa +aa +aa +aa +aa +aa +aa +hy +eL +el +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/admin_use/skipjack.dmm b/maps/tether/submaps/admin_use/skipjack.dmm new file mode 100644 index 0000000000..2c252f6ad8 --- /dev/null +++ b/maps/tether/submaps/admin_use/skipjack.dmm @@ -0,0 +1,3159 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/unsimulated/wall, +/area/skipjack_station) +"ac" = ( +/obj/structure/table/standard, +/obj/random/projectile, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"ad" = ( +/obj/structure/table/standard, +/obj/item/device/paicard, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"ae" = ( +/obj/effect/decal/cleanable/cobweb2{ + icon_state = "cobweb1" + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"af" = ( +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"ag" = ( +/turf/simulated/mineral, +/area/skipjack_station) +"ah" = ( +/obj/structure/inflatable, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"ai" = ( +/obj/item/weapon/ore, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"aj" = ( +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"ak" = ( +/obj/structure/inflatable, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"al" = ( +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"am" = ( +/obj/machinery/door/airlock/hatch{ + req_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"an" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/box/glasses/square{ + pixel_x = 1; + pixel_y = 4 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"ao" = ( +/obj/item/weapon/tray{ + pixel_y = 5 + }, +/obj/structure/table/standard, +/obj/item/weapon/material/knife/butch, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"ap" = ( +/obj/effect/decal/cleanable/cobweb2{ + icon_state = "spiderling"; + name = "dead spider" + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aq" = ( +/obj/structure/table/standard, +/obj/machinery/chemical_dispenser/bar_soft/full, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"ar" = ( +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"as" = ( +/obj/item/weapon/ore, +/obj/structure/reagent_dispensers/beerkeg, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"at" = ( +/obj/machinery/microwave{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/structure/table/standard, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"au" = ( +/obj/item/weapon/ore, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"av" = ( +/obj/structure/urinal{ + pixel_y = 32 + }, +/obj/item/weapon/soap/syndie, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/skipjack_station) +"aw" = ( +/obj/structure/undies_wardrobe, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/skipjack_station) +"ax" = ( +/obj/structure/toilet, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/skipjack_station) +"ay" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/space/vox/carapace, +/obj/item/clothing/suit/space/vox/carapace, +/obj/item/clothing/head/helmet/space/vox/carapace, +/obj/item/clothing/head/helmet/space/vox/carapace, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"az" = ( +/obj/item/weapon/gun/energy/sonic, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aA" = ( +/obj/structure/closet/crate, +/obj/item/clothing/under/vox/vox_casual, +/obj/item/clothing/under/vox/vox_casual, +/obj/item/clothing/under/vox/vox_casual, +/obj/item/clothing/under/vox/vox_robes, +/obj/item/clothing/under/vox/vox_robes, +/obj/item/clothing/under/vox/vox_robes, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aB" = ( +/obj/structure/closet/crate, +/obj/item/clothing/accessory/storage/vox, +/obj/item/clothing/accessory/storage/vox, +/obj/item/clothing/accessory/storage/vox, +/obj/item/clothing/accessory/storage/vox, +/obj/item/clothing/accessory/storage/vox, +/obj/item/clothing/accessory/storage/vox, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aC" = ( +/obj/structure/closet/crate, +/obj/item/clothing/gloves/vox, +/obj/item/clothing/gloves/vox, +/obj/item/clothing/gloves/vox, +/obj/item/clothing/gloves/vox, +/obj/item/clothing/gloves/vox, +/obj/item/clothing/gloves/vox, +/obj/item/clothing/shoes/magboots/vox, +/obj/item/clothing/shoes/magboots/vox, +/obj/item/clothing/shoes/magboots/vox, +/obj/item/clothing/shoes/magboots/vox, +/obj/item/clothing/shoes/magboots/vox, +/obj/item/clothing/shoes/magboots/vox, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aD" = ( +/obj/item/weapon/gun/launcher/spikethrower, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aE" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/space/vox/stealth, +/obj/item/clothing/suit/space/vox/stealth, +/obj/item/clothing/head/helmet/space/vox/stealth, +/obj/item/clothing/head/helmet/space/vox/stealth, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aF" = ( +/obj/machinery/door/airlock/hatch{ + req_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"aG" = ( +/obj/structure/closet/secure_closet/freezer/kitchen, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"aH" = ( +/obj/structure/mirror/raider{ + pixel_x = -32 + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/skipjack_station) +"aI" = ( +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/skipjack_station) +"aJ" = ( +/obj/effect/decal/cleanable/blood, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/skipjack_station) +"aK" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/space/vox/medic, +/obj/item/clothing/suit/space/vox/medic, +/obj/item/clothing/head/helmet/space/vox/medic, +/obj/item/clothing/head/helmet/space/vox/medic, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aL" = ( +/obj/item/clothing/glasses/night/vox, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aM" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/energy/darkmatter, +/obj/item/weapon/gun/energy/darkmatter, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aN" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/orange, +/turf/unsimulated/floor{ + icon = 'icons/turf/flooring/wood.dmi'; + icon_state = "wood_broken1" + }, +/area/skipjack_station) +"aO" = ( +/obj/structure/table/standard, +/turf/unsimulated/floor{ + icon_state = "wood" + }, +/area/skipjack_station) +"aP" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/brown, +/turf/unsimulated/floor{ + icon_state = "wood" + }, +/area/skipjack_station) +"aQ" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/green, +/turf/unsimulated/floor{ + icon_state = "wood" + }, +/area/skipjack_station) +"aR" = ( +/obj/structure/table/standard, +/obj/effect/decal/cleanable/cobweb2, +/turf/unsimulated/floor{ + icon_state = "wood" + }, +/area/skipjack_station) +"aS" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"aT" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/mirror{ + dir = 4; + pixel_x = -28; + pixel_y = 0 + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/skipjack_station) +"aU" = ( +/obj/machinery/shower{ + dir = 1 + }, +/turf/unsimulated/floor{ + icon_state = "freezerfloor"; + dir = 2 + }, +/area/skipjack_station) +"aV" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/space/vox/pressure, +/obj/item/clothing/suit/space/vox/pressure, +/obj/item/clothing/head/helmet/space/vox/pressure, +/obj/item/clothing/head/helmet/space/vox/pressure, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aW" = ( +/obj/item/weapon/gun/energy/plasmastun, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aX" = ( +/obj/item/weapon/gun/launcher/crossbow, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aY" = ( +/obj/fiftyspawner/rods, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"aZ" = ( +/obj/item/clothing/mask/gas/swat/vox, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"ba" = ( +/obj/structure/table/rack, +/obj/item/clothing/mask/gas/swat/vox, +/obj/item/clothing/mask/gas/swat/vox, +/obj/item/clothing/mask/gas/swat/vox, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"bb" = ( +/obj/effect/landmark/late_antag/raider, +/turf/unsimulated/floor{ + icon_state = "wood" + }, +/area/skipjack_station) +"bc" = ( +/turf/unsimulated/floor{ + icon_state = "wood" + }, +/area/skipjack_station) +"bd" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/skipjack_station) +"be" = ( +/obj/effect/decal/cleanable/blood, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"bf" = ( +/obj/machinery/gibber, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"bg" = ( +/obj/structure/kitchenspike, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/skipjack_station) +"bh" = ( +/turf/unsimulated/wall{ + desc = "That looks like it doesn't open easily."; + icon = 'icons/obj/doors/rapid_pdoor.dmi'; + icon_state = "pdoor1"; + name = "Shuttle Bay Blast Door" + }, +/area/skipjack_station) +"bi" = ( +/turf/unsimulated/floor{ + icon = 'icons/turf/flooring/wood.dmi'; + icon_state = "wood_broken3" + }, +/area/skipjack_station) +"bj" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/skipjack_station) +"bk" = ( +/obj/machinery/door/airlock/hatch{ + req_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "steel_dirty" + }, +/area/skipjack_station) +"bl" = ( +/turf/unsimulated/floor{ + icon_state = "steel_dirty" + }, +/area/skipjack_station) +"bm" = ( +/obj/item/xenos_claw, +/obj/item/organ/internal/brain/vox, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"bn" = ( +/obj/item/weapon/ore, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "asteroid_dug" + }, +/area/skipjack_station) +"bo" = ( +/obj/effect/landmark/late_antag/raider, +/turf/unsimulated/floor{ + icon = 'icons/turf/flooring/wood.dmi'; + icon_state = "wood_broken3" + }, +/area/skipjack_station) +"bp" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/turf/unsimulated/floor{ + dir = 2; + icon_state = "carpet" + }, +/area/skipjack_station) +"bq" = ( +/obj/machinery/door/airlock/hatch{ + req_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"br" = ( +/obj/structure/table/rack, +/obj/item/clothing/glasses/thermal/plain/monocle, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bs" = ( +/obj/structure/table/rack, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bt" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/launcher/spikethrower, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bu" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/blue, +/turf/unsimulated/floor{ + icon_state = "wood" + }, +/area/skipjack_station) +"bv" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/orange, +/turf/unsimulated/floor{ + icon_state = "wood" + }, +/area/skipjack_station) +"bw" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/hop, +/turf/unsimulated/floor{ + icon_state = "wood" + }, +/area/skipjack_station) +"bx" = ( +/obj/item/weapon/ore, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"by" = ( +/obj/item/clothing/head/xenos, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bz" = ( +/obj/effect/wingrille_spawn/reinforced, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/skipjack_station) +"bA" = ( +/obj/machinery/door/airlock/hatch{ + req_access = list(150) + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bB" = ( +/obj/item/weapon/storage/box, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bC" = ( +/obj/item/clothing/mask/gas/swat{ + desc = "A close-fitting mask clearly not made for a human face."; + name = "\improper alien mask" + }, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bD" = ( +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bE" = ( +/obj/effect/decal/cleanable/cobweb2, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bF" = ( +/obj/machinery/suit_cycler/syndicate{ + locked = 0 + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"bG" = ( +/obj/effect/decal/cleanable/cobweb2{ + icon_state = "spiderling"; + name = "dead spider" + }, +/turf/unsimulated/floor{ + icon_state = "steel_dirty" + }, +/area/skipjack_station) +"bH" = ( +/obj/structure/table/rack, +/obj/item/weapon/tank/vox, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bI" = ( +/obj/item/pizzabox/meat, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bJ" = ( +/obj/structure/bed/chair, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bK" = ( +/obj/item/weapon/tank/vox, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bL" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bM" = ( +/obj/structure/table/steel, +/obj/item/device/pda/syndicate, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bN" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bO" = ( +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/item/weapon/tank/vox, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bP" = ( +/obj/item/clothing/head/philosopher_wig, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bQ" = ( +/obj/structure/table/steel, +/obj/item/device/radio/uplink, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bR" = ( +/obj/item/weapon/gun/launcher/pneumatic, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bS" = ( +/obj/item/weapon/storage/box/syndie_kit/spy, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bT" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/unsimulated/floor{ + name = "plating"; + icon_state = "cult" + }, +/area/skipjack_station) +"bU" = ( +/obj/structure/ore_box, +/turf/unsimulated/floor{ + icon_state = "asteroid" + }, +/area/skipjack_station) +"bV" = ( +/obj/structure/lattice, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/template_noop, +/area/template_noop) +"bW" = ( +/obj/machinery/door/airlock/external{ + req_access = list(150) + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"bX" = ( +/obj/structure/lattice, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"bY" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"bZ" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/skipjack_station) +"ca" = ( +/turf/simulated/wall/skipjack, +/area/shuttle/skipjack) +"cb" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1331; + master_tag = "vox_west_control"; + req_one_access = list(150) + }, +/turf/simulated/wall/skipjack, +/area/shuttle/skipjack) +"cc" = ( +/obj/machinery/door/airlock/hatch{ + frequency = 1331; + icon_state = "door_closed"; + id_tag = "vox_northwest_lock"; + locked = 0; + req_access = list(150) + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cd" = ( +/obj/machinery/door/airlock/hatch{ + frequency = 1331; + icon_state = "door_closed"; + id_tag = "vox_northeast_lock"; + locked = 0; + req_access = list(150) + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"ce" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1331; + master_tag = "vox_east_control"; + req_access = list(150) + }, +/turf/simulated/wall/skipjack, +/area/shuttle/skipjack) +"cf" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + frequency = 1331; + id_tag = "vox_west_vent" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cg" = ( +/obj/machinery/airlock_sensor{ + frequency = 1331; + id_tag = "vox_west_sensor"; + pixel_x = 25 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"ch" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"ci" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cj" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"ck" = ( +/obj/machinery/airlock_sensor{ + frequency = 1331; + id_tag = "vox_east_sensor"; + pixel_x = -25 + }, +/obj/effect/shuttle_landmark/shuttle_initializer{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = null; + landmark_tag = "skipjack_base"; + name = "The Hideaway"; + shuttle_type = /datum/shuttle/autodock/multi/heist + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cl" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + frequency = 1331; + id_tag = "vox_east_vent" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cm" = ( +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 8 + }, +/obj/machinery/meter, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cn" = ( +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + tag_airpump = "vox_west_vent"; + tag_exterior_door = "vox_northwest_lock"; + frequency = 1331; + id_tag = "vox_west_control"; + tag_interior_door = "vox_southwest_lock"; + pixel_x = 24; + req_access = list(150); + tag_chamber_sensor = "vox_west_sensor" + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + frequency = 1331; + id_tag = "vox_west_vent" + }, +/obj/machinery/light/small, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"co" = ( +/obj/machinery/computer/station_alert, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cp" = ( +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cq" = ( +/obj/machinery/computer/shuttle_control/multi/skipjack, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cr" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/head/pirate, +/obj/item/clothing/glasses/thermal/plain/monocle, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cs" = ( +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + frequency = 1331; + id_tag = "skipjack_shuttle"; + pixel_x = -24; + req_access = list(150); + tag_airpump = "vox_east_vent"; + tag_chamber_sensor = "vox_east_sensor"; + tag_exterior_door = "vox_northeast_lock"; + tag_interior_door = "vox_southeast_lock" + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 4; + frequency = 1331; + id_tag = "vox_east_vent" + }, +/obj/machinery/light/small, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"ct" = ( +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cu" = ( +/obj/machinery/door/airlock/hatch{ + frequency = 1331; + icon_state = "door_closed"; + id_tag = "vox_southwest_lock"; + locked = 0; + req_access = list(150) + }, +/obj/machinery/atmospherics/pipe/simple/visible, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cv" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cw" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cx" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cy" = ( +/obj/machinery/button/remote/blast_door{ + id = "skipjackshutters"; + name = "remote shutter control"; + req_access = list(150) + }, +/turf/simulated/wall/skipjack, +/area/shuttle/skipjack) +"cz" = ( +/obj/machinery/door/airlock/hatch{ + frequency = 1331; + icon_state = "door_closed"; + id_tag = "vox_southeast_lock"; + locked = 0; + req_access = list(150) + }, +/obj/machinery/atmospherics/pipe/simple/visible, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cA" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1331; + master_tag = "vox_west_control"; + pixel_x = -22; + req_one_access = list(150) + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cB" = ( +/obj/structure/table/rack, +/obj/item/weapon/material/harpoon, +/obj/item/weapon/tank/oxygen, +/obj/item/weapon/tank/oxygen, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/shoes/magboots, +/obj/random/rigsuit, +/obj/random/multiple/voidsuit, +/obj/random/multiple/voidsuit, +/obj/random/energy, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cC" = ( +/obj/structure/table/rack, +/obj/random/rigsuit, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cD" = ( +/obj/structure/table/rack, +/obj/item/weapon/tank/oxygen, +/obj/item/weapon/tank/oxygen, +/obj/random/multiple/voidsuit, +/obj/random/multiple/voidsuit, +/obj/random/energy, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cE" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1331; + master_tag = "vox_east_control"; + pixel_x = 22; + req_access = list(150) + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cF" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cG" = ( +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cH" = ( +/obj/machinery/microwave{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/structure/table/steel, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cI" = ( +/obj/item/seeds/potatoseed, +/obj/item/seeds/potatoseed, +/obj/item/seeds/ambrosiavulgarisseed, +/obj/item/weapon/material/minihoe, +/obj/item/weapon/beartrap, +/obj/structure/table/steel, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cJ" = ( +/obj/machinery/vending/hydroseeds, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cK" = ( +/obj/structure/table/rack, +/obj/item/weapon/melee/energy/sword/pirate, +/obj/item/clothing/suit/space/pirate, +/obj/item/clothing/suit/space/pirate, +/obj/item/weapon/tank/oxygen, +/obj/item/weapon/pinpointer/shuttle/heist, +/obj/item/weapon/pinpointer/shuttle/heist, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cL" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/belt/utility/full, +/obj/item/weapon/storage/belt/utility/full, +/obj/item/device/multitool, +/obj/item/device/multitool, +/obj/item/clothing/shoes/magboots, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cM" = ( +/obj/machinery/washing_machine, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cN" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/fancy/cigarettes, +/obj/item/weapon/flame/lighter/zippo, +/obj/item/clothing/gloves/yellow, +/obj/item/stack/material/steel{ + amount = 50 + }, +/obj/item/stack/material/glass{ + amount = 50 + }, +/obj/item/weapon/card/emag, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cO" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cP" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cQ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cS" = ( +/obj/machinery/door/airlock/hatch{ + req_access = list(150) + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"cT" = ( +/obj/structure/table/rack, +/obj/item/clothing/mask/breath, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/random/multiple/voidsuit, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cU" = ( +/obj/item/robot_parts/head, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cV" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cW" = ( +/obj/item/robot_parts/l_leg, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cX" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cY" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/portable_atmospherics/hydroponics, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"cZ" = ( +/obj/machinery/floodlight, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"da" = ( +/obj/item/device/suit_cooling_unit, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"db" = ( +/obj/structure/table/rack, +/obj/item/weapon/gun/launcher/crossbow, +/obj/item/stack/rods{ + amount = 10 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/item/weapon/beartrap, +/obj/item/weapon/beartrap, +/obj/item/weapon/beartrap, +/obj/item/weapon/beartrap, +/obj/item/weapon/beartrap, +/obj/item/weapon/beartrap, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dc" = ( +/obj/structure/table/rack, +/obj/item/weapon/grenade/empgrenade, +/obj/item/weapon/grenade/flashbang, +/obj/item/weapon/grenade/spawnergrenade/manhacks, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dd" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"de" = ( +/obj/structure/table/steel, +/obj/machinery/recharger, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"df" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dg" = ( +/obj/item/robot_parts/robot_suit, +/obj/item/robot_parts/r_leg, +/obj/item/robot_parts/r_arm, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dh" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"di" = ( +/obj/machinery/door/airlock/hatch{ + req_access = list(150) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/skipjack) +"dj" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dk" = ( +/obj/structure/table/steel, +/obj/item/clothing/glasses/regular, +/obj/item/clothing/glasses/regular, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dl" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dm" = ( +/obj/machinery/door/airlock/hatch{ + req_access = list(150) + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"dn" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"do" = ( +/obj/item/weapon/tool/wrench, +/obj/item/weapon/mop, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dp" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/item/weapon/tool/crowbar, +/obj/item/device/suit_cooling_unit, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dq" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 1; + start_pressure = 740 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dr" = ( +/obj/machinery/portable_atmospherics/hydroponics, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"ds" = ( +/turf/simulated/shuttle/floor/black, +/area/shuttle/skipjack) +"dt" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/skipjack) +"du" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dv" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dw" = ( +/obj/structure/table/steel, +/obj/item/weapon/deck/cards, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dx" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dy" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"dz" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/body_scanconsole, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"dA" = ( +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"dB" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dC" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/item/weapon/tank/nitrogen, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dD" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 1; + start_pressure = 740 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dE" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating/airless, +/area/shuttle/skipjack) +"dF" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dG" = ( +/obj/structure/table/steel, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dH" = ( +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 11; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"dI" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/skipjack) +"dJ" = ( +/obj/structure/table/standard, +/obj/item/weapon/handcuffs/legcuffs, +/turf/simulated/shuttle/floor/black, +/area/shuttle/skipjack) +"dK" = ( +/obj/structure/table/standard, +/obj/item/weapon/deck/cards, +/turf/simulated/shuttle/floor/black, +/area/shuttle/skipjack) +"dL" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + id = "skipjackshutters"; + name = "Skipjack Blast Shielding" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/skipjack) +"dM" = ( +/obj/machinery/light/small, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/skipjack) +"dN" = ( +/obj/structure/table/standard, +/obj/item/weapon/surgical/circular_saw{ + pixel_y = 8 + }, +/obj/item/weapon/surgical/hemostat, +/obj/item/weapon/surgical/scalpel, +/obj/item/stack/medical/advanced/bruise_pack, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"dO" = ( +/mob/living/simple_mob/animal/passive/tindalos, +/turf/simulated/shuttle/floor/black, +/area/shuttle/skipjack) +"dP" = ( +/obj/machinery/door/airlock/hatch{ + req_access = list(150) + }, +/turf/simulated/shuttle/floor/red, +/area/shuttle/skipjack) +"dQ" = ( +/obj/machinery/optable, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"dR" = ( +/obj/structure/table/standard, +/obj/item/weapon/surgical/cautery, +/obj/item/weapon/surgical/retractor, +/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/weapon/reagent_containers/glass/bottle/stoxin, +/obj/item/weapon/reagent_containers/syringe, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"dS" = ( +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 11; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/skipjack) +"dT" = ( +/obj/item/weapon/bedsheet/rainbow, +/obj/structure/bed/padded, +/turf/simulated/shuttle/floor/red, +/area/shuttle/skipjack) +"dU" = ( +/turf/simulated/shuttle/floor/red, +/area/shuttle/skipjack) +"dV" = ( +/obj/item/weapon/bedsheet/hos, +/obj/structure/bed/padded, +/turf/simulated/shuttle/floor/red, +/area/shuttle/skipjack) +"dW" = ( +/obj/structure/table/standard, +/obj/item/weapon/surgical/bonesetter, +/obj/item/weapon/surgical/bonegel, +/obj/item/weapon/surgical/FixOVein, +/obj/item/stack/nanopaste, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"dX" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/skipjack) +"dY" = ( +/obj/item/weapon/bedsheet/orange, +/obj/structure/bed/padded, +/turf/simulated/shuttle/floor/red, +/area/shuttle/skipjack) +"dZ" = ( +/obj/item/weapon/bedsheet/green, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/bed/padded, +/turf/simulated/shuttle/floor/red, +/area/shuttle/skipjack) +"ea" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/weapon/reagent_containers/syringe/antiviral, +/obj/item/weapon/storage/firstaid/clotting, +/obj/item/stack/medical/splint, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"eb" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/firstaid/adv{ + pixel_x = 1 + }, +/obj/item/weapon/storage/firstaid/toxin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/closet/secure_closet/medical_wall{ + pixel_x = 32; + pixel_y = 0; + req_access = list(150) + }, +/obj/item/weapon/storage/firstaid/fire{ + pixel_x = 1 + }, +/obj/item/weapon/storage/firstaid/o2{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/firstaid/regular, +/turf/simulated/shuttle/floor/white, +/area/shuttle/skipjack) +"ec" = ( +/obj/item/weapon/bedsheet/rd, +/obj/structure/bed/padded, +/turf/simulated/shuttle/floor/red, +/area/shuttle/skipjack) +"ed" = ( +/obj/item/pizzabox/meat, +/turf/simulated/shuttle/floor/red, +/area/shuttle/skipjack) +"ee" = ( +/obj/item/weapon/bedsheet/clown, +/obj/structure/bed/padded, +/turf/simulated/shuttle/floor/red, +/area/shuttle/skipjack) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ca +ca +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +bV +bV +bV +ca +ca +ca +ca +ca +ca +ca +cV +cX +dh +ca +ca +ca +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +af +af +bl +af +bW +bY +bW +cb +cf +cm +cu +cA +cF +cF +cF +cY +cY +dq +dE +dI +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +aN +bb +bc +bb +bu +ab +ae +af +af +af +bl +bW +bZ +bW +cc +cg +cn +ca +cB +cG +cG +cG +cG +cG +dr +dE +dI +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +aO +bc +bi +bc +aO +ab +af +af +af +ab +ab +bX +bX +bX +ca +ca +ca +ca +ca +cH +cG +cG +cZ +cG +dr +ca +ca +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +ab +ab +ah +ak +ab +ab +ab +aP +bb +bc +bb +bv +ab +af +af +af +bz +aa +aa +aa +aa +aa +aa +aa +aa +ca +cI +cG +cG +da +ca +ca +ca +ca +ca +ca +ca +ca +aa +aa +aa +"} +(8,1,1) = {" +aa +ab +ac +af +al +ap +af +ab +aO +bc +bc +bc +aO +ab +bl +af +af +bz +aa +aa +aa +aa +aa +aa +aa +aa +ca +cJ +cO +cG +cG +di +ds +ds +dJ +ds +ds +ca +ca +aa +aa +aa +"} +(9,1,1) = {" +aa +ab +ac +af +af +af +af +ab +aQ +bb +bc +bo +bw +ab +bl +bl +af +bz +aa +aa +aa +aa +aa +aa +ca +ca +ca +ca +ca +cS +ca +ca +dt +ds +dK +dO +ds +dX +ca +ca +aa +aa +"} +(10,1,1) = {" +aa +ab +ad +af +af +af +af +ab +aR +bd +bj +bp +aO +ab +ab +ab +bA +ab +ab +ab +aa +aa +ca +ca +ca +ca +cC +cK +cP +cp +db +ca +ds +ds +ds +ds +dS +ds +ca +ca +ca +aa +"} +(11,1,1) = {" +aa +ab +ab +ab +am +ab +ab +ab +ab +ab +bk +ab +ab +ab +bD +bD +bD +bD +bS +ab +aa +aa +aa +ch +co +cv +cp +cp +cQ +cp +dc +ca +du +dF +dL +ca +ca +ca +ca +dE +dI +aa +"} +(12,1,1) = {" +aa +ab +ae +af +af +af +af +af +af +af +af +af +bl +bz +bD +bD +bL +bL +bD +bz +aa +aa +aa +ci +cp +cp +cp +cp +cR +cp +cp +dj +dv +dv +dM +ca +dT +dY +ec +dE +dI +aa +"} +(13,1,1) = {" +aa +ab +af +af +af +af +af +af +af +af +af +af +af +bA +bD +bJ +bM +bQ +bT +bz +aa +aa +aa +ci +cq +cw +cp +cp +cS +cp +cp +dk +dw +dG +cp +dP +dU +dU +ed +dE +dI +aa +"} +(14,1,1) = {" +aa +ab +af +ai +af +af +af +af +af +af +af +af +af +bz +bD +bD +bN +bN +bD +bz +aa +aa +aa +ci +cp +cp +cp +cp +cP +cp +cp +dl +dx +dx +dM +ca +dV +dZ +ee +dE +dI +aa +"} +(15,1,1) = {" +aa +ab +ab +aj +ab +ab +ab +aF +ab +ab +ab +af +af +ab +bE +bD +bD +bD +bD +ab +aa +aa +aa +cj +cr +cx +cp +cp +cQ +cp +dd +ca +du +dF +dL +ca +ca +ca +ca +dE +dI +aa +"} +(16,1,1) = {" +aa +ab +ag +ag +an +aq +at +ar +ar +be +ab +af +af +ab +ab +ab +bA +ab +ab +ab +aa +aa +ca +ca +ca +cy +cC +cK +cR +cp +de +ca +dy +dA +dA +dQ +dA +ea +ca +ca +ca +aa +"} +(17,1,1) = {" +aa +aa +aa +ag +ao +ar +ar +ar +ar +bf +ab +af +af +ab +bF +af +af +bz +aa +aa +aa +aa +aa +aa +ca +ca +ca +ca +ca +cS +ca +ca +dz +dA +dA +dA +dA +eb +ca +ca +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +ag +ag +as +ar +ar +ar +bg +ab +af +af +ab +af +af +af +bz +aa +aa +aa +aa +aa +aa +aa +aa +ca +cL +cT +cG +cG +dm +dA +dH +dN +dR +dW +ca +ca +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +ag +ag +aj +aG +aS +ab +ab +af +af +ab +af +af +af +bz +aa +aa +aa +aa +aa +aa +aa +aa +ca +cM +cG +cG +df +ca +ca +ca +ca +ca +ca +ca +ca +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +ag +ag +ab +ab +ab +af +af +af +ab +af +af +af +ab +ab +bV +bV +bV +ca +ca +ca +ca +ca +cN +cG +cW +cG +dn +dB +ca +ca +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +ab +au +aH +aT +ab +af +af +af +ab +bG +bl +af +af +af +bW +bY +bW +cd +ck +cs +ca +cD +cG +cU +cG +dg +do +dC +dE +dI +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +ab +av +aI +aI +am +af +af +ab +ab +ab +bl +bl +af +af +bW +bZ +bW +ce +cl +ct +cz +cE +cF +cF +cF +cF +dp +dD +dE +dI +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +ab +aw +aI +aI +ab +af +af +ab +ag +ab +ab +ab +ab +ab +bX +bX +bX +ca +ca +ca +ca +ca +ca +ca +cV +cX +dh +ca +ca +ca +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +ab +ax +aJ +aU +ab +aj +af +ab +ag +ag +ag +ag +ag +ag +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ca +ca +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +bk +bq +ag +ag +ag +ag +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +ab +ay +aK +aV +ab +bl +bl +bx +ag +ag +ag +ag +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +ab +az +aj +aW +ab +bm +al +bl +bB +al +bK +ag +ag +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +ab +aA +aL +aX +bh +al +br +al +al +bH +al +bO +ag +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +ab +aB +aj +aY +bh +al +bs +al +al +bs +al +bP +ag +ag +ag +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +ab +aC +aj +aL +bh +bn +bt +al +al +bs +al +al +bR +ag +ag +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +ab +aD +aj +aZ +ab +al +al +by +bC +bI +al +ag +al +bU +ag +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +ab +aE +aM +ba +ab +ag +ag +ag +ag +ag +ag +ag +ag +ag +ag +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/admin_use/thunderdome.dmm b/maps/tether/submaps/admin_use/thunderdome.dmm new file mode 100644 index 0000000000..7d7a19345a --- /dev/null +++ b/maps/tether/submaps/admin_use/thunderdome.dmm @@ -0,0 +1,554 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/unsimulated/wall, +/area/tdome/tdomeadmin) +"c" = ( +/obj/structure/bed/chair, +/obj/effect/landmark{ + name = "tdomeobserve" + }, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/tdome/tdomeobserve) +"d" = ( +/obj/effect/landmark{ + name = "tdomeobserve" + }, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/tdome/tdomeobserve) +"e" = ( +/obj/structure/table/rack, +/obj/item/clothing/under/color/red, +/obj/item/clothing/shoes/brown, +/obj/item/weapon/melee/energy/axe, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"f" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/obj/effect/blocker, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/tdome/tdomeobserve) +"g" = ( +/obj/structure/table/rack, +/obj/item/clothing/under/color/green, +/obj/item/clothing/shoes/brown, +/obj/item/weapon/melee/energy/axe, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"h" = ( +/obj/machinery/door/blast/regular{ + id = "thunderdomeaxe"; + name = "Axe Supply" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"i" = ( +/obj/machinery/igniter, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/tdome) +"j" = ( +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/tdome) +"k" = ( +/obj/structure/table/rack, +/obj/item/clothing/under/color/red, +/obj/item/clothing/shoes/brown, +/obj/item/clothing/suit/armor/tdome/red, +/obj/item/clothing/head/helmet/thunderdome, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/energy/sword/red, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"l" = ( +/obj/machinery/door/blast/regular{ + id = "thunderdomegen"; + name = "General Supply" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"m" = ( +/obj/effect/landmark{ + name = "tdome2" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"n" = ( +/obj/machinery/door/blast/regular{ + id = "thunderdome"; + name = "Thunderdome Blast Door" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"o" = ( +/obj/effect/landmark{ + name = "tdome1" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"p" = ( +/obj/structure/table/rack, +/obj/item/clothing/under/color/green, +/obj/item/clothing/shoes/brown, +/obj/item/clothing/suit/armor/tdome/green, +/obj/item/clothing/head/helmet/thunderdome, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/energy/sword/green, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"q" = ( +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/effect/landmark{ + name = "tdome2" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"r" = ( +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/effect/landmark{ + name = "tdome1" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"s" = ( +/obj/effect/landmark{ + name = "tdome2" + }, +/obj/machinery/camera/network/thunder{ + invisibility = 101 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"t" = ( +/obj/machinery/flasher{ + id = "flash"; + name = "Thunderdome Flash" + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/tdome) +"u" = ( +/obj/effect/landmark{ + name = "tdome1" + }, +/obj/machinery/camera/network/thunder{ + invisibility = 101 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"v" = ( +/obj/effect/landmark{ + name = "tdome2" + }, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"w" = ( +/obj/machinery/camera/network/thunder{ + invisibility = 101 + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/tdome) +"x" = ( +/obj/effect/landmark{ + name = "tdome1" + }, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"y" = ( +/obj/machinery/door/blast/regular{ + id = "thunderdomehea"; + name = "Heavy Supply" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"z" = ( +/obj/structure/table/rack, +/obj/item/clothing/under/color/red, +/obj/item/clothing/shoes/brown, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/head/helmet/swat, +/obj/item/weapon/gun/energy/laser, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) +"A" = ( +/obj/structure/table/rack, +/obj/item/clothing/under/color/green, +/obj/item/clothing/shoes/brown, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/head/helmet/swat, +/obj/item/weapon/gun/energy/laser, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/tdome/tdome1) + +(1,1,1) = {" +a +a +b +b +b +b +b +b +b +b +a +a +"} +(2,1,1) = {" +a +a +b +k +k +k +k +k +k +b +a +a +"} +(3,1,1) = {" +b +b +b +l +l +l +l +l +l +b +b +b +"} +(4,1,1) = {" +b +e +h +m +q +s +v +q +m +y +z +b +"} +(5,1,1) = {" +b +e +h +m +m +m +m +m +m +y +z +b +"} +(6,1,1) = {" +b +b +b +n +n +n +n +n +n +b +b +b +"} +(7,1,1) = {" +c +f +i +j +j +j +j +j +j +i +b +a +"} +(8,1,1) = {" +c +f +j +j +j +j +j +j +j +j +b +a +"} +(9,1,1) = {" +c +f +j +j +j +j +j +j +j +j +b +a +"} +(10,1,1) = {" +c +f +j +j +j +j +j +j +j +j +b +a +"} +(11,1,1) = {" +c +f +j +j +j +t +w +j +j +j +b +a +"} +(12,1,1) = {" +d +f +j +j +j +j +j +j +j +j +b +a +"} +(13,1,1) = {" +c +f +j +j +j +j +j +j +j +j +b +a +"} +(14,1,1) = {" +c +f +j +j +j +j +j +j +j +j +b +a +"} +(15,1,1) = {" +c +f +i +j +j +j +j +j +j +i +b +a +"} +(16,1,1) = {" +b +b +b +n +n +n +n +n +n +b +b +b +"} +(17,1,1) = {" +b +g +h +o +o +o +o +o +o +y +A +b +"} +(18,1,1) = {" +b +g +h +o +r +u +x +r +o +y +A +b +"} +(19,1,1) = {" +b +b +b +l +l +l +l +l +l +b +b +b +"} +(20,1,1) = {" +a +a +b +p +p +p +p +p +p +b +a +a +"} +(21,1,1) = {" +a +a +b +b +b +b +b +b +b +b +a +a +"} diff --git a/maps/tether/submaps/admin_use/tradeship.dmm b/maps/tether/submaps/admin_use/tradeship.dmm new file mode 100644 index 0000000000..daaa523ff8 --- /dev/null +++ b/maps/tether/submaps/admin_use/tradeship.dmm @@ -0,0 +1,3660 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/unsimulated/wall, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ac" = ( +/obj/structure/table/standard, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ad" = ( +/obj/structure/closet/wardrobe/pink, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ae" = ( +/obj/structure/closet/wardrobe/white, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"af" = ( +/obj/structure/closet/wardrobe/green, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ag" = ( +/obj/structure/closet/wardrobe/grey, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ah" = ( +/obj/structure/closet/wardrobe/black, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ai" = ( +/obj/structure/closet/wardrobe/pjs, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"aj" = ( +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ak" = ( +/obj/structure/closet/crate, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 1 + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"al" = ( +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"am" = ( +/obj/structure/closet/wardrobe/yellow, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"an" = ( +/obj/structure/closet/wardrobe/suit, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ao" = ( +/obj/item/weapon/stool/padded, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ap" = ( +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 1 + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"aq" = ( +/obj/item/weapon/stool/padded, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ar" = ( +/obj/structure/closet/wardrobe/mixed, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"as" = ( +/obj/structure/closet/wardrobe/xenos, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"at" = ( +/obj/effect/landmark/late_antag/trader, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"au" = ( +/obj/machinery/door/blast/shutters{ + dir = 8; + id = "qm_warehouse"; + name = "Warehouse Shutters" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 1 + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"av" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/simulated/shuttle/floor/red, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"aw" = ( +/obj/machinery/door/airlock/silver{ + name = "Toilet" + }, +/turf/simulated/shuttle/floor/white, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ax" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 4; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/white, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"ay" = ( +/turf/simulated/shuttle/floor, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"az" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/turf/simulated/shuttle/floor/white, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"aA" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/shower{ + pixel_y = 3 + }, +/turf/simulated/shuttle/floor, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"aB" = ( +/obj/structure/table/standard, +/obj/item/weapon/soap/deluxe, +/turf/simulated/shuttle/floor, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"aC" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/shuttle/floor, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"aD" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "trade_shuttle_bay"; + name = "shuttle bay controller"; + pixel_x = 25; + pixel_y = 0; + tag_door = "trade_shuttle_bay_door" + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"aE" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "trade_shuttle_bay_door"; + locked = 1 + }, +/turf/unsimulated/floor{ + icon_state = "steel" + }, +/area/syndicate_mothership{ + name = "\improper Trader Base" + }) +"aF" = ( +/turf/simulated/shuttle/wall/dark/hard_corner, +/area/shuttle/trade) +"aG" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "trade_shuttle_hatch"; + locked = 1; + name = "Shuttle Hatch" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aH" = ( +/turf/simulated/shuttle/wall/dark, +/area/shuttle/trade) +"aI" = ( +/obj/structure/window/reinforced, +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "tradestarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"aJ" = ( +/obj/structure/window/reinforced, +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "tradestarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"aK" = ( +/obj/structure/window/reinforced, +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "tradestarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"aL" = ( +/obj/effect/shuttle_landmark/shuttle_initializer{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "trade_shuttle_bay"; + landmark_tag = "trade_dock"; + name = "Trader Station"; + shuttle_type = /datum/shuttle/autodock/multi/trade + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aM" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aN" = ( +/obj/structure/shuttle/engine/heater{ + icon_state = "heater"; + dir = 4 + }, +/turf/simulated/shuttle/plating/airless, +/area/shuttle/trade) +"aO" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "propulsion_r"; + dir = 4 + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/trade) +"aP" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aQ" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/rd, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aR" = ( +/obj/structure/table/standard, +/obj/machinery/chemical_dispenser/bar_alc/full, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aS" = ( +/obj/structure/table/standard, +/obj/machinery/microwave, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aT" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"aU" = ( +/obj/structure/bed/chair, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"aV" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-22" + }, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"aW" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "trade_shuttle_hatch"; + locked = 1; + name = "Shuttle Hatch" + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "trade_shuttle"; + pixel_x = -25; + pixel_y = 0; + req_one_access = list(101); + tag_door = "trade_shuttle_hatch" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aX" = ( +/obj/machinery/sleep_console{ + dir = 8 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aY" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"aZ" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 4 + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/trade) +"ba" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "tradestarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"bb" = ( +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bc" = ( +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bd" = ( +/obj/machinery/door/airlock/silver{ + name = "Sleeping" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"be" = ( +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"bf" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/box/donkpockets, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"bg" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"bh" = ( +/obj/machinery/atm{ + pixel_x = -32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bi" = ( +/obj/machinery/suit_cycler/syndicate, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bj" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bk" = ( +/obj/machinery/body_scanconsole, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bl" = ( +/obj/item/weapon/storage/firstaid/regular{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/weapon/storage/firstaid/regular{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/bodybag/cryobag{ + pixel_x = 5 + }, +/obj/item/bodybag/cryobag{ + pixel_x = 5 + }, +/obj/item/weapon/storage/firstaid/o2{ + layer = 2.8; + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/weapon/storage/box/masks{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/weapon/storage/box/gloves{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/fire{ + layer = 2.9; + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/weapon/storage/firstaid/adv{ + pixel_x = -2 + }, +/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/structure/closet/medical_wall{ + pixel_y = 32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bm" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bn" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "tradestarshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"bo" = ( +/obj/structure/closet/wardrobe/pjs, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bp" = ( +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/weapon/pen{ + pixel_y = 4 + }, +/obj/machinery/light, +/obj/structure/table/glass, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bq" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/hos, +/obj/structure/sign/poster{ + pixel_y = -32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"br" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"bs" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/box/glasses/square, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"bt" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/inflatable_duck, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bu" = ( +/obj/structure/table/steel_reinforced, +/obj/item/stack/material/mhydrogen, +/obj/item/stack/material/diamond, +/obj/item/stack/material/sandstone, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bv" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/rig/internalaffairs, +/obj/item/clothing/head/helmet/space/void/wizard, +/obj/item/clothing/suit/space/void/wizard, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bw" = ( +/obj/structure/table/steel_reinforced, +/obj/random/tool, +/obj/random/tool, +/obj/random/tool, +/obj/random/tool, +/obj/random/tool, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bx" = ( +/obj/structure/table/steel_reinforced, +/obj/random/toolbox, +/obj/random/toolbox, +/obj/random/toolbox, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"by" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"bz" = ( +/obj/vehicle/train/engine, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bA" = ( +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/trade) +"bB" = ( +/obj/machinery/door/airlock/glass_medical{ + name = "Medical Bay"; + req_access = list(160); + req_one_access = newlist() + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bC" = ( +/obj/machinery/optable, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bD" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "propulsion_l"; + dir = 4 + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/trade) +"bE" = ( +/obj/structure/closet/walllocker/emerglocker{ + pixel_y = -32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bF" = ( +/obj/machinery/button/remote/blast_door{ + id = "tradestarshutters"; + name = "remote shutter control"; + pixel_x = 30; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bG" = ( +/obj/structure/table/steel_reinforced, +/obj/random/firstaid, +/obj/random/firstaid, +/obj/random/firstaid, +/obj/random/firstaid, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bH" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bI" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bJ" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bK" = ( +/obj/structure/table/steel_reinforced, +/obj/random/tech_supply, +/obj/random/tech_supply, +/obj/random/tech_supply, +/obj/random/tech_supply, +/obj/random/tech_supply, +/obj/random/tech_supply, +/obj/item/weapon/weldpack, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bL" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"bM" = ( +/obj/vehicle/train/trolley, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bN" = ( +/obj/machinery/light, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bO" = ( +/obj/machinery/vending/medical{ + density = 0; + pixel_y = -32; + req_access = null + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bP" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 4; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bQ" = ( +/obj/structure/table/steel_reinforced, +/obj/random/medical, +/obj/random/medical, +/obj/random/medical, +/obj/random/medical, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bR" = ( +/obj/machinery/door/window/southleft{ + name = "Cargo Hold"; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bS" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/coin/uranium, +/obj/item/weapon/coin/silver, +/obj/item/weapon/coin/platinum, +/obj/item/weapon/coin/phoron, +/obj/item/weapon/coin/iron, +/obj/item/weapon/coin/gold, +/obj/item/weapon/coin/diamond, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bT" = ( +/obj/machinery/door/window/southright{ + name = "Cargo Hold"; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bU" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/cell/high, +/obj/item/weapon/cell/high, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/potato, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bV" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"bW" = ( +/obj/structure/table/standard, +/obj/item/clothing/gloves/sterile/latex, +/obj/item/clothing/mask/surgical, +/obj/item/weapon/surgical/retractor{ + pixel_x = 0; + pixel_y = 6 + }, +/obj/item/weapon/surgical/scalpel, +/obj/item/weapon/surgical/surgicaldrill, +/obj/item/weapon/surgical/circular_saw, +/obj/item/stack/nanopaste, +/obj/item/weapon/surgical/hemostat{ + pixel_y = 4 + }, +/obj/item/weapon/surgical/cautery{ + pixel_y = 4 + }, +/obj/item/weapon/surgical/FixOVein{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/stack/medical/advanced/bruise_pack, +/obj/item/weapon/surgical/bonesetter, +/obj/item/weapon/surgical/bonegel{ + pixel_x = 4; + pixel_y = 3 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bX" = ( +/obj/structure/medical_stand, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"bY" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "tradebridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"bZ" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + icon_state = "shutter0"; + id = "tradebridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"ca" = ( +/obj/machinery/vending/coffee, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cb" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cc" = ( +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/trade) +"cd" = ( +/obj/structure/closet/crate/secure/weapon, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"ce" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/weapon/pen{ + pixel_y = 4 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cf" = ( +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/machinery/computer/arcade/battle{ + dir = 4 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cg" = ( +/obj/structure/toilet, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/trade) +"ch" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/machinery/light/small, +/turf/simulated/shuttle/floor/white, +/area/shuttle/trade) +"ci" = ( +/obj/structure/mirror{ + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/trade) +"cj" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/shower{ + pixel_y = 3 + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/trade) +"ck" = ( +/obj/machinery/vending/snack{ + name = "hacked Getmore Chocolate Corp"; + prices = list() + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cl" = ( +/obj/structure/window/reinforced, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"cm" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cn" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "tradebridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"co" = ( +/obj/structure/frame/computer, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cp" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/sign/kiddieplaque{ + desc = "A plaque commemorating the construction of the cargo ship Beruang."; + name = "Beruang"; + pixel_x = 32 + }, +/mob/living/simple_mob/animal/passive/dog/tamaskan/Spice, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/trade) +"cq" = ( +/obj/machinery/door/airlock/silver{ + name = "Toilet" + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/trade) +"cr" = ( +/obj/machinery/door/airlock/silver{ + name = "Restroom" + }, +/turf/simulated/shuttle/floor/white, +/area/shuttle/trade) +"cs" = ( +/obj/structure/undies_wardrobe, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"ct" = ( +/obj/machinery/vending/cigarette{ + name = "Cigarette machine"; + prices = list(); + products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cu" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/obj/structure/largecrate/animal/cat, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cv" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/obj/structure/largecrate/animal/cow, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cw" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/obj/structure/closet/crate/freezer/rations, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cx" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/obj/item/device/kit/paint/ripley/death, +/obj/item/device/kit/paint/ripley/flames_blue, +/obj/item/device/kit/paint/ripley/flames_red, +/obj/item/device/kit/paint/ripley, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cy" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/obj/structure/closet/crate/secure, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cz" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/obj/structure/largecrate/hoverpod, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cA" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/obj/mecha/working/ripley/mining, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cB" = ( +/obj/machinery/door/window/westright{ + name = "Storefront"; + req_access = list(160) + }, +/obj/structure/table/marble, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "trade"; + name = "Shop Shutters"; + opacity = 0 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/trade) +"cC" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/trade) +"cD" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "tradebridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"cE" = ( +/obj/machinery/computer/shuttle_control/multi/trade{ + dir = 4 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cF" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/trade) +"cG" = ( +/obj/machinery/door/airlock/command{ + name = "Bridge"; + req_access = list(160); + req_one_access = newlist() + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cH" = ( +/obj/structure/noticeboard{ + pixel_y = 32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cI" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/obj/structure/largecrate/animal/corgi, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cJ" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/structure/largecrate/animal/corgi, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cK" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/structure/closet/crate/internals, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cL" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/industrial/warning, +/obj/item/device/kit/paint/gygax/darkgygax, +/obj/item/device/kit/paint/gygax/recitence, +/obj/item/device/kit/paint/durand, +/obj/item/device/kit/paint/durand/phazon, +/obj/item/device/kit/paint/durand/seraph, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cM" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/structure/closet/crate/secure, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cN" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/structure/largecrate/hoverpod, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cO" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/obj/mecha/working/ripley/firefighter, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cP" = ( +/obj/machinery/door/window/westleft{ + name = "Storefront"; + req_access = list(160) + }, +/obj/structure/window/reinforced, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "trade"; + name = "Shop Shutters"; + opacity = 0 + }, +/obj/structure/table/marble, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/trade) +"cQ" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cR" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/button/remote/blast_door{ + id = "tradebridgeshutters"; + name = "remote shutter control"; + pixel_x = 30; + req_access = list(150) + }, +/obj/structure/flora/pottedplant{ + icon_state = "plant-09"; + name = "Esteban"; + pixel_y = 8 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cS" = ( +/obj/machinery/vending/assist{ + contraband = null; + name = "Old Vending Machine"; + products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cT" = ( +/obj/structure/closet{ + name = "custodial" + }, +/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/weapon/mop, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cU" = ( +/obj/machinery/vending/sovietsoda, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cV" = ( +/obj/machinery/light, +/obj/structure/table/standard, +/obj/item/weapon/soap, +/obj/item/weapon/towel{ + color = "#0000FF" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cW" = ( +/obj/structure/sign/poster{ + pixel_y = -32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cX" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cY" = ( +/obj/machinery/door/window/westleft{ + name = "Storefront"; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"cZ" = ( +/obj/machinery/button/remote/blast_door{ + id = "trade"; + name = "Shop Shutters"; + pixel_x = 0; + pixel_y = -26 + }, +/turf/simulated/shuttle/floor/darkred, +/area/shuttle/trade) +"da" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "tradebridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"db" = ( +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "tradebridgeshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"dc" = ( +/obj/machinery/vending/boozeomat{ + req_access = null + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dd" = ( +/obj/structure/table/standard, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"de" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/toolbox/mechanical, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"df" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/contraband/poster, +/obj/item/weapon/contraband/poster, +/obj/item/weapon/contraband/poster, +/obj/item/weapon/contraband/poster, +/obj/item/weapon/contraband/poster, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dg" = ( +/obj/machinery/door/window/northleft{ + name = "Cargo Hold"; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dh" = ( +/obj/structure/table/steel_reinforced, +/obj/random/plushie, +/obj/random/plushie, +/obj/random/plushie, +/obj/random/plushie, +/obj/random/plushie, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"di" = ( +/obj/machinery/door/window/northright{ + name = "Cargo Hold"; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dj" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/gloves/black, +/obj/item/clothing/gloves/blue, +/obj/item/clothing/gloves/brown, +/obj/item/clothing/gloves/captain, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/green, +/obj/item/clothing/gloves/grey, +/obj/item/clothing/gloves/light_brown, +/obj/item/clothing/gloves/purple, +/obj/item/clothing/gloves/rainbow, +/obj/item/clothing/gloves/swat, +/obj/item/clothing/gloves/white, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dk" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 2; + start_pressure = 740.5 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dl" = ( +/obj/structure/closet/walllocker/emerglocker{ + pixel_y = 32 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dm" = ( +/obj/machinery/autolathe{ + desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; + hacked = 1; + name = "Unlocked Autolathe" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dn" = ( +/obj/machinery/button/remote/blast_door{ + id = "tradeportshutters"; + name = "remote shutter control"; + pixel_x = 30; + req_access = list(160) + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"do" = ( +/obj/structure/table/steel_reinforced, +/obj/random/contraband, +/obj/random/contraband, +/obj/random/contraband, +/obj/random/contraband, +/obj/random/contraband, +/obj/random/contraband, +/obj/item/weapon/bikehorn, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dp" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dq" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dr" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"ds" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/head/bearpelt, +/obj/item/clothing/head/bowler, +/obj/item/clothing/head/caphat/cap, +/obj/item/clothing/head/beaverhat, +/obj/item/clothing/head/beret/centcom, +/obj/item/clothing/head/beret/sec, +/obj/item/clothing/head/collectable/kitty, +/obj/item/clothing/head/collectable/kitty, +/obj/item/clothing/head/collectable/kitty, +/obj/item/clothing/head/collectable/rabbitears, +/obj/item/clothing/head/collectable/rabbitears, +/obj/item/clothing/head/collectable/rabbitears, +/obj/item/clothing/head/collectable/petehat, +/obj/item/clothing/head/collectable/pirate, +/obj/item/clothing/head/collectable/wizard, +/obj/item/clothing/head/collectable/xenom, +/obj/item/clothing/head/cowboy_hat, +/obj/item/clothing/head/pin/flower/violet, +/obj/item/clothing/head/pin/flower/blue, +/obj/item/clothing/head/pin/flower/orange, +/obj/item/clothing/head/pin/flower/pink, +/obj/item/clothing/head/justice, +/obj/item/clothing/head/justice/blue, +/obj/item/clothing/head/justice/green, +/obj/item/clothing/head/justice/pink, +/obj/item/clothing/head/justice/yellow, +/obj/item/clothing/head/philosopher_wig, +/obj/item/clothing/head/plaguedoctorhat, +/obj/item/clothing/head/xenos, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dt" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/meter, +/obj/structure/largecrate/animal/cat, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"du" = ( +/obj/machinery/door/airlock/glass_engineering{ + name = "Engineering"; + req_access = list(160); + req_one_access = newlist() + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dv" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "tradeportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"dw" = ( +/obj/structure/closet/wardrobe/captain, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dx" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/bookcase, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dy" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dz" = ( +/obj/structure/bed/chair/office/dark, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"dA" = ( +/obj/machinery/photocopier, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"dB" = ( +/obj/structure/table/steel_reinforced, +/obj/random/action_figure, +/obj/random/action_figure, +/obj/random/action_figure, +/obj/random/action_figure, +/obj/random/action_figure, +/obj/random/action_figure, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dC" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/lipstick/black, +/obj/item/weapon/lipstick/jade, +/obj/item/weapon/lipstick/purple, +/obj/item/weapon/lipstick, +/obj/item/weapon/lipstick/random, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dD" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/accessory/holster/hip, +/obj/item/clothing/accessory/holster/armpit, +/obj/item/clothing/accessory/holster/armpit, +/obj/item/clothing/accessory/holster/hip, +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/webbing, +/obj/item/clothing/accessory/storage/webbing, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/brown_vest, +/obj/item/clothing/accessory/storage/brown_vest, +/obj/item/clothing/accessory/scarf/white, +/obj/item/clothing/accessory/scarf/lightblue, +/obj/item/clothing/accessory/scarf/red, +/obj/item/clothing/accessory/scarf/purple, +/obj/item/clothing/accessory/armband/science, +/obj/item/clothing/accessory/armband/med, +/obj/item/clothing/accessory/armband/engine, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/accessory/armband, +/obj/item/clothing/accessory/medal/nobel_science, +/obj/item/clothing/accessory/medal/silver, +/obj/item/clothing/accessory/medal/gold, +/obj/item/clothing/accessory/medal/bronze_heart, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dE" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/under/cheongsam, +/obj/item/clothing/under/hosformalmale, +/obj/item/clothing/under/hosformalfem, +/obj/item/clothing/under/harness, +/obj/item/clothing/under/gladiator, +/obj/item/clothing/under/ert, +/obj/item/clothing/under/schoolgirl, +/obj/item/clothing/under/redcoat, +/obj/item/clothing/under/sexymime, +/obj/item/clothing/under/sexyclown, +/obj/item/clothing/under/soviet, +/obj/item/clothing/under/space, +/obj/item/clothing/under/swimsuit/stripper/mankini, +/obj/item/clothing/under/suit_jacket/female, +/obj/item/clothing/under/rank/psych/turtleneck, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/under/syndicate/tacticool, +/obj/item/clothing/under/syndicate/tacticool, +/obj/item/clothing/under/dress/sailordress, +/obj/item/clothing/under/dress/redeveninggown, +/obj/item/clothing/under/dress/dress_saloon, +/obj/item/clothing/under/dress/blacktango, +/obj/item/clothing/under/dress/blacktango/alt, +/obj/item/clothing/under/dress/dress_orange, +/obj/item/clothing/under/dress/maid/janitor, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dF" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/suit/hgpirate, +/obj/item/clothing/suit/imperium_monk, +/obj/item/clothing/suit/leathercoat, +/obj/item/clothing/suit/justice, +/obj/item/clothing/suit/justice, +/obj/item/clothing/suit/justice, +/obj/item/clothing/suit/justice, +/obj/item/clothing/suit/justice, +/obj/item/clothing/suit/pirate, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dG" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/structure/closet/crate/solar, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dH" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 8; + icon_state = "shutter0"; + id = "tradeportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"dI" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters"; + req_access = list(160); + req_one_access = newlist() + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dJ" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/weapon/pen{ + pixel_y = 4 + }, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"dK" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"dL" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/standard, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"dM" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "tradeportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"dN" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "tradeportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"dO" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "tradeportshutters"; + name = "Blast Shutters"; + opacity = 0 + }, +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced, +/turf/simulated/shuttle/plating, +/area/shuttle/trade) +"dP" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 5 + }, +/obj/machinery/atm{ + pixel_x = -32 + }, +/obj/machinery/meter, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dQ" = ( +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1331; + master_tag = "trade2_control"; + pixel_x = -22; + pixel_y = -32; + req_one_access = list(150) + }, +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 1 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dR" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 10 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dS" = ( +/obj/structure/table/standard, +/obj/item/clothing/suit/space/void/merc, +/obj/item/clothing/suit/space/void/merc, +/obj/item/clothing/suit/space/void/merc, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/head/helmet/space/void/merc, +/obj/item/clothing/head/helmet/space/void/merc, +/obj/item/clothing/head/helmet/space/void/merc, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dT" = ( +/obj/structure/table/standard, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/clothing/gloves/yellow, +/obj/item/clothing/gloves/yellow, +/obj/item/clothing/gloves/yellow, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dU" = ( +/obj/structure/table/standard, +/obj/item/stack/material/steel{ + amount = 2 + }, +/obj/item/stack/material/steel{ + amount = 2 + }, +/obj/item/stack/material/glass{ + amount = 15 + }, +/obj/item/stack/material/glass{ + amount = 15 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dV" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet/captain, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dW" = ( +/obj/structure/table/glass, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -35 + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dX" = ( +/obj/structure/filingcabinet/filingcabinet, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"dY" = ( +/obj/machinery/light, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"dZ" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"ea" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-10" + }, +/turf/simulated/floor/carpet, +/area/shuttle/trade) +"eb" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/door/airlock/glass_external{ + frequency = 1331; + icon_state = "door_locked"; + id_tag = "trade2_shuttle_inner"; + locked = 1; + name = "Ship Hatch" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"ec" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1331; + icon_state = "door_locked"; + id_tag = "trade2_shuttle_inner"; + locked = 1; + name = "Ship Hatch" + }, +/obj/machinery/atmospherics/pipe/simple/visible, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"ed" = ( +/obj/machinery/vending/engivend, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"ee" = ( +/obj/machinery/vending/tool, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"ef" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1331; + id_tag = "trade2_vent" + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + frequency = 1331; + id_tag = "trade2_control"; + pixel_x = -24; + req_access = list(150); + tag_airpump = "trade2_vent"; + tag_chamber_sensor = "trade2_sensor"; + tag_exterior_door = "trade2_shuttle_outer"; + tag_interior_door = "trade2_shuttle_inner" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"eg" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/machinery/airlock_sensor{ + frequency = 1331; + id_tag = "trade2_sensor"; + pixel_x = 25 + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1331; + id_tag = "trade2_vent" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"eh" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1331; + icon_state = "door_locked"; + id_tag = "trade2_shuttle_outer"; + locked = 1; + name = "Ship Hatch" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) +"ei" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1331; + master_tag = "trade2_control"; + pixel_x = 24; + req_one_access = list(150) + }, +/obj/machinery/door/airlock/glass_external{ + frequency = 1331; + icon_state = "door_locked"; + id_tag = "trade2_shuttle_outer"; + locked = 1; + name = "Ship Hatch" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/trade) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +cn +cD +aH +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +aH +co +cE +aH +aH +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bY +ce +bA +cF +cQ +da +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bZ +cf +cp +bA +cR +db +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +aH +aH +cG +aH +aH +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +cg +cq +bc +cS +aH +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +ba +bn +aH +aa +aH +aH +aF +bc +cT +aH +aa +aH +dv +dH +aH +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +aF +bb +bo +aH +aa +aH +ch +aH +bc +cU +aH +aa +aH +dw +bc +aF +aH +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +aP +bc +bp +aH +aa +aH +ci +cr +bc +cV +aH +aa +aH +dx +bc +dV +aH +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +aQ +bc +bq +aH +aa +aH +cj +aH +cH +cW +aH +aa +aH +dy +bc +dW +aH +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +aH +bd +aH +aH +aH +aH +aF +cs +bc +bc +aH +aH +aH +aH +dI +aH +aH +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +aR +bc +bc +aH +aH +aH +aH +aH +bc +cX +aF +aH +bc +bc +bc +dX +aH +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +aS +bc +bc +bE +aH +ca +ck +ct +bc +bc +dc +aH +dl +bc +bc +bc +aH +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aI +aT +be +br +bc +bP +bc +bc +bA +bA +bc +bc +bP +bc +be +dJ +dY +dM +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aJ +aU +bf +bs +bc +bc +bc +bA +bA +bA +bA +bc +bc +bc +dz +dK +dZ +dN +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +ab +ac +ac +ac +ab +av +ab +az +az +ab +aa +aa +aa +aa +aK +aV +bg +bg +bF +aH +bc +bA +cu +cI +bA +bc +aH +dn +dA +dL +ea +dO +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +ab +ad +aj +aj +ab +aw +ab +ay +ay +ab +aa +aa +aa +aa +aH +aH +aH +aH +aH +aF +bc +bA +cv +cJ +bA +bc +aF +aH +aH +aH +aH +aH +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +ab +ae +aj +aj +aj +aj +ax +ay +aB +ab +aa +aa +aa +aa +aa +aH +aH +bt +bG +bQ +cb +bA +cw +cK +bA +bN +df +do +dB +aH +aH +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +ab +af +aj +aq +aq +aj +ay +ay +aC +ab +aa +aa +aa +aa +aa +aa +aI +bu +bH +bR +bc +bA +cx +cL +bA +bc +dg +dp +dC +dM +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +ab +ag +aj +aj +aj +aj +ab +ay +ay +ab +aa +aa +aa +aa +aa +aa +aJ +bv +bI +bS +bc +bA +cy +cM +bA +bc +dh +dq +dD +dN +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +ab +ah +am +ar +aj +aj +ab +aA +aA +ab +aa +aa +aa +aa +aa +aa +aK +bw +bJ +bT +bc +bA +cz +cN +bA +bc +di +dr +dE +dO +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +ab +ab +ab +ab +aj +aj +ab +ab +ab +ab +aa +aa +aa +aa +aa +aH +aH +bx +bK +bU +bc +bA +cA +cO +bA +bc +dj +ds +dF +aH +aH +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +ab +ai +an +as +aj +aj +aj +aj +aj +ab +aa +aa +aa +aa +aH +aH +aH +by +bL +bV +aH +bA +bA +bA +bA +aH +by +bL +bV +aH +aH +aH +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +ab +aj +al +al +al +al +al +al +aj +ab +ab +ab +ab +aF +aH +aF +bh +bz +bM +bM +aH +bc +bA +bA +bc +aH +dk +dt +dG +dP +aF +aH +aF +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +ab +aj +al +at +at +at +at +al +aj +aj +aj +aj +aE +aG +aL +aW +bc +bA +bA +bA +cc +bA +bA +bA +bA +cc +bA +bA +bA +dQ +eb +ef +eh +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +ab +aj +al +at +at +at +at +al +aj +aj +aD +aj +aE +aG +aM +aG +bc +bA +bA +bc +bc +bc +bA +bA +bc +bc +bc +bA +bA +dR +ec +eg +ei +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +ab +aj +ao +ao +al +al +ao +ao +aj +ab +ab +ab +ab +aF +aH +aF +bi +bc +bc +bE +aF +cl +cB +cP +cY +aF +dl +bc +bc +bc +aF +aH +aF +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +aa +aa +aa +aa +aH +aH +aH +bB +bB +aF +aH +cm +cC +bA +bc +aH +aF +du +du +aH +aH +aH +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +ab +ab +ab +ab +au +au +ab +ab +ab +ab +aa +aa +aa +aa +aa +aI +bj +bc +bc +aH +cd +bA +bA +bA +cZ +dd +aH +bc +bc +dS +dM +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +ab +ak +ap +al +al +al +al +ap +ak +ab +aa +aa +aa +aa +aa +aK +bk +bc +bN +aH +cd +bA +bA +bA +bA +de +aH +cb +bc +dT +dO +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +ab +al +al +al +al +al +al +al +al +ab +aa +aa +aa +aa +aH +aF +bl +bc +bO +aF +aH +bc +bc +bc +bm +aH +aH +bc +bc +dU +aH +aH +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +ab +ak +ap +al +al +al +al +ak +ak +ab +aa +aa +aa +aH +aH +aX +bc +bc +bc +bW +aH +aH +aH +aH +aH +aH +bc +bc +bc +bc +ed +aH +aH +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +ab +al +al +al +al +al +al +al +al +ab +aa +aa +aa +aH +aH +aY +bm +bC +bc +bX +aH +aN +aN +aN +aN +aH +dm +bc +bc +bm +ee +aH +aH +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +ab +ak +ap +al +al +al +al +ap +ak +ab +aa +aa +aa +aH +aH +aH +aH +aH +aH +aH +aH +aO +aZ +aZ +bD +aH +aH +aH +aH +aH +aH +aH +aH +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +ab +al +al +al +al +al +al +al +al +ab +aa +aa +aa +aH +aN +aN +aN +aN +aH +aH +aa +aa +aa +aa +aa +aa +aH +aH +aN +aN +aN +aN +aH +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aH +aO +aZ +aZ +bD +aH +aa +aa +aa +aa +aa +aa +aa +aa +aH +aO +aZ +aZ +bD +aH +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/admin_use/wizard.dmm b/maps/tether/submaps/admin_use/wizard.dmm new file mode 100644 index 0000000000..ca115c7861 --- /dev/null +++ b/maps/tether/submaps/admin_use/wizard.dmm @@ -0,0 +1,2116 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/simulated/shuttle/wall/dark/hard_corner, +/area/wizard_station) +"ac" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"ad" = ( +/obj/machinery/chemical_dispenser/bar_soft/full, +/obj/structure/table/marble, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/wizard_station) +"ae" = ( +/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine{ + pixel_x = -4; + pixel_y = 10 + }, +/obj/structure/table/marble, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/wizard_station) +"af" = ( +/obj/structure/sink/kitchen{ + pixel_y = 28 + }, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/wizard_station) +"ag" = ( +/obj/machinery/computer/arcade/battle, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"ah" = ( +/obj/machinery/computer/arcade/orion_trail, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"ai" = ( +/obj/machinery/microwave{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/structure/table/marble, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/wizard_station) +"aj" = ( +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/wizard_station) +"ak" = ( +/obj/structure/table/woodentable, +/obj/item/device/flashlight/lamp/green{ + on = 0; + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/toy/figure/ninja, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/wizard_station) +"al" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet/rd, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/wizard_station) +"am" = ( +/obj/structure/bed/chair/wood/wings, +/obj/machinery/newscaster{ + layer = 3.3; + pixel_x = 0; + pixel_y = 30 + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"an" = ( +/obj/machinery/status_display{ + layer = 4; + pixel_x = 0; + pixel_y = 32 + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"ao" = ( +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"ap" = ( +/obj/item/weapon/storage/box/donkpockets{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/table/marble, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/wizard_station) +"aq" = ( +/obj/structure/mirror{ + pixel_x = -28 + }, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/wizard_station) +"ar" = ( +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/wizard_station) +"as" = ( +/obj/structure/table/woodentable, +/obj/machinery/status_display{ + layer = 4; + pixel_x = 0; + pixel_y = 32 + }, +/obj/item/weapon/ore/slag{ + desc = "Well at least Arthur doesn't have to share now..."; + name = "pet rock" + }, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/wizard_station) +"at" = ( +/obj/machinery/newscaster{ + layer = 3.3; + pixel_x = 0; + pixel_y = 30 + }, +/obj/structure/bedsheetbin, +/obj/structure/table/woodentable, +/turf/unsimulated/floor{ + icon_state = "lino" + }, +/area/wizard_station) +"au" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/paper_bin, +/obj/item/weapon/pen, +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Subversive Intercom"; + pixel_x = -32; + subspace_transmission = 1; + syndie = 1 + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"av" = ( +/obj/structure/table/woodentable, +/obj/item/device/radio/headset, +/obj/item/weapon/spacecash/c500, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aw" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 8 + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"ax" = ( +/obj/item/weapon/reagent_containers/food/snacks/spellburger{ + pixel_y = 8 + }, +/obj/structure/table/marble, +/turf/unsimulated/floor{ + icon_state = "white" + }, +/area/wizard_station) +"ay" = ( +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"az" = ( +/obj/structure/undies_wardrobe, +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Subversive Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"aA" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 4 + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aB" = ( +/obj/structure/table/woodentable, +/obj/item/device/paicard, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aC" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/book/manual/security_space_law, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aD" = ( +/obj/machinery/door/airlock/hatch, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aE" = ( +/obj/machinery/door/airlock/hatch, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"aF" = ( +/obj/item/weapon/antag_spawner/technomancer_apprentice, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"aG" = ( +/obj/structure/table/woodentable, +/obj/item/clothing/shoes/boots/workboots, +/obj/item/clothing/under/technomancer, +/obj/item/clothing/head/technomancer, +/obj/item/weapon/storage/box/syndie_kit/chameleon, +/obj/item/weapon/storage/box/syndie_kit/chameleon, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"aH" = ( +/turf/template_noop, +/area/wizard_station) +"aI" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 1 + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aJ" = ( +/obj/machinery/portable_atmospherics/hydroponics, +/turf/unsimulated/floor{ + icon_state = "grass0"; + name = "grass" + }, +/area/wizard_station) +"aK" = ( +/obj/machinery/vending/hydroseeds, +/turf/unsimulated/floor{ + icon_state = "grass0"; + name = "grass" + }, +/area/wizard_station) +"aL" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/obj/item/clothing/suit/wizrobe/magusblue, +/obj/item/clothing/head/wizard/magus, +/obj/item/weapon/staff, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"aM" = ( +/obj/effect/landmark/late_antag/wizard, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"aN" = ( +/obj/item/weapon/reagent_containers/food/snacks/cheesewedge, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"aO" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/turf/template_noop, +/area/wizard_station) +"aP" = ( +/obj/structure/table/woodentable, +/obj/machinery/librarycomp{ + pixel_y = 6 + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aQ" = ( +/obj/machinery/media/jukebox, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aR" = ( +/obj/machinery/vending/hydronutrients, +/turf/unsimulated/floor{ + icon_state = "grass0"; + name = "grass" + }, +/area/wizard_station) +"aS" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/obj/item/clothing/under/psysuit, +/obj/item/clothing/suit/wizrobe/psypurple, +/obj/item/clothing/head/wizard/amp, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"aT" = ( +/mob/living/simple_mob/animal/passive/mouse/gray{ + desc = "He looks kingly."; + name = "Arthur" + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"aU" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-24" + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"aV" = ( +/obj/machinery/photocopier, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aW" = ( +/obj/structure/bookcase, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aX" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-08" + }, +/turf/unsimulated/floor{ + dir = 8; + icon_state = "wood" + }, +/area/wizard_station) +"aY" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/obj/item/clothing/shoes/sandal/marisa{ + desc = "A set of fancy shoes that are as functional as they are comfortable."; + name = "Gentlemans Shoes" + }, +/obj/item/clothing/under/gentlesuit, +/obj/item/clothing/suit/wizrobe/gentlecoat, +/obj/item/clothing/head/wizard/cap, +/obj/item/weapon/staff/gentcane, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"aZ" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/obj/item/clothing/suit/wizrobe/magusred, +/obj/item/clothing/head/wizard/magus, +/obj/item/weapon/staff, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"ba" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/obj/item/clothing/suit/wizrobe/marisa, +/obj/item/clothing/shoes/sandal/marisa, +/obj/item/clothing/head/wizard/marisa, +/obj/item/weapon/staff/broom, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bb" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/obj/item/clothing/suit/wizrobe/red, +/obj/item/clothing/shoes/sandal, +/obj/item/clothing/head/wizard/red, +/obj/item/weapon/staff, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bc" = ( +/obj/machinery/the_singularitygen, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bd" = ( +/obj/machinery/crystal, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"be" = ( +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bf" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/arrow/quill, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bg" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/stock_parts/matter_bin/super, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bh" = ( +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"bi" = ( +/obj/machinery/computer/communications, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bj" = ( +/obj/structure/sign/double/map/left{ + pixel_y = 32 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bk" = ( +/obj/structure/sign/double/map/right{ + pixel_y = 32 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bl" = ( +/obj/machinery/computer/message_monitor, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bm" = ( +/obj/machinery/computer/security, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bn" = ( +/obj/structure/table/steel_reinforced, +/obj/item/stack/telecrystal, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bo" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bp" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/head/philosopher_wig, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bq" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-04" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"br" = ( +/obj/structure/sign/electricshock, +/turf/simulated/shuttle/wall/dark/hard_corner, +/area/wizard_station) +"bs" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"bt" = ( +/obj/machinery/computer/shuttle, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bu" = ( +/obj/structure/bed/chair/comfy/brown{ + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bv" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"bw" = ( +/obj/machinery/computer/crew, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bx" = ( +/obj/machinery/computer/power_monitor, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"by" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Subversive Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/machinery/computer/station_alert/all, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bz" = ( +/obj/structure/table/steel_reinforced, +/obj/item/device/mmi/radio_enabled, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bA" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/material/knife/ritual, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bB" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-03" + }, +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Subversive Intercom"; + pixel_x = -32; + subspace_transmission = 1; + syndie = 1 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bC" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"bD" = ( +/obj/machinery/power/port_gen/pacman, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"bE" = ( +/obj/structure/table/steel_reinforced, +/obj/item/xenos_claw, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bF" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/coin/diamond, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bG" = ( +/obj/structure/table/steel_reinforced, +/obj/item/broken_device, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bH" = ( +/obj/structure/table/steel_reinforced, +/obj/item/organ/internal/stack, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bI" = ( +/obj/machinery/floodlight, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"bJ" = ( +/obj/machinery/mecha_part_fabricator, +/obj/machinery/status_display{ + layer = 4; + pixel_x = 0; + pixel_y = 32 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bK" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/cell_charger, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bL" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/book/manual/ripley_build_and_repair, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bM" = ( +/obj/item/device/suit_cooling_unit, +/obj/structure/table/steel_reinforced, +/obj/machinery/newscaster{ + layer = 3.3; + pixel_x = 0; + pixel_y = 30 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bN" = ( +/obj/machinery/newscaster{ + layer = 3.3; + pixel_x = 0; + pixel_y = 30 + }, +/obj/item/target, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bO" = ( +/obj/item/target/syndicate, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bP" = ( +/obj/structure/table/steel_reinforced, +/obj/item/toy/sword, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bQ" = ( +/obj/machinery/status_display{ + layer = 4; + pixel_x = 0; + pixel_y = 32 + }, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/gun/energy/laser/practice, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bR" = ( +/obj/machinery/recharge_station, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bS" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/book/manual/engineering_hacking, +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Subversive Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bT" = ( +/obj/effect/floor_decal/industrial/warning/corner, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bU" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"bV" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bW" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Subversive Intercom"; + pixel_x = -32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/item/target, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"bX" = ( +/obj/item/robot_parts/r_arm, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"bY" = ( +/obj/item/robot_parts/l_leg, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"bZ" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/book/manual/robotics_cyborgs, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"ca" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"cb" = ( +/obj/machinery/power/emitter{ + anchored = 1; + desc = "It is a heavy duty industrial laser used in a very non-industrial way."; + name = "teleport defender" + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"cc" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"cd" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"ce" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cf" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 5 + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cg" = ( +/obj/item/weapon/stool/padded, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"ch" = ( +/obj/item/robot_parts/r_leg, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"ci" = ( +/obj/item/robot_parts/chest, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cj" = ( +/obj/item/robot_parts/l_arm, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"ck" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"cl" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"cm" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cn" = ( +/obj/structure/target_stake, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"co" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cp" = ( +/obj/structure/AIcore, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cq" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-20" + }, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"cr" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cs" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"ct" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cu" = ( +/obj/effect/decal/mecha_wreckage/phazon, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cv" = ( +/obj/item/robot_parts/head, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/wizard_station) +"cw" = ( +/obj/item/weapon/firstaid_arm_assembly, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"cx" = ( +/obj/item/weapon/bucket_sensor, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"cy" = ( +/obj/item/weapon/farmbot_arm_assembly, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"cz" = ( +/obj/structure/table/steel_reinforced, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 5 + }, +/area/wizard_station) +"cA" = ( +/obj/structure/table/steel_reinforced, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"cB" = ( +/obj/machinery/computer/teleporter, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"cC" = ( +/obj/machinery/teleport/station, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"cD" = ( +/obj/machinery/teleport/hub, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) +"cE" = ( +/obj/effect/landmark/late_antag/technomancer, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/wizard_station) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ac +ac +ac +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aH +aO +ab +ay +bi +bt +bw +ay +ab +ac +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aP +ab +ab +ay +ay +ay +ab +ab +bR +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +ab +ab +aA +ao +ao +aV +ab +bj +bu +be +ab +bJ +ay +bh +bh +ab +ab +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +au +aB +aI +ao +aW +ab +bk +ay +be +ab +bK +ay +bX +ch +cp +ab +ab +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +ab +am +av +aC +aI +ao +ao +aD +ay +ay +ay +aE +ay +ay +bh +ci +bh +cu +ab +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +ab +ab +an +aw +aw +ao +ao +aX +ab +bl +ay +bx +ab +bL +ay +bY +cj +bh +cv +ab +ab +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +ac +ag +ao +ao +ao +ao +ao +aW +ab +bm +ay +by +ab +bM +ay +ay +ay +ay +ay +cx +ac +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +ab +ab +ah +ao +ao +ao +ao +aQ +ab +ab +ab +aE +ab +ab +ab +bS +bZ +ay +cq +cw +cy +ab +ab +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +ab +ab +ab +ab +ab +aD +ab +ab +ab +bc +bn +be +bz +bE +ab +ab +ab +aE +ab +ab +ab +ab +ab +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +ab +ad +ai +ap +ax +ay +aJ +aJ +ab +bd +be +ay +be +bF +ab +bT +ca +ck +ca +ab +ay +cB +ab +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +ac +ae +aj +aj +aj +ay +ay +ay +aE +be +ay +ab +ay +be +aE +bU +cb +ay +ay +aE +ay +cC +ac +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +ab +af +aj +aj +aj +ay +aK +aR +ab +bf +bo +ay +be +bG +ab +bV +cc +cl +cc +ab +ay +cD +ab +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +ab +ab +ab +ab +ab +aE +ab +ab +ab +bg +bp +be +bA +bH +ab +ab +ab +aE +ab +ab +ab +ab +ab +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +ab +ab +ak +aq +ay +ay +aL +aS +ab +ab +ab +aE +ab +ab +ab +bW +bO +ay +be +be +cz +ab +ab +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +ac +al +ar +aM +ay +ay +ay +aY +ab +bq +ay +bB +ab +bN +ay +ay +ay +ay +ay +cA +ac +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +ab +ab +as +ay +ay +ay +ay +aZ +ab +be +ay +be +ab +bO +ay +cd +cm +cr +cg +ab +ab +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +ab +at +ay +aF +cE +aT +ay +aE +ay +ay +ay +aE +ay +ay +ce +cn +cs +cg +ab +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +ab +ab +az +ay +ay +ay +ba +ab +be +ay +be +ab +bP +ay +cf +co +ct +ab +ab +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +ab +ab +aG +aN +ay +bb +ab +br +bv +ab +ab +bQ +ay +cg +cg +ab +ab +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aU +ab +ab +bs +bh +bC +ab +ab +ay +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ab +bh +bh +bh +bD +bI +ab +ac +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ac +ac +ac +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/aerostat/_aerostat.dm b/maps/tether/submaps/aerostat/_aerostat.dm index 71a3b1b5e3..02898e6765 100644 --- a/maps/tether/submaps/aerostat/_aerostat.dm +++ b/maps/tether/submaps/aerostat/_aerostat.dm @@ -1,33 +1,20 @@ #include "submaps/virgo2.dm" +/obj/effect/overmap/visitable/sector/virgo2 + name = "Virgo 2" + desc = "Includes the Remmi Aerostat and associated ground mining complexes." + icon_state = "globe" + color = "#dfff3f" //Bright yellow + initial_generic_waypoints = list("aerostat_west","aerostat_east","aerostat_south","aerostat_northwest","aerostat_northeast") + // -- Datums -- // -/datum/shuttle_destination/excursion/virgo2orbit - name = "Virgo 2 Orbit" - my_area = /area/shuttle/excursion/space - preferred_interim_area = /area/shuttle/excursion/space_moving - skip_me = TRUE - - routes_to_make = list( - /datum/shuttle_destination/excursion/bluespace = 30 SECONDS, - /datum/shuttle_destination/excursion/virgo2orbit = 30 SECONDS - ) - -/datum/shuttle_destination/excursion/aerostat - name = "Remmi Aerostat" - my_area = /area/shuttle/excursion/away_aerostat - preferred_interim_area = /area/shuttle/excursion/space_moving - skip_me = TRUE - - routes_to_make = list( - /datum/shuttle_destination/excursion/virgo2orbit = 30 SECONDS - ) - -/datum/shuttle/ferry/aerostat +/datum/shuttle/autodock/ferry/aerostat name = "Aerostat Ferry" + shuttle_area = /area/shuttle/aerostat warmup_time = 10 //want some warmup time so people can cancel. - area_station = /area/shuttle/aerostat/docked - area_offsite = /area/shuttle/aerostat/landed + landmark_station = "aerostat_east" + landmark_offsite = "aerostat_surface" /datum/random_map/noise/ore/virgo2 descriptor = "virgo 2 ore distribution map" @@ -43,19 +30,6 @@ name = "aerostat ferry control console" shuttle_tag = "Aerostat Ferry" -/obj/shuttle_connector/aerostat - name = "shuttle connector - aerostat" - shuttle_name = "Excursion Shuttle" - destinations = list(/datum/shuttle_destination/excursion/virgo2orbit, /datum/shuttle_destination/excursion/aerostat) - -/obj/away_mission_init/aerostat/Initialize() - /*seed_submaps(list(Z_LEVEL_AEROSTAT_SURFACE), 50, /area/tether_away/aerostat/surface/unexplored, /datum/map_template/virgo2) - new /datum/random_map/automata/cave_system/no_cracks(null, 1, 1, Z_LEVEL_AEROSTAT_SURFACE, world.maxx, world.maxy) - new /datum/random_map/noise/ore/virgo2(null, 1, 1, Z_LEVEL_AEROSTAT_SURFACE, 64, 64)*/ - - initialized = TRUE - return INITIALIZE_HINT_QDEL - /obj/tether_away_spawner/aerostat_inside name = "Aerostat Indoors Spawner" faction = "aerostat_inside" @@ -165,18 +139,9 @@ VIRGO2_TURF_CREATE(/turf/simulated/mineral/floor/ignore_mapgen) // -- Areas -- // -/area/shuttle/excursion/away_aerostat - name = "\improper Excursion Shuttle - Aerostat" - base_turf = /turf/unsimulated/floor/sky/virgo2_sky - // The aerostat shuttle -/area/shuttle/aerostat/docked - name = "\improper Aerostat Shuttle - Dock" - base_turf = /turf/unsimulated/floor/sky/virgo2_sky - -/area/shuttle/aerostat/landed - name = "\improper Aerostat Shuttle - Surface" - base_turf = /turf/simulated/floor/plating/virgo2 +/area/shuttle/aerostat + name = "\improper Aerostat Shuttle" //The aerostat itself /area/tether_away/aerostat diff --git a/maps/tether/submaps/aerostat/aerostat.dmm b/maps/tether/submaps/aerostat/aerostat.dmm index b4d3c0d046..ce0b8010ab 100644 --- a/maps/tether/submaps/aerostat/aerostat.dmm +++ b/maps/tether/submaps/aerostat/aerostat.dmm @@ -466,7 +466,7 @@ /area/tether_away/aerostat/solars) "bd" = ( /turf/simulated/shuttle/wall, -/area/shuttle/aerostat/docked) +/area/shuttle/aerostat) "be" = ( /turf/simulated/floor/plating/virgo2, /area/tether_away/aerostat/inside) @@ -477,11 +477,11 @@ /area/tether_away/aerostat/inside) "bg" = ( /turf/simulated/shuttle/floor/yellow, -/area/shuttle/aerostat/docked) +/area/shuttle/aerostat) "bh" = ( /obj/machinery/door/airlock/external, /turf/simulated/shuttle/floor/yellow, -/area/shuttle/aerostat/docked) +/area/shuttle/aerostat) "bi" = ( /obj/effect/floor_decal/industrial/warning/dust/corner, /turf/simulated/floor/plating/virgo2, @@ -535,7 +535,7 @@ dir = 4 }, /turf/simulated/shuttle/floor/yellow, -/area/shuttle/aerostat/docked) +/area/shuttle/aerostat) "bs" = ( /obj/effect/floor_decal/industrial/warning/dust/corner{ dir = 1 @@ -633,11 +633,11 @@ dir = 8 }, /turf/simulated/shuttle/floor/yellow, -/area/shuttle/aerostat/docked) +/area/shuttle/aerostat) "bI" = ( /obj/structure/closet/emcloset, /turf/simulated/shuttle/floor/yellow, -/area/shuttle/aerostat/docked) +/area/shuttle/aerostat) "bJ" = ( /obj/structure/table/standard, /obj/random/cargopod, @@ -774,14 +774,6 @@ icon_state = "void-hc" }, /area/tether_away/aerostat/inside) -"cf" = ( -/obj/effect/floor_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/shuttle_connector/aerostat, -/obj/effect/floor_decal/rust, -/turf/simulated/floor/plating/virgo2, -/area/tether_away/aerostat/inside) "cg" = ( /obj/machinery/door/airlock/multi_tile/metal{ icon_state = "door_closed"; @@ -808,11 +800,11 @@ dir = 1 }, /turf/simulated/shuttle/floor/yellow, -/area/shuttle/aerostat/docked) +/area/shuttle/aerostat) "cl" = ( /obj/machinery/light, /turf/simulated/shuttle/floor/yellow, -/area/shuttle/aerostat/docked) +/area/shuttle/aerostat) "cm" = ( /obj/structure/cable/heavyduty{ icon_state = "1-8" @@ -877,8 +869,14 @@ /turf/simulated/floor/plating/virgo2, /area/tether_away/aerostat/inside) "cv" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/aerostat; + base_turf = /turf/unsimulated/floor/sky/virgo2_sky; + landmark_tag = "aerostat_west"; + name = "Virgo 2 Aerostat (W)" + }, /turf/unsimulated/floor/sky/virgo2_sky, -/area/shuttle/excursion/away_aerostat) +/area/tether_away/aerostat) "cw" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/plating/virgo2, @@ -1626,6 +1624,10 @@ /obj/random/toolbox, /turf/simulated/floor/plating/virgo2, /area/tether_away/aerostat/inside) +"eL" = ( +/obj/structure/railing, +/turf/simulated/floor/plating/virgo2, +/area/tether_away/aerostat) "fl" = ( /obj/random/contraband, /turf/simulated/floor/plating/virgo2, @@ -1634,10 +1636,22 @@ /obj/structure/salvageable/implant_container, /turf/simulated/floor/tiled/techfloor/virgo2, /area/tether_away/aerostat/inside) +"gt" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plating/virgo2, +/area/tether_away/aerostat) "gD" = ( /obj/tether_away_spawner/aerostat_inside, /turf/simulated/floor/plating/virgo2, /area/tether_away/aerostat/inside) +"gT" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating/virgo2, +/area/tether_away/aerostat) "gX" = ( /obj/structure/salvageable/data, /turf/simulated/floor/tiled/techfloor/virgo2, @@ -1646,10 +1660,28 @@ /obj/random/contraband, /turf/simulated/floor/tiled/techfloor/virgo2, /area/tether_away/aerostat/inside) +"kD" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/aerostat; + base_turf = /turf/unsimulated/floor/sky/virgo2_sky; + landmark_tag = "aerostat_northwest"; + name = "Virgo 2 Aerostat (NW)" + }, +/turf/unsimulated/floor/sky/virgo2_sky, +/area/tether_away/aerostat) "kF" = ( /obj/random/action_figure, /turf/simulated/floor/tiled/techfloor/virgo2, /area/tether_away/aerostat/inside) +"pd" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/aerostat; + base_turf = /turf/unsimulated/floor/sky/virgo2_sky; + landmark_tag = "aerostat_east"; + name = "Virgo 2 Aerostat (E)" + }, +/turf/simulated/shuttle/floor/yellow, +/area/shuttle/aerostat) "tZ" = ( /obj/structure/table/standard, /obj/random/powercell, @@ -1670,6 +1702,15 @@ /obj/structure/salvageable/autolathe, /turf/simulated/floor/tiled/techfloor/virgo2, /area/tether_away/aerostat/inside) +"zX" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/aerostat; + base_turf = /turf/unsimulated/floor/sky/virgo2_sky; + landmark_tag = "aerostat_south"; + name = "Virgo 2 Aerostat (S)" + }, +/turf/unsimulated/floor/sky/virgo2_sky, +/area/tether_away/aerostat) "AS" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 4 @@ -1677,6 +1718,15 @@ /obj/random/toolbox, /turf/simulated/floor/tiled/techfloor/virgo2, /area/tether_away/aerostat/inside) +"Dt" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/aerostat; + base_turf = /turf/unsimulated/floor/sky/virgo2_sky; + landmark_tag = "aerostat_northeast"; + name = "Virgo 2 Aerostat (NE)" + }, +/turf/unsimulated/floor/sky/virgo2_sky, +/area/tether_away/aerostat) "Du" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 @@ -1722,6 +1772,13 @@ /obj/random/contraband, /turf/simulated/floor/bluegrid/virgo2, /area/tether_away/aerostat/inside) +"ON" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/turf/simulated/floor/plating/virgo2, +/area/tether_away/aerostat) "Qe" = ( /obj/structure/table/standard, /obj/effect/decal/cleanable/cobweb2, @@ -1732,6 +1789,10 @@ /obj/structure/salvageable/machine, /turf/simulated/floor/tiled/techfloor/virgo2, /area/tether_away/aerostat/inside) +"Tq" = ( +/obj/effect/overmap/visitable/sector/virgo2, +/turf/unsimulated/floor/sky/virgo2_sky, +/area/tether_away/aerostat) "TR" = ( /obj/structure/salvageable/computer, /turf/simulated/floor/tiled/techfloor/virgo2, @@ -1742,10 +1803,17 @@ /obj/random/toolbox, /turf/simulated/floor/tiled/techfloor/virgo2, /area/tether_away/aerostat/inside) +"VR" = ( +/obj/machinery/door/airlock/external, +/turf/simulated/floor/plating/virgo2, +/area/tether_away/aerostat/inside) "Wk" = ( /obj/random/drinkbottle, /turf/simulated/floor/plating/virgo2, /area/tether_away/aerostat/inside) +"WS" = ( +/turf/simulated/floor/plating/virgo2, +/area/tether_away/aerostat) "Ym" = ( /obj/structure/table/standard, /obj/item/weapon/gun/energy/taser/xeno, @@ -2037,7 +2105,7 @@ aw aw aw aw -aw +Tq cZ "} (3,1,1) = {" @@ -4950,10 +5018,10 @@ aw aw aw aw -cv -cv -cv -cv +aw +aw +aw +aw aw aw aw @@ -5082,21 +5150,21 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -5224,21 +5292,21 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -5365,22 +5433,22 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -5507,21 +5575,21 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -5648,22 +5716,22 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -5790,22 +5858,22 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -5932,22 +6000,22 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -6074,22 +6142,22 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -6216,22 +6284,22 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -6359,21 +6427,21 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -6501,22 +6569,22 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -6644,21 +6712,21 @@ aw aw aw aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw aw aw aw @@ -6786,21 +6854,21 @@ aw aw aw aw -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw aw aw aw @@ -6935,13 +7003,13 @@ aw aw aw aw -cv -cv +aw +aw aw cc cY -cv -cv +aw +aw aw aw aw @@ -7080,7 +7148,7 @@ aw aw aw aa -cf +cc cY aa aw @@ -10869,7 +10937,7 @@ aw aw aw aw -aw +kD aw aw aw @@ -11153,8 +11221,8 @@ aw aw aw aw -aw -aw +ON +eL aw aw aw @@ -11295,8 +11363,8 @@ aw aw aw aw -aw -aw +ON +eL aw aw aw @@ -11437,19 +11505,19 @@ aw aw aw aw +ON +eL aw aw aw aw -aw -aw -aw -aw -aw -aw -aw -aw -aw +ac +bo +bf +ac +ac +bo +bf ac be be @@ -11515,14 +11583,14 @@ aw aw bq ac -aw -aw -aw -aw -aw -aw -aw -aw +ac +bo +bf +ac +ac +bo +bf +ac aw aw aw @@ -11579,20 +11647,20 @@ aw aw aw aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -ac +ON +WS +gt +gt +gt +gt +VR +be +be +be +be +be +be +VR be gD bj @@ -11656,17 +11724,17 @@ aw aw aw bq -bf -aw -aw -aw -aw -aw -aw -aw -aw -aw +be +VR +be +be +be +be +be +be +VR aw +zX aw aw aw @@ -11721,20 +11789,20 @@ aw aw aw aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -ac +ON +WS +gT +gT +gT +gT +VR +be +be +be +be +be +be +VR be be bj @@ -11798,15 +11866,15 @@ aw aw aw bq -bf -aw -aw -aw -aw -aw -aw -aw -aw +be +VR +be +be +be +be +be +be +VR aw aw aw @@ -11863,19 +11931,19 @@ aw aw aw aw +ON +eL aw aw aw aw -aw -aw -aw -aw -aw -aw -aw -aw -aw +ac +bo +bf +ac +ac +bo +bf ac be be @@ -11941,14 +12009,14 @@ aw aw bq ac -aw -aw -aw -aw -aw -aw -aw -aw +ac +bo +bf +ac +ac +bo +bf +ac aw aw aw @@ -12005,8 +12073,8 @@ aw aw aw aw -aw -aw +ON +eL aw aw aw @@ -12147,8 +12215,8 @@ aw aw aw aw -aw -aw +ON +eL aw aw aw @@ -12431,7 +12499,7 @@ aw aw aw aw -aw +Dt aw aw aw @@ -16736,7 +16804,7 @@ bI br br br -bg +pd bg br br diff --git a/maps/tether/submaps/aerostat/surface.dmm b/maps/tether/submaps/aerostat/surface.dmm index 16b987a562..df5cb3e2e4 100644 --- a/maps/tether/submaps/aerostat/surface.dmm +++ b/maps/tether/submaps/aerostat/surface.dmm @@ -1,8 +1,4 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/obj/away_mission_init/aerostat, -/turf/simulated/mineral/floor/ignore_mapgen/virgo2, -/area/tether_away/aerostat/surface/explored) "b" = ( /turf/unsimulated/wall/planetary/virgo2, /area/tether_away/aerostat/surface) @@ -44,8 +40,14 @@ /area/tether_away/aerostat/surface/explored) "Q" = ( /obj/effect/floor_decal/rust, +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/aerostat/surface/explored; + base_turf = /turf/simulated/floor/tiled/techfloor/virgo2; + landmark_tag = "aerostat_surface"; + name = "Virgo 2 Surface" + }, /turf/simulated/floor/tiled/techfloor/virgo2, -/area/shuttle/aerostat/landed) +/area/tether_away/aerostat/surface/explored) "V" = ( /obj/structure/railing, /turf/simulated/mineral/floor/ignore_mapgen/virgo2, @@ -8498,7 +8500,7 @@ i i i i -a +i i i i @@ -9494,17 +9496,17 @@ i V I I -Q -Q -Q -Q -Q -Q -Q -Q -Q -Q -Q +I +I +I +I +I +I +I +I +I +I +I I I I @@ -9636,17 +9638,17 @@ i V I I +I +I +I +I +I Q -Q -Q -Q -Q -Q -Q -Q -Q -Q -Q +I +I +I +I +I I I I @@ -9778,17 +9780,17 @@ i V I I -Q -Q -Q -Q -Q -Q -Q -Q -Q -Q -Q +I +I +I +I +I +I +I +I +I +I +I I I I @@ -9920,17 +9922,17 @@ i V I I -Q -Q -Q -Q -Q -Q -Q -Q -Q -Q -Q +I +I +I +I +I +I +I +I +I +I +I I I I @@ -10062,17 +10064,17 @@ i V I I -Q -Q -Q -Q -Q -Q -Q -Q -Q -Q -Q +I +I +I +I +I +I +I +I +I +I +I I I I diff --git a/maps/tether/submaps/alienship/_alienship.dm b/maps/tether/submaps/alienship/_alienship.dm index e204da0e90..7dad899974 100644 --- a/maps/tether/submaps/alienship/_alienship.dm +++ b/maps/tether/submaps/alienship/_alienship.dm @@ -1,23 +1,16 @@ // -- Datums -- // -/datum/shuttle_destination/excursion/alienship - name = "Unknown Ship" - my_area = /area/shuttle/excursion/away_alienship - preferred_interim_area = /area/shuttle/excursion/space_moving - skip_me = TRUE - - routes_to_make = list( - /datum/shuttle_destination/excursion/bluespace = 30 SECONDS - ) +/obj/effect/overmap/visitable/sector/alienship + name = "Unknown Vessel" + desc = "An unknown vessel detected by sensors." + start_x = 12 + start_y = 12 + icon_state = "ship" + color = "#ff00ff" //Sandy + initial_generic_waypoints = list("tether_excursion_alienship") // -- Objs -- // -/obj/shuttle_connector/alienship - name = "shuttle connector - alienship" - shuttle_name = "Excursion Shuttle" - destinations = list(/datum/shuttle_destination/excursion/alienship) - initialized = TRUE //Just don't. - /obj/away_mission_init/alienship name = "away mission initializer - alienship" icon = 'alienship.dmi' diff --git a/maps/tether/submaps/alienship/alienship.dmm b/maps/tether/submaps/alienship/alienship.dmm index 9c590a9408..18737671f6 100644 --- a/maps/tether/submaps/alienship/alienship.dmm +++ b/maps/tether/submaps/alienship/alienship.dmm @@ -22,8 +22,14 @@ /turf/simulated/shuttle/wall/alien/hard_corner, /area/tether_away/alienship) "ah" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/alienship; + base_turf = /turf/simulated/shuttle/floor/alienplating; + landmark_tag = "tether_excursion_alienship"; + name = "Excursion Alienship" + }, /turf/simulated/shuttle/floor/alienplating, -/area/shuttle/excursion/away_alienship) +/area/tether_away/alienship/equip_dump) "ai" = ( /obj/machinery/door/airlock/alien/locked, /turf/simulated/shuttle/floor/alienplating, @@ -567,6 +573,12 @@ /obj/item/trash/liquidfood, /turf/simulated/shuttle/floor/alien, /area/tether_away/alienship) +"wE" = ( +/turf/simulated/shuttle/wall/alien, +/area/tether_away/alienship/equip_dump) +"Bk" = ( +/turf/simulated/shuttle/floor/alien, +/area/tether_away/alienship/equip_dump) "Rx" = ( /obj/item/weapon/reagent_containers/food/snacks/liquidfood, /turf/simulated/shuttle/floor/alien, @@ -9438,25 +9450,25 @@ ac ae ae ae -ac -ac -af -af -ae -ae -ae -ae +wE +wE +Bk +Bk +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE aE aE aE aE aE -ah -ah -ah -ah -ae -ae af af ac @@ -9580,25 +9592,25 @@ ac ae ac ac -ac -af -af -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae +wE +Bk +Bk +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE ae uA uA @@ -9722,25 +9734,25 @@ ac ac ac af -af -af -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae +Bk +Bk +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE ae ae af @@ -9864,24 +9876,24 @@ ab ab ac af -ae -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE aE gv ae @@ -10006,23 +10018,23 @@ ab aa ac af -ae -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE aE aE ae @@ -10148,24 +10160,24 @@ aa aa ac af -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE aE ae ae @@ -10290,24 +10302,24 @@ ac ac ag af -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE aE ae ae @@ -10432,25 +10444,25 @@ af af am af -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae -ae +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE ae ae ae @@ -10574,24 +10586,24 @@ ac ac ag af -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE aE ae ae @@ -10716,24 +10728,24 @@ aa aa ac af -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE aE ae ae @@ -10858,23 +10870,23 @@ ab aa ac af -ae -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE aE aE ae @@ -11000,25 +11012,25 @@ ab ab ac af -ae -ae -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE ae ae ae @@ -11142,25 +11154,25 @@ ac ac ac af -af -af -ae +Bk +Bk +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae +aE +aE +aE +aE +aE ae ae af @@ -11284,25 +11296,25 @@ ac ae ac ac -ac -af -af -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ah -ae +wE +Bk +Bk +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE ae af af @@ -11426,25 +11438,25 @@ ac ae ae ae -ac -ac -af -af -ae -ae -ae -ae -ae -ae -ah -ah -ae -ae -ae -ah -ah -ae -ae +wE +wE +Bk +Bk +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE af af ac @@ -11568,25 +11580,25 @@ ac ac ac ae -ae -ac -ac -af -af -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae -af +aE +wE +wE +Bk +Bk +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +Bk uA ac ac diff --git a/maps/tether/submaps/backup/tether_misc.dmm b/maps/tether/submaps/backup/tether_misc.dmm new file mode 100644 index 0000000000..d11e75c0ca --- /dev/null +++ b/maps/tether/submaps/backup/tether_misc.dmm @@ -0,0 +1,24681 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdown"; + stopper = 0; + tiles = 0 + }, +/turf/simulated/sky/virgo3b/south, +/area/space) +"ab" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 8 + }, +/obj/structure/flora/pottedplant{ + icon_state = "plant-10" + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_courtroom) +"ac" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 8 + }, +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"ad" = ( +/obj/machinery/door/window/holowindoor{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_courtroom) +"ae" = ( +/turf/unsimulated/mineral/virgo3b, +/area/space) +"af" = ( +/obj/structure/sign/warning/docking_area, +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) +"ag" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"ah" = ( +/obj/machinery/door/window/holowindoor{ + dir = 1; + name = "Jury Box" + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"ai" = ( +/obj/machinery/door/blast/regular{ + dir = 4 + }, +/turf/unsimulated/floor/techfloor_grid, +/area/centcom/simulated/terminal) +"aj" = ( +/obj/structure/sign/warning{ + name = "\improper STAND AWAY FROM TRACK EDGE" + }, +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) +"ak" = ( +/obj/structure/table/woodentable/holotable, +/obj/structure/window/reinforced/holowindow{ + dir = 4 + }, +/obj/structure/window/reinforced/holowindow{ + dir = 1 + }, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"al" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_courtroom) +"am" = ( +/obj/machinery/door/window/holowindoor{ + dir = 8; + name = "Red Team" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_emptycourt) +"an" = ( +/obj/structure/holostool, +/turf/simulated/floor/holofloor/desert, +/area/holodeck/source_picnicarea) +"ao" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/floor_decal/spline/fancy/wood{ + icon_state = "spline_fancy"; + dir = 9 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"ap" = ( +/turf/space, +/area/space) +"aq" = ( +/obj/effect/step_trigger/teleporter/random, +/turf/space, +/area/space) +"ar" = ( +/turf/unsimulated/wall, +/area/space) +"as" = ( +/obj/structure/window/reinforced, +/turf/unsimulated/wall, +/area/space) +"at" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"au" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet/corners{ + icon_state = "carpet_corners"; + dir = 5 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"av" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"aw" = ( +/obj/structure/table/woodentable/holotable, +/obj/structure/window/reinforced/holowindow{ + dir = 4 + }, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"ax" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"ay" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"az" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"aA" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/floor_decal/spline/fancy/wood{ + icon_state = "spline_fancy"; + dir = 10 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"aB" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood/corner{ + dir = 8 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"aC" = ( +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 8; + icon_state = "right" + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_courtroom) +"aD" = ( +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Green Team" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_emptycourt) +"aE" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"aF" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"aG" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 8 + }, +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"aH" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 8 + }, +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"aI" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/unsimulated/wall, +/area/space) +"aJ" = ( +/turf/simulated/floor/holofloor/desert, +/area/holodeck/source_desert) +"aK" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/simulated/floor/holofloor/desert, +/area/holodeck/source_desert) +"aL" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/unsimulated/wall, +/area/space) +"aM" = ( +/obj/structure/flora/ausbushes/fullgrass, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"aN" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"aO" = ( +/obj/structure/table/rack/holorack, +/obj/item/clothing/under/dress/dress_saloon, +/obj/item/clothing/head/pin/flower, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_theatre) +"aP" = ( +/obj/effect/landmark/costume, +/obj/structure/table/rack/holorack, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_theatre) +"aQ" = ( +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_courtroom) +"aR" = ( +/obj/machinery/door/window/holowindoor{ + dir = 8; + name = "Red Team" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_basketball) +"aS" = ( +/obj/structure/table/woodentable/holotable, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"aT" = ( +/turf/simulated/floor/holofloor/reinforced, +/area/holodeck/source_wildlife) +"aU" = ( +/turf/simulated/floor/holofloor/reinforced, +/area/holodeck/source_plating) +"aV" = ( +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_emptycourt) +"aW" = ( +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"aX" = ( +/obj/machinery/door/window/holowindoor{ + dir = 8; + name = "Red Team" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_thunderdomecourt) +"aY" = ( +/obj/effect/floor_decal/corner/red/full{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"aZ" = ( +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"ba" = ( +/obj/effect/floor_decal/corner/red/full{ + dir = 1 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"bb" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/unsimulated/wall, +/area/space) +"bc" = ( +/turf/simulated/shuttle/wall, +/area/shuttle/supply) +"bd" = ( +/obj/structure/flora/ausbushes/fullgrass, +/turf/simulated/floor/holofloor/desert, +/area/holodeck/source_desert) +"be" = ( +/obj/structure/flora/ausbushes/ywflowers, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"bf" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"bg" = ( +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_theatre) +"bh" = ( +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Green Team" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_basketball) +"bi" = ( +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"bj" = ( +/obj/effect/landmark{ + name = "Holocarp Spawn" + }, +/turf/simulated/floor/holofloor/reinforced, +/area/holodeck/source_wildlife) +"bk" = ( +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"bl" = ( +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"bm" = ( +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"bn" = ( +/turf/simulated/shuttle/floor, +/area/shuttle/supply) +"bo" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood/corner, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"bp" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"bq" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"br" = ( +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Green Team" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_thunderdomecourt) +"bs" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 8; + name = "thrower_escapeshuttletop(left)"; + tiles = 0 + }, +/turf/simulated/sky/virgo3b/south, +/area/space) +"bt" = ( +/obj/structure/bed/chair/holochair, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"bu" = ( +/obj/effect/step_trigger/teleporter/planetary_fall/virgo3b, +/turf/simulated/sky/virgo3b/south, +/area/space) +"bv" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 1 + }, +/obj/structure/table/woodentable/holotable, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"bw" = ( +/obj/effect/step_trigger/teleporter/random{ + affect_ghosts = 1; + name = "escapeshuttle_leave"; + teleport_x = 25; + teleport_x_offset = 245; + teleport_y = 25; + teleport_y_offset = 245; + teleport_z = 6; + teleport_z_offset = 6 + }, +/turf/simulated/sky/virgo3b/south, +/area/space) +"bx" = ( +/turf/unsimulated/mineral{ + icon = 'icons/turf/transit_vr.dmi'; + icon_state = "rock" + }, +/area/space) +"by" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/supply) +"bz" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/supply) +"bA" = ( +/turf/unsimulated/wall{ + icon = 'icons/turf/transit_vr.dmi' + }, +/area/space) +"bB" = ( +/turf/simulated/floor/holofloor/desert, +/area/holodeck/source_picnicarea) +"bC" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"bD" = ( +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"bE" = ( +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' + }, +/area/space) +"bF" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"bG" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 1 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_theatre) +"bH" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"bI" = ( +/obj/structure/window/reinforced/holowindow, +/obj/machinery/door/window/holowindoor{ + dir = 1; + name = "Court Reporter's Box" + }, +/obj/structure/bed/chair/holochair, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"bJ" = ( +/obj/structure/table/woodentable/holotable, +/obj/structure/window/reinforced/holowindow, +/obj/structure/window/reinforced/holowindow{ + dir = 8 + }, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"bK" = ( +/obj/structure/table/woodentable/holotable, +/obj/structure/window/reinforced/holowindow, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"bL" = ( +/obj/structure/table/woodentable/holotable, +/obj/structure/window/reinforced/holowindow, +/obj/structure/window/reinforced/holowindow{ + dir = 4 + }, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"bM" = ( +/obj/structure/window/reinforced/holowindow, +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 1; + icon_state = "right"; + name = "Witness Box" + }, +/obj/structure/bed/chair/holochair, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"bN" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 8 + }, +/obj/effect/transit/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"bO" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 4 + }, +/obj/effect/transit/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"bP" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 4; + name = "thrower_escapeshuttletop(right)"; + tiles = 0 + }, +/turf/simulated/sky/virgo3b/south, +/area/space) +"bQ" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "supply_shuttle_hatch"; + locked = 1; + name = "Shuttle Hatch" + }, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/supply) +"bR" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad2" + }, +/turf/simulated/shuttle/floor, +/area/shuttle/supply) +"bS" = ( +/obj/structure/table/woodentable/holotable, +/turf/simulated/floor/holofloor/desert, +/area/holodeck/source_picnicarea) +"bT" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 8 + }, +/obj/effect/transit/light{ + dir = 8 + }, +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"bU" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"bV" = ( +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_theatre) +"bW" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"bX" = ( +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"bY" = ( +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"bZ" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"ca" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cb" = ( +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cc" = ( +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cd" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 8; + name = "thrower_escapeshuttletop(left)"; + tiles = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"ce" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 8; + name = "thrower_escapeshuttletop(left)"; + tiles = 0 + }, +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' + }, +/area/space) +"cf" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 4; + name = "thrower_escapeshuttletop(right)"; + tiles = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"cg" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 4; + name = "thrower_escapeshuttletop(right)"; + tiles = 0 + }, +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' + }, +/area/space) +"ch" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 4 + }, +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"ci" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 8 + }, +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"cj" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 4 + }, +/obj/effect/transit/light{ + dir = 4 + }, +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"ck" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/simulated/sky/virgo3b/south; + landmark_tag = "tether_backup_transit"; + name = "Tether Backup Transit" + }, +/turf/simulated/sky/virgo3b/south, +/area/space) +"cl" = ( +/turf/unsimulated/wall, +/area/beach) +"cm" = ( +/turf/unsimulated/beach/sand{ + density = 1; + opacity = 1 + }, +/area/beach) +"cn" = ( +/turf/unsimulated/beach/sand, +/area/beach) +"co" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/centcom/ferry; + base_turf = /turf/simulated/floor/tiled/techfloor/grid; + docking_controller = null; + landmark_tag = "escape_transit"; + name = "Escape Transit" + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"cp" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"cq" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' + }, +/area/space) +"cr" = ( +/obj/effect/step_trigger/teleporter/random{ + affect_ghosts = 1; + name = "escapeshuttle_leave"; + teleport_x = 25; + teleport_x_offset = 245; + teleport_y = 25; + teleport_y_offset = 245; + teleport_z = 4; + teleport_z_offset = 4 + }, +/turf/space/transit/north, +/area/space) +"cs" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "supply_shuttle_hatch"; + locked = 1; + name = "Shuttle Hatch" + }, +/turf/simulated/shuttle/floor, +/area/shuttle/supply) +"ct" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"cu" = ( +/obj/structure/holostool, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"cv" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"cw" = ( +/obj/structure/table/woodentable/holotable, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cx" = ( +/obj/structure/table/woodentable/holotable, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cy" = ( +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cz" = ( +/obj/structure/table/woodentable/holotable, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cA" = ( +/obj/effect/floor_decal/corner/green{ + dir = 9 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"cB" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"cC" = ( +/obj/structure/signpost, +/turf/unsimulated/beach/sand, +/area/beach) +"cD" = ( +/turf/space/transit/north, +/area/space) +"cE" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 8 + }, +/obj/effect/step_trigger/lost_in_space/tram, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"cF" = ( +/obj/effect/step_trigger/lost_in_space/tram, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"cG" = ( +/obj/effect/step_trigger/lost_in_space/tram, +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' + }, +/area/space) +"cH" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 4 + }, +/obj/effect/step_trigger/lost_in_space/tram, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"cI" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdown"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/space/transit/north, +/area/space) +"cJ" = ( +/obj/effect/transit/light{ + dir = 8 + }, +/turf/unsimulated/mineral{ + icon = 'icons/turf/transit_vr.dmi'; + icon_state = "rock" + }, +/area/space) +"cK" = ( +/obj/structure/closet, +/turf/unsimulated/beach/sand, +/area/beach) +"cL" = ( +/obj/effect/overlay/palmtree_l, +/turf/unsimulated/beach/sand, +/area/beach) +"cM" = ( +/obj/effect/overlay/palmtree_r, +/obj/effect/overlay/coconut, +/turf/unsimulated/beach/sand, +/area/beach) +"cN" = ( +/obj/effect/overlay/coconut, +/turf/unsimulated/beach/sand, +/area/beach) +"cO" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "supply_shuttle"; + pixel_x = -25; + pixel_y = 0; + req_one_access = list(13,31); + tag_door = "supply_shuttle_hatch" + }, +/turf/simulated/shuttle/floor, +/area/shuttle/supply) +"cP" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"cQ" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"cR" = ( +/turf/simulated/sky/virgo3b/south, +/area/space) +"cS" = ( +/obj/structure/bed/chair/holochair{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cT" = ( +/obj/structure/bed/chair/holochair{ + dir = 1 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cU" = ( +/obj/structure/bed/chair/holochair{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"cV" = ( +/obj/effect/overlay/palmtree_r, +/turf/unsimulated/beach/sand, +/area/beach) +"cW" = ( +/obj/structure/fake_stairs/north/bottom{ + _stair_tag = "stairtest" + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"cX" = ( +/turf/unsimulated/seperator, +/area/space) +"cY" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "burst_l" + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry{ + dir = 1 + }, +/area/shuttle/supply) +"cZ" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry{ + dir = 1 + }, +/area/shuttle/supply) +"da" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood/corner{ + dir = 1 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"db" = ( +/obj/effect/landmark{ + name = "endgame_exit" + }, +/turf/unsimulated/beach/sand, +/area/beach) +"dc" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/north; + landmark_tag = "ninja_transit"; + name = "Ninja Transit" + }, +/turf/space/transit/north, +/area/space) +"dd" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"de" = ( +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"df" = ( +/obj/structure/table/standard, +/turf/unsimulated/beach/sand, +/area/beach) +"dg" = ( +/obj/structure/table/standard, +/obj/item/clothing/under/color/rainbow, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/head/collectable/petehat{ + pixel_y = 5 + }, +/turf/unsimulated/beach/sand, +/area/beach) +"dh" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "supply_shuttle_hatch"; + locked = 1; + name = "Shuttle Hatch" + }, +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/supply) +"di" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "QMLoad" + }, +/turf/simulated/shuttle/floor, +/area/shuttle/supply) +"dj" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"dk" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"dl" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"dm" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"dn" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/snacks/chips, +/turf/unsimulated/beach/sand, +/area/beach) +"do" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/obj/item/weapon/reagent_containers/food/drinks/cans/cola, +/turf/unsimulated/beach/sand, +/area/beach) +"dp" = ( +/obj/item/weapon/beach_ball, +/turf/unsimulated/beach/sand, +/area/beach) +"dq" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-06" + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_theatre) +"dr" = ( +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_theatre) +"ds" = ( +/obj/structure/bed/chair/holochair{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"dt" = ( +/obj/structure/bed/chair/holochair{ + dir = 1 + }, +/obj/effect/floor_decal/carpet, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"du" = ( +/obj/structure/bed/chair/holochair{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"dv" = ( +/obj/effect/floor_decal/corner/green/full, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"dw" = ( +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"dx" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"dy" = ( +/obj/structure/bed/chair, +/obj/effect/landmark{ + name = "endgame_exit" + }, +/obj/item/toy/plushie/mouse{ + desc = "A plushie of a small fuzzy rodent."; + name = "Woodrat" + }, +/turf/unsimulated/beach/sand, +/area/beach) +"dz" = ( +/obj/structure/bed/chair, +/obj/effect/landmark{ + name = "endgame_exit" + }, +/turf/unsimulated/beach/sand, +/area/beach) +"dA" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/unsimulated/wall, +/area/space) +"dB" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/turf/unsimulated/wall, +/area/space) +"dC" = ( +/obj/machinery/vending/coffee, +/turf/unsimulated/beach/sand, +/area/beach) +"dD" = ( +/obj/item/clothing/head/collectable/paper, +/turf/unsimulated/beach/sand, +/area/beach) +"dE" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/airless, +/area/shuttle/supply) +"dF" = ( +/turf/simulated/floor/holofloor/space, +/area/holodeck/source_space) +"dG" = ( +/turf/simulated/floor/holofloor/snow, +/area/holodeck/source_snowfield) +"dH" = ( +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_meetinghall) +"dI" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-06" + }, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_meetinghall) +"dJ" = ( +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_basketball) +"dK" = ( +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"dL" = ( +/turf/unsimulated/floor{ + icon_state = "sandwater" + }, +/area/beach) +"dM" = ( +/obj/effect/floor_decal/corner/red/full{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"dN" = ( +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"dO" = ( +/obj/structure/holohoop, +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"dP" = ( +/obj/effect/floor_decal/corner/red/full{ + dir = 1 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"dQ" = ( +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/source_beach) +"dR" = ( +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_thunderdomecourt) +"dS" = ( +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"dT" = ( +/turf/unsimulated/beach/coastline{ + density = 1; + opacity = 1 + }, +/area/beach) +"dU" = ( +/obj/structure/table/holotable, +/obj/machinery/readybutton{ + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/red/full{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"dV" = ( +/obj/structure/table/holotable, +/obj/item/clothing/head/helmet/thunderdome, +/obj/item/clothing/suit/armor/tdome/red, +/obj/item/clothing/under/color/red, +/obj/item/weapon/holo/esword/red, +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"dW" = ( +/obj/structure/table/holotable, +/obj/effect/floor_decal/corner/red/full{ + dir = 1 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"dX" = ( +/obj/structure/table/holotable, +/obj/item/clothing/gloves/boxing/hologlove, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"dY" = ( +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"dZ" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) +"ea" = ( +/turf/space, +/turf/space/transit/north, +/area/space) +"eb" = ( +/turf/unsimulated/beach/coastline, +/area/beach) +"ec" = ( +/obj/effect/landmark{ + name = "Holocarp Spawn Random" + }, +/turf/simulated/floor/holofloor/space, +/area/holodeck/source_space) +"ed" = ( +/obj/structure/flora/grass/both, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/source_snowfield) +"ee" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"ef" = ( +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"eg" = ( +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"eh" = ( +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"ei" = ( +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"ej" = ( +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"ek" = ( +/obj/effect/overlay/palmtree_r, +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/source_beach) +"el" = ( +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"em" = ( +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"en" = ( +/obj/effect/floor_decal/corner/red{ + dir = 6 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"eo" = ( +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"ep" = ( +/obj/structure/flora/tree/pine, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/source_snowfield) +"eq" = ( +/obj/structure/table/woodentable/holotable, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_meetinghall) +"er" = ( +/turf/unsimulated/beach/water{ + density = 1; + opacity = 1 + }, +/area/beach) +"es" = ( +/obj/item/clothing/glasses/sunglasses, +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/source_beach) +"et" = ( +/obj/effect/overlay/palmtree_l, +/obj/effect/overlay/coconut, +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/source_beach) +"eu" = ( +/turf/unsimulated/beach/water, +/area/beach) +"ev" = ( +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 2; + icon_state = "right"; + name = "Red Corner" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"ew" = ( +/obj/structure/window/reinforced/holowindow, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"ex" = ( +/obj/structure/shuttle/engine/propulsion, +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + landmark_tag = "supply_cc"; + name = "Centcom Supply Depot" + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry{ + dir = 1 + }, +/area/shuttle/supply) +"ey" = ( +/obj/structure/fake_stairs/south/top{ + _stair_tag = "stairtest" + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"ez" = ( +/obj/effect/step_trigger/teleporter/planetary_fall/virgo3b, +/turf/space/transit/east, +/area/space) +"eA" = ( +/turf/space/transit/east, +/area/space) +"eB" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + name = "thrower_leftnostop" + }, +/turf/space/transit/east, +/area/space) +"eC" = ( +/obj/effect/step_trigger/thrower{ + direction = 1; + name = "thrower_throwup"; + nostop = 0; + tiles = 0 + }, +/turf/space/transit/east, +/area/space) +"eD" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/east; + landmark_tag = "belter_transit"; + name = "Belter Transit" + }, +/turf/space/transit/east, +/area/space) +"eE" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/east; + landmark_tag = "escapepod1_transit"; + name = "Escapepod 1 Transit" + }, +/turf/space/transit/east, +/area/space) +"eF" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdown"; + stopper = 0; + tiles = 0 + }, +/turf/space/transit/east, +/area/space) +"eG" = ( +/obj/effect/step_trigger/teleporter/random{ + affect_ghosts = 1; + name = "escapeshuttle_leave"; + teleport_x = 25; + teleport_x_offset = 245; + teleport_y = 25; + teleport_y_offset = 245; + teleport_z = 4; + teleport_z_offset = 4 + }, +/turf/space/transit/west, +/area/space) +"eH" = ( +/turf/space/transit/west, +/area/space) +"eI" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdown"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/space/transit/west, +/area/space) +"eJ" = ( +/obj/structure/flora/tree/dead, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/source_snowfield) +"eK" = ( +/turf/simulated/floor/holofloor/lino, +/area/holodeck/source_meetinghall) +"eL" = ( +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_meetinghall) +"eM" = ( +/obj/item/weapon/beach_ball, +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/source_beach) +"eN" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"eO" = ( +/obj/effect/floor_decal/corner/red/full{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"eP" = ( +/obj/effect/floor_decal/corner/red{ + dir = 5 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"eQ" = ( +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"eR" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"eS" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/east; + landmark_tag = "specops_transit"; + name = "Specops Transit" + }, +/turf/space/transit/west, +/area/space) +"eT" = ( +/obj/structure/flora/grass/green, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/source_snowfield) +"eU" = ( +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"eV" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"eW" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"eX" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"eY" = ( +/obj/effect/floor_decal/corner/red/full, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"eZ" = ( +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fa" = ( +/obj/item/weapon/beach_ball/holoball, +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fb" = ( +/obj/effect/floor_decal/corner/red/full{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fc" = ( +/obj/item/weapon/inflatable_duck, +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/source_beach) +"fd" = ( +/obj/structure/window/reinforced/holowindow/disappearing, +/obj/effect/floor_decal/corner/red/full, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fe" = ( +/obj/structure/window/reinforced/holowindow/disappearing, +/obj/effect/floor_decal/corner/red{ + dir = 10 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"ff" = ( +/obj/structure/window/reinforced/holowindow/disappearing, +/obj/effect/floor_decal/corner/red/full{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fg" = ( +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"fh" = ( +/obj/effect/floor_decal/corner/blue/full{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"fi" = ( +/obj/effect/floor_decal/corner/blue/full{ + dir = 1 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"fj" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"fk" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/north; + landmark_tag = "skipjack_transit"; + name = "Skipjack Transit" + }, +/turf/space/transit/north, +/area/space) +"fl" = ( +/obj/effect/floor_decal/industrial/danger, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"fm" = ( +/obj/machinery/light, +/obj/effect/floor_decal/industrial/danger, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"fn" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"fo" = ( +/obj/structure/holostool, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"fp" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"fq" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fr" = ( +/obj/effect/floor_decal/corner/green{ + dir = 5 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fs" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 1 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"ft" = ( +/obj/structure/window/reinforced/holowindow/disappearing{ + dir = 1 + }, +/obj/effect/floor_decal/corner/green/full{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fu" = ( +/obj/structure/window/reinforced/holowindow/disappearing{ + dir = 1 + }, +/obj/effect/floor_decal/corner/green{ + dir = 5 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fv" = ( +/obj/structure/window/reinforced/holowindow/disappearing{ + dir = 1 + }, +/obj/effect/floor_decal/corner/green/full{ + dir = 1 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fw" = ( +/obj/effect/floor_decal/corner/blue/full, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"fx" = ( +/obj/effect/floor_decal/corner/blue/full{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"fy" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"fz" = ( +/obj/effect/floor_decal/corner/green{ + dir = 9 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fA" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fB" = ( +/obj/effect/floor_decal/corner/green{ + dir = 9 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fC" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fD" = ( +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"fE" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_boxingcourt) +"fF" = ( +/obj/structure/shuttle/engine/propulsion{ + icon_state = "burst_r" + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry{ + dir = 1 + }, +/area/shuttle/supply) +"fG" = ( +/obj/structure/flora/grass/brown, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/source_snowfield) +"fH" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet{ + dir = 8 + }, +/area/holodeck/source_meetinghall) +"fI" = ( +/obj/effect/step_trigger/teleporter/random{ + affect_ghosts = 1; + name = "escapeshuttle_leave"; + teleport_x = 25; + teleport_x_offset = 245; + teleport_y = 25; + teleport_y_offset = 245; + teleport_z = 4; + teleport_z_offset = 4 + }, +/turf/space, +/turf/space/transit/north, +/area/space) +"fJ" = ( +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fK" = ( +/turf/unsimulated/beach/sand{ + icon_state = "beach" + }, +/area/holodeck/source_beach) +"fM" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 1 + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"fN" = ( +/obj/machinery/door/window/holowindoor{ + dir = 1; + name = "Green Corner" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"fO" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"fP" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"fQ" = ( +/obj/structure/holostool, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_meetinghall) +"fR" = ( +/turf/simulated/floor/holofloor/beach/water, +/area/holodeck/source_beach) +"fS" = ( +/obj/effect/floor_decal/corner/green/full, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fT" = ( +/obj/structure/holohoop{ + dir = 1 + }, +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fU" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) +"fV" = ( +/obj/structure/table/holotable, +/obj/effect/floor_decal/corner/green/full, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fW" = ( +/obj/structure/table/holotable, +/obj/item/clothing/head/helmet/thunderdome, +/obj/item/clothing/suit/armor/tdome/green, +/obj/item/clothing/under/color/green, +/obj/item/weapon/holo/esword/green, +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fX" = ( +/obj/structure/table/holotable, +/obj/machinery/readybutton{ + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/green/full{ + dir = 4 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) +"fY" = ( +/obj/structure/table/holotable, +/obj/item/clothing/gloves/boxing/hologlove{ + icon_state = "boxinggreen"; + item_state = "boxinggreen" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_boxingcourt) +"fZ" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/unsimulated/wall, +/area/space) +"ga" = ( +/turf/simulated/floor/holofloor/wood, +/area/holodeck/holodorm/source_basic) +"gb" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/holodorm/source_basic) +"gc" = ( +/obj/structure/table/woodentable/holotable, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/holodorm/source_basic) +"gd" = ( +/obj/structure/bed/chair/holochair{ + dir = 8 + }, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/holodorm/source_basic) +"ge" = ( +/obj/effect/overlay/palmtree_r, +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/holodorm/source_beach) +"gf" = ( +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/holodorm/source_beach) +"gg" = ( +/obj/effect/overlay/coconut, +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/holodorm/source_beach) +"gh" = ( +/obj/item/clothing/glasses/sunglasses, +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/holodorm/source_beach) +"gi" = ( +/obj/effect/overlay/palmtree_l, +/turf/simulated/floor/holofloor/beach/sand, +/area/holodeck/holodorm/source_beach) +"gj" = ( +/obj/structure/flora/grass/brown, +/obj/structure/flora/tree/dead, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/holodorm/source_snow) +"gk" = ( +/turf/simulated/floor/holofloor/snow, +/area/holodeck/holodorm/source_snow) +"gl" = ( +/turf/unsimulated/beach/sand{ + icon_state = "beach" + }, +/area/holodeck/holodorm/source_beach) +"gm" = ( +/obj/effect/landmark{ + name = "Wolfgirl Spawn" + }, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/holodorm/source_snow) +"gn" = ( +/obj/structure/flora/grass/brown, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/holodorm/source_snow) +"go" = ( +/obj/structure/flora/grass/green, +/obj/structure/flora/tree/pine, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/holodorm/source_snow) +"gq" = ( +/obj/structure/bed/holobed, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/holodorm/source_basic) +"gr" = ( +/turf/simulated/floor/holofloor/beach/water, +/area/holodeck/holodorm/source_beach) +"gs" = ( +/obj/structure/flora/grass/green, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/holodorm/source_snow) +"gt" = ( +/obj/structure/flora/grass/both, +/turf/simulated/floor/holofloor/snow, +/area/holodeck/holodorm/source_snow) +"gN" = ( +/obj/structure/flora/ausbushes/fullgrass, +/turf/simulated/floor/holofloor/desert, +/area/holodeck/holodorm/source_desert) +"gO" = ( +/turf/simulated/floor/holofloor/desert, +/area/holodeck/holodorm/source_desert) +"gP" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/simulated/floor/holofloor/desert, +/area/holodeck/holodorm/source_desert) +"gQ" = ( +/obj/structure/flora/ausbushes/brflowers, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/holodorm/source_garden) +"gR" = ( +/obj/structure/flora/ausbushes/ywflowers, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/holodorm/source_garden) +"gS" = ( +/turf/simulated/floor/holofloor/reinforced, +/area/holodeck/holodorm/source_off) +"hg" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/landmark{ + name = "Catgirl Spawn" + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/holodorm/source_garden) +"hn" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/base_high, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"hx" = ( +/turf/simulated/floor/holofloor/wood, +/area/holodeck/holodorm/source_seating) +"hy" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/holodorm/source_seating) +"hz" = ( +/obj/structure/bed/chair/holochair, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/holodorm/source_seating) +"hA" = ( +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/holodorm/source_seating) +"hB" = ( +/obj/structure/table/holotable, +/obj/item/clothing/gloves/boxing/hologlove, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/holodorm/source_boxing) +"hC" = ( +/obj/effect/floor_decal/corner/red{ + dir = 9 + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/holodorm/source_boxing) +"hD" = ( +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/holodorm/source_boxing) +"hE" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/holodorm/source_boxing) +"hF" = ( +/turf/simulated/floor/holofloor/space, +/area/holodeck/holodorm/source_space) +"hJ" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/holodorm/source_seating) +"hK" = ( +/obj/structure/table/woodentable/holotable, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/holodorm/source_seating) +"hL" = ( +/obj/structure/bed/chair/holochair{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/holodorm/source_seating) +"hO" = ( +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/holodorm/source_seating) +"hP" = ( +/obj/structure/bed/chair/holochair{ + dir = 1 + }, +/obj/effect/floor_decal/carpet, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/holodorm/source_seating) +"hQ" = ( +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 6 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/holodorm/source_seating) +"hR" = ( +/obj/structure/table/holotable, +/obj/item/clothing/gloves/boxing/hologlove{ + icon_state = "boxinggreen"; + item_state = "boxinggreen" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/holodorm/source_boxing) +"kh" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/base_mid, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"kr" = ( +/obj/machinery/telecomms/server/presets/centcomm, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"kF" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/midpoint, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"pb" = ( +/obj/machinery/telecomms/processor/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"rE" = ( +/obj/machinery/telecomms/bus/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"sF" = ( +/obj/effect/overmap/bluespace_rift, +/turf/unsimulated/map, +/area/overmap) +"uc" = ( +/turf/unsimulated/wall, +/area/centcom/suppy) +"ud" = ( +/obj/machinery/status_display/supply_display, +/turf/unsimulated/wall, +/area/centcom/suppy) +"ue" = ( +/obj/structure/closet/crate, +/turf/unsimulated/floor{ + icon_state = "vault"; + dir = 1 + }, +/area/centcom/suppy) +"uf" = ( +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/centcom/suppy) +"ug" = ( +/obj/item/weapon/paper{ + info = "You're not supposed to be here."; + name = "unnerving letter" + }, +/turf/unsimulated/floor{ + icon_state = "dark" + }, +/area/centcom/suppy) +"vt" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/station_high, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"wd" = ( +/obj/structure/sign/warning/nosmoking_2, +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) +"wl" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/evac) +"wy" = ( +/turf/unsimulated/wall, +/area/centcom/control) +"xe" = ( +/obj/machinery/account_database{ + name = "CentComm Accounts database" + }, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"yA" = ( +/obj/machinery/telecomms/receiver/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"zK" = ( +/obj/machinery/door/blast/regular{ + dir = 4 + }, +/turf/simulated/floor/maglev, +/area/centcom/simulated/terminal) +"Al" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"Ct" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/station_low, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Cw" = ( +/obj/machinery/r_n_d/server/centcom, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Dc" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/station_mid, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Dn" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/sci_outpost, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"ET" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"Fp" = ( +/turf/simulated/floor/maglev, +/area/centcom/simulated/terminal) +"FW" = ( +/obj/machinery/telecomms/relay/preset/centcom/underdark, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Ga" = ( +/turf/unsimulated/floor/steel, +/area/centcom/control) +"HQ" = ( +/obj/machinery/telecomms/broadcaster/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Iq" = ( +/obj/machinery/telecomms/hub/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Jx" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/obj/effect/floor_decal/corner_steel_grid/diagonal{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/danger{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"JR" = ( +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "TelelockdownC"; + name = "Security Doors"; + opacity = 0 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"ME" = ( +/obj/machinery/computer/rdservercontrol{ + name = "Master R&D Server Controller"; + icon_state = "computer"; + dir = 1; + badmin = 1 + }, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Nq" = ( +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Nr" = ( +/obj/machinery/cryopod/robot/door/gateway, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"OR" = ( +/turf/simulated/shuttle/wall, +/area/shuttle/escape) +"OY" = ( +/turf/unsimulated/map, +/area/overmap) +"Pe" = ( +/obj/structure/grille, +/obj/structure/shuttle/window, +/turf/simulated/shuttle/plating, +/area/shuttle/escape) +"Pf" = ( +/obj/structure/table/woodentable{ + dir = 5 + }, +/obj/structure/flora/pottedplant{ + pixel_y = 8 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Pg" = ( +/turf/simulated/shuttle/wall/hard_corner, +/area/shuttle/escape) +"Qa" = ( +/obj/structure/closet/hydrant{ + pixel_x = -30; + pixel_y = 0 + }, +/obj/item/weapon/storage/firstaid/o2{ + layer = 2.8; + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/weapon/storage/firstaid/fire, +/obj/item/weapon/storage/firstaid/toxin, +/obj/structure/bed/chair/shuttle, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"QW" = ( +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"QX" = ( +/obj/structure/bed/chair/shuttle, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"QY" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-21" + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Rc" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"Rd" = ( +/obj/structure/table/standard, +/obj/random/maintenance/clean, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Re" = ( +/obj/structure/table/standard, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rf" = ( +/obj/machinery/status_display{ + pixel_y = 30 + }, +/obj/structure/table/standard, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rg" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rh" = ( +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'HIGH VOLTAGE'"; + icon_state = "shock"; + name = "HIGH VOLTAGE" + }, +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) +"Ri" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "escape_shuttle_hatch_station"; + locked = 1; + name = "Shuttle Hatch" + }, +/turf/simulated/shuttle/floor/yellow, +/area/shuttle/escape) +"Rj" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "escape_shuttle_hatch_offsite"; + locked = 1; + name = "Shuttle Hatch" + }, +/turf/simulated/shuttle/floor/yellow, +/area/shuttle/escape) +"Rk" = ( +/obj/structure/bed/chair/shuttle, +/obj/structure/closet/walllocker/emerglocker{ + pixel_x = -28 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rl" = ( +/obj/structure/bed/chair/shuttle, +/obj/structure/closet/walllocker/emerglocker{ + pixel_x = 28 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rm" = ( +/obj/structure/table/standard, +/obj/random/junk, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Ro" = ( +/obj/structure/table/standard, +/obj/random/maintenance/clean, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rq" = ( +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "TelelockdownC"; + name = "Security Doors"; + opacity = 0 + }, +/obj/effect/floor_decal/industrial/warning, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Rr" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-22" + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"Rs" = ( +/obj/structure/sign/nanotrasen, +/obj/effect/shuttle_landmark{ + base_area = /area/centcom/simulated/terminal; + base_turf = /turf/simulated/floor/tiled/techfloor/grid; + docking_controller = null; + landmark_tag = "escape_cc"; + name = "Escape Transit" + }, +/turf/simulated/shuttle/wall, +/area/shuttle/escape) +"Rt" = ( +/obj/structure/sign/nanotrasen, +/turf/simulated/shuttle/wall, +/area/shuttle/escape) +"Ru" = ( +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"Rv" = ( +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "TelelockdownC"; + name = "Security Doors"; + opacity = 0 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Rw" = ( +/obj/structure/table/standard, +/obj/item/clothing/head/beret/nanotrasen, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rx" = ( +/obj/structure/table/standard, +/obj/random/plushie, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Ry" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker{ + pixel_x = -28 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rz" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker{ + pixel_x = 28 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RA" = ( +/obj/structure/grille, +/obj/structure/shuttle/window, +/turf/simulated/shuttle/floor/white, +/area/shuttle/escape) +"RC" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RD" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RE" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/light, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RF" = ( +/obj/random/junk, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RG" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/random/soap, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Sl" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/camera/network/crescent{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"Sm" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/unknown/dorm4) +"Sn" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/unknown/dorm4) +"So" = ( +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Sp" = ( +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Sq" = ( +/obj/structure/toilet, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Sr" = ( +/obj/machinery/shower{ + pixel_y = 13 + }, +/obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Ss" = ( +/obj/machinery/door/airlock/alien/blue/public, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Su" = ( +/obj/structure/closet/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"Sw" = ( +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"Sx" = ( +/obj/structure/fans, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"Sz" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/towel/random, +/obj/item/weapon/towel/random, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SA" = ( +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SB" = ( +/obj/structure/table/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SC" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Unknown"; + tele_network = "unkfour" + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"SD" = ( +/obj/item/weapon/bedsheet/rddouble, +/obj/structure/bed/double/padded, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SE" = ( +/obj/structure/prop/alien/computer{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SF" = ( +/obj/structure/prop/alien/dispenser, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SG" = ( +/obj/machinery/door/blast/regular{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"SH" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"SK" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SN" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SO" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SP" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SQ" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor/voidcraft, +/area/unknown/dorm4) +"SR" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"SS" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"ST" = ( +/obj/structure/prop/alien/power, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"SV" = ( +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"SW" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Transfer"; + tele_network = "centcom" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"SX" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/unknown/dorm3) +"SY" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/unknown/dorm3) +"SZ" = ( +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Ta" = ( +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Tb" = ( +/obj/structure/toilet, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Tc" = ( +/obj/machinery/shower{ + pixel_y = 13 + }, +/obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Td" = ( +/obj/machinery/door/airlock/alien/blue/public, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Tf" = ( +/obj/machinery/cryopod/robot/door/gateway, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Th" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Ti" = ( +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Tj" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Tk" = ( +/obj/structure/closet/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tl" = ( +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tm" = ( +/obj/structure/fans, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"To" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/towel/random, +/obj/item/weapon/towel/random, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tp" = ( +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tq" = ( +/obj/structure/table/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tr" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Unknown"; + tele_network = "unkthree" + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Tt" = ( +/obj/item/weapon/bedsheet/rddouble, +/obj/structure/bed/double/padded, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tu" = ( +/obj/structure/prop/alien/computer{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tx" = ( +/obj/structure/prop/alien/dispenser, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Ty" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tz" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"TA" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"TB" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"TC" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor/voidcraft, +/area/unknown/dorm3) +"TD" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"TE" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"TH" = ( +/obj/structure/prop/alien/power, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"TI" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/centcom/simulated/terminal) +"TJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"TK" = ( +/turf/simulated/shuttle/wall/alien/hard_corner, +/area/unknown/dorm2) +"TM" = ( +/turf/simulated/shuttle/wall/alien, +/area/unknown/dorm2) +"TN" = ( +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TP" = ( +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TQ" = ( +/obj/structure/toilet, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TR" = ( +/obj/machinery/shower{ + pixel_y = 13 + }, +/obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TS" = ( +/obj/machinery/door/airlock/alien/public, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TT" = ( +/obj/structure/closet/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TU" = ( +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TV" = ( +/obj/structure/fans, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TW" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/towel/random, +/obj/item/weapon/towel/random, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TX" = ( +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TY" = ( +/obj/machinery/door/firedoor, +/turf/unsimulated/floor/steel, +/area/centcom/simulated/terminal) +"TZ" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Ua" = ( +/obj/structure/table/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Ub" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Unknown"; + tele_network = "unktwo" + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"Uc" = ( +/obj/item/weapon/bedsheet/rddouble, +/obj/structure/bed/double/padded, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Ud" = ( +/obj/structure/prop/alien/computer{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Uf" = ( +/obj/structure/prop/alien/dispenser, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Ug" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Uh" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Ui" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Uj" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Uk" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor/voidcraft, +/area/unknown/dorm2) +"Ul" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"Um" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"Uo" = ( +/obj/structure/prop/alien/power, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"Up" = ( +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Ur" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Us" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Ut" = ( +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Uu" = ( +/obj/effect/floor_decal/industrial/warning/dust, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Uv" = ( +/obj/effect/floor_decal/industrial/outline, +/obj/structure/bed/chair, +/turf/unsimulated/floor/steel, +/area/centcom/simulated/main_hall) +"Uw" = ( +/turf/simulated/shuttle/wall/alien/hard_corner, +/area/unknown/dorm1) +"Ux" = ( +/turf/simulated/shuttle/wall/alien, +/area/unknown/dorm1) +"Uz" = ( +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UA" = ( +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UC" = ( +/obj/structure/toilet, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UD" = ( +/obj/machinery/shower{ + pixel_y = 13 + }, +/obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UE" = ( +/obj/effect/floor_decal/industrial/outline, +/obj/structure/bed/chair, +/obj/machinery/status_display{ + pixel_y = 29 + }, +/turf/unsimulated/floor/steel, +/area/centcom/simulated/main_hall) +"UF" = ( +/obj/machinery/door/airlock/alien/public, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UG" = ( +/obj/structure/closet/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UH" = ( +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UI" = ( +/obj/structure/fans, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UJ" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/towel/random, +/obj/item/weapon/towel/random, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UK" = ( +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UM" = ( +/obj/structure/table/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UN" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Unknown"; + tele_network = "unkone" + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UP" = ( +/obj/item/weapon/bedsheet/rddouble, +/obj/structure/bed/double/padded, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UQ" = ( +/obj/structure/prop/alien/computer{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UR" = ( +/obj/structure/prop/alien/dispenser, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"US" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UT" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UU" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UV" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UW" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor/voidcraft, +/area/unknown/dorm1) +"UX" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UY" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UZ" = ( +/obj/structure/prop/alien/power, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"Va" = ( +/obj/effect/floor_decal/rust/steel_decals_rusted2, +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vb" = ( +/obj/machinery/recharge_station, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Vc" = ( +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Vd" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/medical) +"Ve" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/obj/structure/sign/department/medbay, +/turf/unsimulated/floor{ + icon_state = "plating"; + name = "plating" + }, +/area/centcom/simulated/medical) +"Vf" = ( +/obj/machinery/door/airlock{ + name = "Unit 4" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Vg" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/living) +"Vh" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/obj/effect/floor_decal/corner_steel_grid/diagonal{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/danger{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Vi" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vj" = ( +/turf/simulated/floor/tiled/steel, +/area/shuttle/large_escape_pod2/centcom{ + base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b + }) +"Vk" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/bathroom) +"Vl" = ( +/obj/structure/sign/warning{ + name = "\improper STAND AWAY FROM TRACK EDGE" + }, +/turf/unsimulated/wall, +/area/centcom/simulated/living) +"Vm" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel, +/area/shuttle/large_escape_pod2/centcom{ + base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b + }) +"Vn" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vo" = ( +/obj/machinery/door/blast/regular{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vp" = ( +/obj/effect/floor_decal/rust/part_rusted3, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vq" = ( +/obj/effect/floor_decal/rust/part_rusted3, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vr" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vs" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vt" = ( +/obj/effect/floor_decal/rust/mono_rusted3, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vu" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/main_hall) +"Vv" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/unsimulated/floor/steel, +/area/centcom/simulated/terminal) +"Vw" = ( +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"Vy" = ( +/obj/machinery/door/airlock{ + name = "Unit 3" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Vz" = ( +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"VB" = ( +/obj/effect/floor_decal/sign/dock/one, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VD" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VE" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/centcom/simulated/evac; + base_turf = /turf/unsimulated/floor/steel; + docking_controller = null; + landmark_tag = "escapepod1_cc"; + name = "Centcom Recovery Area" + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VF" = ( +/obj/effect/floor_decal/sign/dock/two, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VI" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"VJ" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/restaurant) +"VL" = ( +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/restaurant) +"VM" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/restaurant) +"VN" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/turf/simulated/floor/tiled/steel, +/area/shuttle/large_escape_pod2/centcom{ + base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b + }) +"VO" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VP" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VQ" = ( +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"VR" = ( +/obj/structure/bed/chair/wood/wings, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"VS" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/obj/effect/floor_decal/industrial/warning/dust/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VU" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VV" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VX" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VY" = ( +/obj/structure/closet/crate/bin, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"VZ" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wb" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/pastatomato, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wc" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wd" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 8 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"We" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/fries, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wh" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Wi" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Wj" = ( +/obj/effect/blocker, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/living) +"Wk" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/cheeseburger{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wl" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/kitsuneudon, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wm" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/lasagna, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wo" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/hotdog, +/obj/item/weapon/reagent_containers/food/snacks/hotdog{ + pixel_x = -5; + pixel_y = -3 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wp" = ( +/obj/machinery/cryopod/robot/door/dorms, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Wq" = ( +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/obj/machinery/computer/cryopod/dorms{ + name = "Company Property Retention System"; + pixel_x = 0; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Ws" = ( +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Wt" = ( +/obj/machinery/porta_turret/crescent{ + density = 1 + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Wu" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wv" = ( +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Wz" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WA" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/grilledcheese, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WB" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/turf/simulated/floor/plating, +/area/centcom/simulated/restaurant) +"WC" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/turf/simulated/floor/plating, +/area/centcom/simulated/medical) +"WE" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "FrontlockC2"; + name = "Security Door"; + opacity = 0 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"WF" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/meatballsoup, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WH" = ( +/obj/item/weapon/stool/padded, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WI" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/roastbeef, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/northleft{ + req_access = list(63); + req_one_access = list(1) + }, +/obj/item/weapon/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/weapon/pen, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "FrontlockC2"; + name = "Security Door"; + opacity = 0 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"WK" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window/brigdoor/northright{ + req_access = list(63); + req_one_access = list(1) + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "FrontlockC2"; + name = "Security Door"; + opacity = 0 + }, +/obj/machinery/computer/skills, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"WL" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/meatsteak, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WN" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WO" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cola, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WP" = ( +/obj/structure/table/woodentable, +/obj/machinery/cash_register/civilian, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WQ" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WR" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich{ + pixel_w = 0; + pixel_x = 0; + pixel_y = 10 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WS" = ( +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"WT" = ( +/obj/structure/bed/chair, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"WU" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/spray/cleaner{ + desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; + name = "Surgery Cleaner"; + pixel_x = 2; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"WV" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WW" = ( +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WZ" = ( +/obj/machinery/vending/coffee, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xa" = ( +/obj/machinery/vending/sovietsoda, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xb" = ( +/obj/machinery/vending/snack, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xc" = ( +/obj/machinery/vending/cola, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xd" = ( +/obj/machinery/vending/cigarette, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xe" = ( +/obj/machinery/smartfridge/drinks, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Xf" = ( +/obj/machinery/vending/boozeomat, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Xg" = ( +/obj/structure/table/reinforced, +/obj/machinery/chemical_dispenser/bar_soft/full, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Xh" = ( +/obj/structure/table/reinforced, +/obj/machinery/chemical_dispenser/bar_alc/full, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Xi" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/bar) +"Xj" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/firstaid/surgery, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Xk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/glass, +/turf/unsimulated/floor/steel{ + icon_state = "white" + }, +/area/centcom/simulated/medical) +"Xl" = ( +/turf/unsimulated/map/edge, +/area/overmap) +"Xm" = ( +/obj/machinery/door/firedoor, +/turf/unsimulated/floor/steel{ + icon_state = "white" + }, +/area/centcom/simulated/medical) +"Xn" = ( +/obj/structure/sign/greencross, +/turf/unsimulated/wall, +/area/centcom/simulated/medical) +"Xp" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Xr" = ( +/obj/structure/bed/chair, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Xs" = ( +/obj/machinery/computer/card{ + dir = 4 + }, +/obj/item/device/radio/intercom{ + broadcasting = 0; + dir = 1; + frequency = 1475; + icon_state = "intercom"; + listening = 1; + name = "Station Intercom (Security)"; + pixel_x = 0; + pixel_y = 27 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Xv" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Xw" = ( +/obj/structure/bed/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Xx" = ( +/obj/machinery/computer/security{ + dir = 8 + }, +/obj/machinery/camera/network/crescent, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Xy" = ( +/obj/structure/table/standard, +/obj/item/stack/nanopaste, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Xz" = ( +/obj/effect/floor_decal/industrial/loading, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XA" = ( +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XB" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 12; + pixel_y = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XC" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"XD" = ( +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"XE" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"XH" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"XJ" = ( +/obj/structure/table/glass, +/obj/item/device/healthanalyzer/improved, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XK" = ( +/obj/structure/table/glass, +/obj/machinery/computer/med_data{ + icon_keyboard = "laptop_key"; + icon_screen = "medlaptop"; + icon_state = "laptop"; + light_color = "#00b000" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XM" = ( +/obj/structure/table/glass{ + desc = "It's a table, it has some scracthes..they say 'Mlem'." + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XN" = ( +/obj/structure/table/glass, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XP" = ( +/obj/machinery/oxygen_pump/anesthetic, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XQ" = ( +/obj/machinery/optable, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XR" = ( +/obj/machinery/computer/operating{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XS" = ( +/obj/structure/closet/crate/freezer, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XU" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"XV" = ( +/obj/machinery/turretid/stun{ + check_access = 0; + check_anomalies = 0; + check_records = 0; + check_synth = 0; + check_weapons = 0; + control_area = "\improper CentCom Security Arrivals"; + pixel_x = 32; + req_access = list(101); + req_one_access = list(101) + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"XX" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XZ" = ( +/obj/structure/bed/chair/office/dark, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Ya" = ( +/obj/machinery/camera/network/crescent, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yb" = ( +/obj/structure/table/glass, +/obj/item/weapon/paper_bin{ + pixel_x = -1; + pixel_y = 3 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yc" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yg" = ( +/obj/structure/sign/department/operational, +/turf/unsimulated/wall, +/area/centcom/simulated/medical) +"Yh" = ( +/obj/effect/floor_decal/industrial/loading{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yj" = ( +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yk" = ( +/obj/structure/medical_stand, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yl" = ( +/obj/machinery/door/airlock/security{ + name = "Security" + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Ym" = ( +/obj/machinery/vending/medical, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yo" = ( +/obj/structure/closet/secure_closet/medical2, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yr" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Ys" = ( +/obj/machinery/recharger/wallcharger{ + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Yt" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Yu" = ( +/obj/machinery/camera/network/crescent, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Yv" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + req_access = list(5) + }, +/obj/machinery/door/firedoor/multi_tile, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yw" = ( +/obj/machinery/door/airlock/medical{ + name = "Operating Theatre"; + req_access = list(45) + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yx" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Yy" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"YB" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 7; + pixel_y = 1 + }, +/obj/item/weapon/tool/wrench, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YC" = ( +/obj/machinery/atmospherics/unary/cryo_cell, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YD" = ( +/obj/machinery/atmospherics/unary/freezer, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YE" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"YF" = ( +/obj/structure/table/glass, +/obj/item/device/defib_kit/loaded, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YG" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"YH" = ( +/obj/structure/table/glass, +/obj/item/weapon/storage/pill_bottle/spaceacillin, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YI" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/gun/energy/taser, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"YJ" = ( +/obj/structure/closet/secure_closet/nanotrasen_security, +/obj/item/weapon/storage/box/handcuffs, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/shield/riot, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"YK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YL" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YM" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YO" = ( +/obj/machinery/computer/transhuman/designer{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YP" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/oxygen/prechilled, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YQ" = ( +/obj/structure/table/glass, +/obj/machinery/chemical_dispenser/full, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YR" = ( +/turf/unsimulated/floor/steel, +/area/centcom/simulated/main_hall) +"YT" = ( +/obj/machinery/chem_master, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YU" = ( +/obj/structure/table/glass, +/obj/machinery/chemical_dispenser/ert, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YV" = ( +/obj/machinery/transhuman/synthprinter, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YW" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YY" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/obj/effect/floor_decal/corner_steel_grid{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YZ" = ( +/obj/machinery/body_scanconsole, +/obj/effect/floor_decal/corner_steel_grid{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zb" = ( +/obj/machinery/sleep_console{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zc" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zd" = ( +/obj/machinery/computer/transhuman/resleeving{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Ze" = ( +/obj/machinery/transhuman/resleever, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zf" = ( +/obj/structure/filingcabinet/chestdrawer{ + name = "Medical Forms" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zg" = ( +/obj/machinery/clonepod/transhuman/full, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zh" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, +/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Zi" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"Zj" = ( +/obj/structure/table/standard, +/obj/item/device/healthanalyzer, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zk" = ( +/obj/structure/table/reinforced, +/obj/item/device/camera, +/obj/item/weapon/storage/box/ids, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Zl" = ( +/obj/structure/table/glass, +/obj/item/weapon/backup_implanter{ + pixel_y = -8 + }, +/obj/item/weapon/backup_implanter{ + pixel_y = 8 + }, +/obj/item/weapon/backup_implanter, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zn" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zp" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/book/manual/security_space_law, +/obj/item/weapon/book/manual/security_space_law, +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Zq" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zr" = ( +/obj/structure/table/standard, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zs" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Zt" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/obj/effect/floor_decal/corner_steel_grid/diagonal{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/danger{ + dir = 8 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Zw" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/storage/box/donkpockets, +/obj/item/weapon/storage/box/donkpockets, +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Zx" = ( +/obj/structure/table/glass, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zy" = ( +/obj/structure/table/glass, +/obj/item/weapon/storage/firstaid/adv, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zz" = ( +/obj/structure/table/glass, +/obj/item/weapon/reagent_containers/glass/bottle/biomass{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/weapon/reagent_containers/glass/bottle/biomass{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/weapon/reagent_containers/glass/bottle/biomass{ + pixel_x = 3; + pixel_y = 5 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"ZA" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/base_low, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"ZC" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"ZD" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"ZE" = ( +/obj/machinery/light, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) + +(1,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +"} +(2,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(3,1,1) = {" +ap +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +ap +cl +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +dT +er +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(4,1,1) = {" +ap +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +ap +cl +cm +cn +cL +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(5,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(6,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cC +cn +cn +cn +cn +cn +cn +cn +cn +cN +cV +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(7,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cN +cn +dD +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(8,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cV +cn +db +db +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +sF +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(9,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cN +db +df +dn +db +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(10,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cK +cn +cn +cn +cn +db +dg +do +db +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(11,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +aa +aa +aa +aa +aa +aa +aa +aa +aa +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cK +cn +cn +cn +cn +cn +db +db +cn +cn +cn +dy +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(12,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +bs +cR +cR +cR +cR +cR +cR +cR +aa +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cK +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(13,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +bs +cR +cR +cR +ck +cR +cR +cR +aa +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +dz +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(14,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +bs +cR +cR +cR +cR +cR +cR +cR +aa +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cn +cn +cn +cV +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(15,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +bP +cR +cR +cR +cR +cR +cR +cR +aa +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cK +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +dz +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(16,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +bP +cR +cR +cR +cR +cR +cR +cR +aa +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cK +cn +cn +cn +cn +cn +cn +dp +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(17,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +aa +aa +aa +aa +aa +aa +aa +aa +aa +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cK +cn +cN +cL +cn +cn +cn +cn +cn +cn +cn +dC +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(18,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(19,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +cR +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(20,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cn +cn +cn +cn +cn +cL +cN +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(21,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +sF +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(22,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cn +cM +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +cn +dL +eb +eu +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(23,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +cl +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +cm +dT +er +er +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(24,1,1) = {" +ap +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +ap +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +cl +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(25,1,1) = {" +ap +bu +bw +bw +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bu +bw +bu +bw +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(26,1,1) = {" +ap +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +bw +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(27,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(28,1,1) = {" +ap +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(29,1,1) = {" +ap +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(30,1,1) = {" +ap +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(31,1,1) = {" +ap +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(32,1,1) = {" +ap +bx +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +fI +fI +fI +fI +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(33,1,1) = {" +ap +bx +bC +bC +bN +bC +bC +bC +bT +ci +ci +ci +bT +ci +ci +ci +bT +ci +ci +ci +bT +ci +ci +ci +bT +ci +bC +bC +bN +bC +bC +cE +cJ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(34,1,1) = {" +ap +bx +bD +bD +bD +bD +bD +bD +cd +cd +bD +bD +bD +bD +bD +bD +co +bD +bD +bD +bD +bD +bD +bD +cp +cp +bD +bD +bD +bD +bD +cF +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +"} +(35,1,1) = {" +ap +bx +bE +bE +bE +bE +bE +bE +ce +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +cq +bE +bE +bE +bE +bE +cG +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +"} +(36,1,1) = {" +ap +bx +bD +bD +bD +bD +bD +bD +cd +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +cp +bD +bD +bD +bD +bD +cF +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(37,1,1) = {" +ap +bx +bD +bD +bD +bD +bD +bD +cd +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +cp +bD +bD +bD +bD +bD +cF +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(38,1,1) = {" +ap +bx +bD +bD +bD +bD +bD +bD +cf +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +cp +bD +bD +bD +bD +bD +cF +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cI +cD +cD +dc +cD +cD +cD +cI +cI +cD +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(39,1,1) = {" +ap +bx +bD +bD +bD +bD +bD +bD +cf +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +cp +bD +bD +bD +bD +bD +cF +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cI +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(40,1,1) = {" +ap +bx +bE +bE +bE +bE +bE +bE +cg +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +bE +cq +bE +bE +bE +bE +bE +cG +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(41,1,1) = {" +ap +bx +bD +bD +bD +bD +bD +bD +cf +cf +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +bD +cp +cp +bD +bD +bD +bD +bD +cF +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(42,1,1) = {" +ap +bx +bF +bF +bF +bO +bF +bF +ch +cj +ch +ch +ch +cj +ch +ch +ch +cj +ch +ch +ch +cj +ch +ch +ch +cj +bF +bF +bF +bO +bF +cH +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(43,1,1) = {" +ap +bx +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bA +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(44,1,1) = {" +ap +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(45,1,1) = {" +ap +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cI +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(46,1,1) = {" +ap +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(47,1,1) = {" +ap +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +bx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(48,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(49,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(50,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(51,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +ea +ea +ea +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(52,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +fI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(53,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(54,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ap +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +"} +(55,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(56,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(57,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(58,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(59,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eI +eI +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(60,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(61,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eB +eB +eB +eB +eB +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(62,1,1) = {" +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(63,1,1) = {" +ar +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +ar +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +ar +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(64,1,1) = {" +as +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aK +dA +dF +dF +dF +dF +dF +dF +dF +dF +dF +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(65,1,1) = {" +as +aJ +aJ +bd +aJ +aJ +aJ +aJ +aJ +aJ +aJ +dA +dF +dF +dF +ec +dF +dF +dF +dF +ec +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +Vu +Vu +Vu +Vu +Vu +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eI +eI +eI +eI +eH +eH +eH +eH +eH +eH +eI +eI +eI +eI +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(66,1,1) = {" +as +aJ +aJ +aJ +aJ +aK +aJ +aJ +bd +aJ +aJ +dA +dF +dF +dF +dF +dF +dF +dF +dF +dF +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +Vu +Ru +ey +fy +fl +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(67,1,1) = {" +as +aK +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +dA +dF +ec +dF +dF +dF +dF +ec +dF +dF +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +Vu +Vu +Vu +fy +fm +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(68,1,1) = {" +as +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +bd +dA +dF +dF +dF +dF +dF +dF +dF +dF +dF +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +Vu +Vu +Vu +fy +fl +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(69,1,1) = {" +as +aJ +aJ +aJ +aK +aJ +aJ +bd +aJ +aJ +aJ +dA +dF +dF +dF +dF +dF +dF +dF +dF +dF +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +Vu +cW +Ru +fy +fl +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(70,1,1) = {" +as +aJ +aJ +aJ +aJ +aK +aJ +aJ +aJ +aJ +aJ +dA +dF +dF +dF +ec +dF +dF +dF +dF +ec +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +Vu +Vu +Vu +Vu +Vu +Vu +ae +ae +ae +ae +af +dZ +dZ +dZ +dZ +dZ +Rh +dZ +dZ +dZ +dZ +dZ +dZ +Rh +dZ +dZ +dZ +dZ +dZ +af +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(71,1,1) = {" +as +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +dA +dF +dF +dF +dF +dF +dF +dF +dF +dF +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ai +Al +Al +XE +Sl +Al +Al +XE +Al +Al +Al +Al +XE +Al +Al +Sl +XE +Al +Al +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eC +eA +eD +eA +eF +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(72,1,1) = {" +as +aJ +bd +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +dA +dF +ec +dF +dF +dF +dF +ec +dF +dF +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +cX +cX +cX +cX +cX +cX +ae +ae +ae +ae +ai +ET +ET +OR +Pe +Pe +Ri +OR +Pe +Rs +Rt +Pe +OR +Ri +RA +RA +OR +ET +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eB +eC +eC +eF +eF +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(73,1,1) = {" +as +aJ +aJ +aJ +aJ +aJ +aJ +aK +aJ +aJ +bd +dA +dF +dF +dF +dF +dF +dF +dF +dF +dF +dF +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +cX +ap +ap +ap +ap +cX +ae +ae +ae +ae +zK +Fp +OR +Pg +Rd +Rg +QW +Rk +Re +Rg +QX +Rw +Ry +QW +Rg +RD +Pg +OR +Fp +zK +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(74,1,1) = {" +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +cX +ap +ap +ap +ap +cX +ae +ae +ae +ae +ai +ET +Pe +Qa +Re +Rg +QW +QX +Rm +Rg +QX +Re +Rg +QW +QW +QW +RF +Pe +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(75,1,1) = {" +as +aM +be +bf +be +be +be +be +bf +be +aM +dA +dG +dG +dG +dG +dG +dG +dG +fG +dG +dG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +cX +ap +ap +ap +ap +cX +ae +ae +ae +ae +ai +ET +Pe +QW +QW +QW +QW +QW +QW +QW +QW +QW +QW +QW +QX +QX +Rg +Pe +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(76,1,1) = {" +as +aN +bf +be +bf +bf +bf +bf +be +bf +aN +dA +dG +ed +dG +dG +dG +dG +dG +dG +eT +dG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +cX +ap +ap +ap +ap +cX +ae +ae +ae +ae +ai +ET +Pe +QW +QW +QW +QW +QW +QW +QW +QW +QW +QW +QW +QX +QX +RG +Pe +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(77,1,1) = {" +as +aM +be +bo +bU +bU +bU +bU +da +be +aM +dA +dG +dG +dG +eJ +dG +dG +dG +dG +dG +dG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +cX +cX +cX +cX +cX +cX +ae +ae +ae +ae +ai +ET +Pe +QX +Re +Rg +QW +QX +Re +Rg +QX +Re +Rg +QW +QW +QW +QW +Pe +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(78,1,1) = {" +as +aN +bf +bp +bB +bB +bB +bB +cP +bf +aN +dA +dG +dG +dG +dG +eT +dG +dG +dG +eJ +dG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +zK +Fp +OR +Pg +Rf +Rg +QW +Rl +Ro +Rg +QX +Rx +Rz +QW +RC +RE +Pg +OR +Fp +zK +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(79,1,1) = {" +as +aM +be +bq +an +bS +bS +an +cQ +be +aM +dA +dG +dG +dG +ep +dG +dG +ed +dG +dG +fG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ai +ET +ET +OR +Pe +Pe +Rj +OR +Pe +Rt +Rt +Pe +OR +Rj +RA +RA +OR +ET +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(80,1,1) = {" +as +aM +bf +bp +an +bS +bS +an +cP +bf +aM +dA +dG +dG +dG +dG +dG +dG +dG +fG +dG +dG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ai +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(81,1,1) = {" +as +aN +be +ag +bB +bB +bB +bB +at +be +aN +dA +dG +ed +dG +dG +dG +dG +eJ +dG +eT +dG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Vg +Vg +Vl +Vh +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Zt +aj +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(82,1,1) = {" +as +aM +bf +bB +bB +ao +aA +bB +bB +bf +aM +dA +dG +dG +dG +dG +dG +dG +dG +dG +dG +dG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Nr +Th +JR +Nq +Nq +Nq +Nq +Nq +Nq +Yx +Nq +Nq +Nq +Nq +Yx +Nq +Nq +Nq +Nq +Nq +Nq +dZ +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eG +"} +(83,1,1) = {" +as +aN +be +bB +ao +ax +aB +aA +bB +bf +aN +dA +dG +dG +ep +dG +eT +dG +dG +dG +eJ +dG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +Vg +SW +Ti +Rq +Nq +Nq +Nq +Nq +Nq +Nq +wd +dZ +TY +Vv +dZ +dZ +Nq +Nq +Nq +Nq +Nq +Nq +dZ +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eG +"} +(84,1,1) = {" +as +aM +bf +bB +at +bU +bU +ag +bB +be +aM +dA +dG +dG +dG +dG +dG +dG +ed +dG +dG +fG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Tf +Tj +Rv +QY +Pf +XH +SH +SH +QY +TI +Rr +SV +SV +Rr +TI +QY +SH +SH +XH +Pf +QY +dZ +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eH +eS +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eG +"} +(85,1,1) = {" +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +wy +Vg +Vg +Vg +Vg +TI +TI +TI +TI +TI +TI +dZ +Ru +Ru +Ru +Ru +dZ +dZ +dZ +dZ +dZ +dZ +dZ +dZ +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eB +eB +eB +eB +eB +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eG +"} +(86,1,1) = {" +as +aO +bg +bg +bG +bV +bV +bV +bV +bV +dq +dA +dI +dH +dH +eL +eL +eL +eL +eL +eL +eL +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +yA +Ga +xe +wl +TZ +Vi +Vi +Vi +VJ +Vi +VS +Vu +YE +Ru +Ru +Wt +WE +Xs +XC +Zp +VI +Yr +Zw +YI +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eG +"} +(87,1,1) = {" +as +aP +bg +bg +bG +bV +bV +bV +bV +bV +bV +dA +dH +dH +dH +eK +eK +eK +eK +eK +eK +eK +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +rE +Ga +HQ +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +Vu +Ru +Ru +Ru +Wv +WJ +Xv +XD +XD +VI +Ys +XD +YJ +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eG +"} +(88,1,1) = {" +as +aP +bg +bg +bG +bW +ct +ct +ct +dj +bV +dA +dH +dH +dH +eK +eV +fn +fn +fn +fO +eK +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +kF +Ga +Iq +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +Vu +Ru +Ru +Ru +Wv +WK +Xw +XD +XD +VI +Yu +XD +YJ +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(89,1,1) = {" +as +aP +bg +bg +bG +bX +cu +cu +cu +dk +bV +dA +dH +ee +eq +eK +eW +fo +fo +fo +fP +eK +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +pb +Ga +ME +wl +Uu +Vj +Vj +Vm +Vj +Vj +XU +Vu +Ru +Ru +Ru +Wt +WE +Xx +Zk +XV +Yl +Zs +Yy +XD +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eG +"} +(90,1,1) = {" +as +aP +bg +bg +bG +bX +cu +cu +cu +dk +bV +dA +dH +ef +eq +eK +eW +fo +fo +fo +fP +eK +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +kr +Ga +Cw +wl +Up +Vj +Vj +Vm +Vj +Vj +VU +Vu +Ru +Ru +Zi +VI +VI +VI +VI +VI +VI +VI +VI +Yl +VI +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eG +"} +(91,1,1) = {" +as +aP +bg +bg +bG +bX +cu +cu +cu +dk +bV +dA +dH +ef +eq +eK +eW +fo +fo +fo +fP +eK +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +Ct +Ga +kh +wl +Ur +Vm +Vj +Vj +Vj +Vj +VU +Vu +Ru +Ru +Ru +VM +VQ +WN +VZ +VQ +VQ +WH +ZD +WW +Xe +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eG +"} +(92,1,1) = {" +as +aP +bg +bg +bG +bX +cu +cu +cu +dk +bV +dA +dH +ef +eq +eK +eW +fo +fo +fo +fP +eK +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +Dc +Ga +hn +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +TJ +Ru +Ru +Ru +WB +VR +Wb +Wl +Wz +VQ +WH +WO +WW +Xf +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eG +"} +(93,1,1) = {" +as +aP +bg +bg +bG +bY +cv +cv +cv +dl +bV +dA +dH +eg +eq +eK +eW +fo +fo +fo +fP +eK +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +vt +Ga +FW +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +Vw +Ru +Ru +Ru +VK +VR +Wc +Wm +Wz +VQ +WH +WP +WW +Xg +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eG +"} +(94,1,1) = {" +as +aP +bg +bg +bG +bV +bV +bV +bV +bV +bV +dA +dH +dH +dH +eK +eX +fp +fp +fH +fQ +eK +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +Dn +Ga +ZA +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +Vu +YE +Ru +Ru +VL +VQ +Wd +Wd +VQ +VQ +WH +WQ +WW +Xh +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eH +eI +eI +eI +eI +eI +eI +eH +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eG +"} +(95,1,1) = {" +as +aP +bg +bg +bH +bZ +bZ +bZ +bZ +dm +dr +dA +dH +dH +dH +eK +eU +eU +eK +eK +eK +eK +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +wy +wy +wy +wl +Up +Vj +Vm +Vj +VN +Vj +VU +Vu +Ru +Ru +Ru +WB +VQ +VQ +VQ +VQ +VQ +WH +WR +WW +Zh +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eI +eI +eH +eH +eH +eH +eH +eH +eI +eH +eH +eH +eH +eH +eH +eG +"} +(96,1,1) = {" +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Uu +Vj +Vj +Vj +Vj +Vj +Yt +Vu +Ru +Ru +Ru +WB +VQ +VZ +VZ +VQ +VQ +WH +WV +WW +WW +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eI +eI +eI +eI +eI +eI +eI +eI +eH +eH +eH +eH +eH +eH +eI +eI +eI +eI +eI +eI +eI +eI +eH +eH +eH +eH +eH +eH +eG +"} +(97,1,1) = {" +as +aS +bi +ah +au +ay +ay +ay +ay +aE +aS +dB +dM +eh +eh +eh +eY +fq +fz +fz +fz +fS +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Up +Vj +Vj +Vj +Vm +Vj +VU +Vu +Ru +Ru +Ru +WB +VR +We +Wo +Wz +VQ +VQ +VQ +ZE +VM +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eB +eC +eA +eE +eA +eF +eB +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(98,1,1) = {" +as +aS +bi +bv +av +az +az +az +az +aF +aS +dB +dN +ei +ei +ei +eZ +fr +ei +ei +ei +fJ +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Us +Vn +Vj +Vj +Vm +VO +VP +Vu +Ru +Ru +Zi +WB +VR +Wk +Wu +Wz +VQ +VQ +VQ +WZ +VM +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eB +eC +eC +eF +eF +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(99,1,1) = {" +as +aS +bi +ak +aw +aw +aw +aw +aw +aw +aw +dB +dM +eh +dN +ei +eZ +fr +ei +fJ +fz +fS +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Ut +Us +Vs +VB +Vs +VP +Ut +Vu +Ru +Ru +Ru +VK +VQ +Wd +Wd +VQ +VZ +VZ +VQ +Xa +VM +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eH +eG +"} +(100,1,1) = {" +as +aS +bi +bi +bI +ca +cw +cS +dd +cS +ds +dB +dO +ei +dN +ei +fa +fr +ei +fJ +ei +fT +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +wl +Vo +Vo +Vo +Vo +Vo +wl +Vu +Ru +Ru +Ru +VL +VQ +VQ +VQ +VR +WA +WI +Wz +Xb +VM +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +"} +(101,1,1) = {" +as +aS +bi +aS +bJ +cb +cx +cT +cy +cT +dt +dB +dP +ej +dN +ei +eZ +fr +ei +fJ +fA +fU +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +TZ +Vi +Vi +Vi +Vi +Vi +VX +Vu +Ru +Ru +Ru +WB +VQ +VQ +VQ +VR +WF +WL +Wz +Xc +VM +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(102,1,1) = {" +as +aS +bi +bt +bK +cb +cy +cy +cy +cT +dt +dB +dN +ei +ei +ei +eZ +fr +ei +ei +ei +fJ +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Va +Vp +Ut +Ut +Ut +Ut +VU +Vu +YE +Ru +Ru +VM +VY +ZC +VQ +VQ +Wd +Wd +ZC +Xd +VM +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +"} +(103,1,1) = {" +as +aS +bi +aS +bL +cb +cx +cT +cy +cT +dt +dB +dP +ej +ej +ej +fb +fs +fA +fA +fA +fU +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Up +Vq +Ut +Vr +Vr +Ut +VU +Vu +Ru +Ru +Ru +VM +VM +VM +VM +VM +VM +VM +VM +VM +VM +VM +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ez +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +eA +ez +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(104,1,1) = {" +as +aS +bi +bi +bM +cc +cz +cU +de +cU +du +dB +aG +aG +aR +aG +aG +aG +aG +bh +aG +aG +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Uu +Ut +Vt +Ut +Ut +Ut +XU +Vu +Ru +Ru +Ru +Vd +WS +WS +Zl +XX +Ym +Vd +YB +YK +YP +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(105,1,1) = {" +as +ab +ad +al +al +al +al +al +aC +al +ab +dB +dK +dK +dJ +dK +dK +dK +dK +dJ +dK +dK +fZ +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +Ut +Ut +VD +VU +Vu +Ru +Ru +Ru +WC +WT +WS +XJ +XZ +WS +Vd +YC +YL +YP +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(106,1,1) = {" +as +aQ +aQ +aQ +aQ +aQ +aQ +aQ +aQ +aQ +aQ +dB +dJ +dJ +dJ +dJ +dJ +dJ +dJ +dJ +dJ +dJ +fZ +aq +uc +uc +uc +uc +uc +uc +uc +uc +uc +uc +uc +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Vr +Ut +Ut +Ut +Wh +Vu +Ru +Ru +Zi +Ve +WS +WS +XK +Ya +WS +Vd +YD +YM +XN +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(107,1,1) = {" +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +aq +uc +ue +ue +uf +ue +ue +ue +uf +ue +ue +uc +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +Ut +Ut +Ut +VU +TJ +Ru +Ru +Ru +Xk +WS +WS +XM +XZ +WS +Vd +YC +YN +YQ +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(108,1,1) = {" +as +aT +aT +aT +aT +aT +aT +aT +aT +aT +aT +dB +dQ +dQ +dQ +dQ +dQ +dQ +dQ +fK +fR +fR +fZ +aq +uc +uf +uf +uf +uf +ug +uf +uf +uf +uf +uc +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Vr +Ut +Ut +Ut +Ut +VU +Vw +Ru +Ru +Ru +Xm +WS +WS +XN +Yb +Zq +Vd +Zx +XZ +YT +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(109,1,1) = {" +as +aT +bj +aT +aT +aT +aT +aT +aT +bj +aT +dB +dQ +dQ +dQ +dQ +dQ +dQ +dQ +fK +fR +fR +fZ +aq +uc +ue +ue +uf +ue +ue +ue +uf +ue +ue +uc +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +VD +Ut +Vr +VV +Vu +Ru +Ru +Ru +Xn +WS +WS +WS +WS +WS +Vd +XN +WS +YU +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(110,1,1) = {" +as +aT +aT +aT +aT +aT +aT +aT +aT +aT +aT +dB +dQ +ek +dQ +dQ +dQ +dQ +dQ +fK +fR +fR +fZ +aq +ud +uf +uf +uf +uf +uf +uf +uf +uf +uf +ud +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +Ut +Ut +Ut +VU +Vu +YE +Ru +Ru +WC +WT +WS +WS +WS +WS +Vd +Vd +Yw +Vd +Vd +Vd +Vd +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cI +cI +cI +cI +cI +cI +cI +cD +cD +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(111,1,1) = {" +as +aT +aT +aT +bj +aT +aT +bj +aT +aT +aT +dB +dQ +dQ +dQ +dQ +dQ +dQ +dQ +fK +fR +fR +fZ +aq +bc +bc +bc +bQ +cs +bc +cs +dh +bc +bc +bc +aq +aq +ae +ae +ae +ae +ae +ae +wl +Uu +Ut +Vr +Ut +Ut +Ut +XU +Vu +Ru +Ru +Ru +WC +WT +WS +WS +WS +WS +Vd +Ym +WS +WS +WS +WS +Zf +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(112,1,1) = {" +as +aT +aT +aT +aT +aT +aT +aT +aT +aT +aT +dB +dQ +dQ +dQ +eM +dQ +dQ +dQ +fK +fR +fR +fZ +aq +bc +bn +by +bR +bn +cO +bn +di +by +bc +bc +cY +aq +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +Ut +Ut +VD +VU +Vu +Ru +Ru +Ru +WC +WT +WS +WS +WS +WS +Yv +WS +WS +WS +YY +WS +WS +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(113,1,1) = {" +as +aT +aT +aT +aT +aT +aT +aT +aT +aT +aT +dB +dQ +dQ +dQ +dQ +dQ +dQ +dQ +fK +fR +fR +fZ +aq +bc +bn +bn +bR +bn +bn +bn +di +bn +bn +dE +cZ +aq +ae +ae +ae +ae +ae +ae +wl +Us +Vn +Ut +VE +Ut +VO +VP +Vu +Ru +Ru +Ru +Vd +WS +WS +Zn +WS +WS +WS +WS +WS +WS +YZ +WS +Zq +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(114,1,1) = {" +as +aT +aT +aT +bj +aT +aT +bj +aT +aT +aT +dB +dQ +dQ +es +dQ +dQ +dQ +dQ +fK +fR +fR +fZ +aq +bc +bn +bn +bR +bn +bn +bn +di +bn +bn +dE +ex +aq +ae +ae +ae +ae +ae +ae +wl +Ut +Us +Vs +VF +Vs +VP +Ut +Vu +Ru +Ru +Zi +Vd +Vd +Vd +Vd +Vd +Vd +Vd +YF +WS +WS +WS +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TK +TM +TK +TM +TM +TM +TM +TM +TM +TK +TM +TM +TK +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(115,1,1) = {" +as +aT +aT +aT +aT +aT +aT +aT +aT +aT +aT +dB +dQ +dQ +et +dQ +fc +dQ +dQ +fK +fR +fR +fZ +aq +bc +bn +bn +bn +bn +bn +bn +bn +bn +bn +dE +cZ +aq +ae +ae +ae +ae +ae +ae +wl +wl +Vo +Vo +Vo +Vo +Vo +wl +Vu +Ru +Ru +Ru +Vd +WU +Xy +XP +Yc +Yc +Vd +Zy +WS +WS +WS +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TM +TN +TK +TT +TX +Ua +Ud +Ug +Ug +TK +TU +Uk +TM +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(116,1,1) = {" +as +aT +bj +aT +aT +aT +aT +aT +aT +bj +aT +dB +dQ +dQ +dQ +dQ +dQ +dQ +dQ +fK +fR +fR +fZ +aq +bc +bn +bz +bn +bn +bn +bn +bn +bz +bc +bc +fF +aq +ae +ae +ae +ae +ae +ae +Vk +Vk +Vk +Vk +Vk +Vk +Vk +Vk +Uv +Ru +Ru +Ru +Vd +Xj +Xz +XQ +Yh +Yc +Vd +YH +WS +WS +Zb +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TM +TP +TS +TU +TP +Ub +TP +TP +TU +TS +TU +Ul +TM +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cD +cD +cD +cr +"} +(117,1,1) = {" +as +aT +aT +aT +aT +aT +aT +aT +aT +aT +aT +dB +dQ +dQ +dQ +dQ +dQ +dQ +dQ +fK +fR +fR +fZ +aq +bc +bc +bc +bc +bc +bc +bc +bc +bc +bc +bc +ap +aq +ae +ae +ae +ae +ae +ae +Vk +Vc +Vz +Vc +Vc +Vz +Vc +Wi +YR +Ru +Ru +Ru +Vd +Zj +XA +XR +Yj +Zr +Yg +WS +WS +WS +Zc +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TM +TQ +TK +TV +TP +TP +TP +TP +Ui +TK +TU +Um +TM +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cD +cD +cr +"} +(118,1,1) = {" +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +ae +ae +ae +ae +ae +ae +Vk +Vc +Vc +Vc +Vc +Vc +Vc +Vk +UE +Ru +Ru +Ru +Vd +Xr +XB +YW +YW +YW +Yw +WS +WS +WS +WS +WS +Zq +Vd +ae +ae +ae +ae +ae +ae +TM +TR +TM +TW +TU +Uc +Uf +Uh +Uj +TM +TU +Uo +TM +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cr +"} +(119,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dU +el +el +el +fd +ft +fB +fB +fB +fV +fZ +aI +aI +aI +ar +aI +aI +aI +ar +aI +aI +aI +ar +ap +ap +ae +ae +ae +ae +ae +ae +Vk +Vf +Vk +Vy +Vk +Vy +Vg +Vg +Vg +Wq +Ws +Ws +Vg +Vg +Vg +WS +WS +WS +Vd +WS +WS +WS +WS +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TK +TM +TK +TM +TM +TM +TM +TM +TM +TK +TM +TM +TK +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cr +"} +(120,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dV +em +em +em +fe +fu +em +em +em +fW +dB +ga +ga +ga +dB +gN +gO +gO +dB +hx +hx +hx +fZ +ap +ap +ae +ae +ae +ae +ae +ae +Vk +Vb +Vk +Xp +Vk +Xp +Vg +Wj +Wp +Ti +YG +Ti +Wp +Wj +Vg +XS +Yk +Yo +Vd +Zz +YO +YV +Zd +Ze +Zg +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cr +"} +(121,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dV +em +em +em +fe +fu +em +em +em +fW +dB +gb +ga +gq +dB +gO +gO +gP +dB +hy +hJ +hO +fZ +ap +ap +ae +ae +ae +ae +ae +ae +Vk +Vk +Vk +Vk +Vk +Vk +Vg +Vg +Vg +Wp +Vg +Wp +Vg +Vg +Vg +Vd +Vd +Vd +Vd +Vd +Vd +Vd +Vd +Vd +Vd +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cr +"} +(122,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dV +em +em +em +fe +fu +em +em +em +fW +dB +gc +ga +gc +dB +gO +gO +gO +dB +hz +hK +hP +fZ +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Wj +Vg +Wj +Vg +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cr +"} +(123,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dV +em +em +em +fe +fu +em +em +em +fW +dB +gd +ga +ga +dB +gO +gN +gO +dB +hz +hK +hP +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Vg +Vg +Vg +Vg +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cr +"} +(124,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dV +em +em +em +fe +fu +em +em +em +fW +dB +gc +ga +gq +dB +gO +gO +gO +dB +hA +hL +hQ +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cr +"} +(125,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dW +en +en +en +ff +fv +fC +fC +fC +fX +dB +gc +ga +gc +dB +gP +gO +gO +dB +hx +hx +hx +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cD +cD +cr +"} +(126,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +aH +aH +aX +aH +aH +aH +aH +br +aH +aH +fZ +aL +aL +aL +ar +aL +aL +aL +ar +aL +aL +aL +ar +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cD +cD +cD +cD +cD +cD +cD +cr +"} +(127,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dS +dS +dR +dS +dS +dS +dS +dR +dS +dS +dB +ge +gl +gr +dB +gQ +gR +gQ +dB +hB +hD +hD +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(128,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dB +gf +gl +gr +dB +gR +gQ +gR +dB +hC +hC +hC +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(129,1,1) = {" +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +ar +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +as +gg +gl +gr +dB +gQ +hg +gQ +dB +hD +hD +hD +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +fk +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(130,1,1) = {" +as +aY +bk +bk +bk +bk +cA +cA +cA +cA +dv +dB +dX +dY +dY +dY +dY +dY +dY +dY +dY +dY +dB +gh +gl +gr +dB +gR +gQ +gR +dB +hD +hD +hD +fZ +ae +ae +ae +Uw +Ux +Uw +Ux +Ux +Ux +Ux +Ux +Ux +Uw +Ux +Ux +Uw +ae +ae +ae +ae +ae +Sm +Sn +Sm +Sn +Sn +Sn +Sn +Sn +Sn +Sm +Sn +Sn +Sm +ae +ae +ae +ae +ae +ae +SX +SY +SX +SY +SY +SY +SY +SY +SY +SX +SY +SY +SX +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(131,1,1) = {" +as +aZ +bl +bl +bl +bl +bl +bl +bl +bl +dw +dB +dX +dY +dY +eo +eo +eo +eo +dY +dY +dY +dB +gi +gl +gr +dB +gQ +gR +gQ +dB +hE +hE +hE +fZ +ae +ae +ae +Ux +Uz +Uw +UG +UK +UM +UQ +US +US +Uw +UH +UW +Ux +ae +ae +ae +ae +ae +Sn +So +Sm +Su +SA +SB +SE +SK +SK +Sm +Sw +SQ +Sn +ae +ae +ae +ae +ae +ae +SY +SZ +SX +Tk +Tp +Tq +Tu +Ty +Ty +SX +Tl +TC +SY +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(132,1,1) = {" +as +aZ +bl +bl +bl +bl +bl +bl +bl +bl +dw +dB +dY +dY +dY +eN +eN +eN +eN +dY +dY +dY +dB +gf +gl +gr +dB +gR +gQ +gR +dB +hD +hD +hR +fZ +ae +ae +ae +Ux +UA +UF +UH +UA +UN +UA +UA +UH +UF +UH +UX +Ux +ae +ae +ae +ae +ae +Sn +Sp +Ss +Sw +Sp +SC +Sp +Sp +Sw +Ss +Sw +SR +Sn +ae +ae +ae +ae +ae +ae +SY +Ta +Td +Tl +Ta +Tr +Ta +Ta +Tl +Td +Tl +TD +SY +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cI +cI +cI +cI +cI +cI +cI +cD +cD +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(133,1,1) = {" +as +aZ +bl +bl +bl +bl +bl +bl +bl +bl +dw +dB +dY +dY +ev +eO +fg +fg +eQ +fM +eo +dY +fZ +aL +aL +aL +ar +aL +aL +aL +ar +aL +aL +aL +ar +ae +ae +ae +Ux +UC +Uw +UI +UA +UA +UA +UA +UU +Uw +UH +UY +Ux +ae +ae +ae +ae +ae +Sn +Sq +Sm +Sx +Sp +Sp +Sp +Sp +SO +Sm +Sw +SS +Sn +ae +ae +ae +ae +ae +ae +SY +Tb +SX +Tm +Ta +Ta +Ta +Ta +TA +SX +Tl +TE +SY +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cI +cI +cI +cI +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(134,1,1) = {" +as +aZ +bl +bl +bl +bl +bl +bl +bl +bl +dw +dB +dY +eo +ew +eP +fh +fw +fD +fM +eo +dY +dB +gj +gk +gs +dB +gS +gS +gS +dB +hF +hF +hF +fZ +ae +ae +ae +Ux +UD +Ux +UJ +UH +UP +UR +UT +UV +Ux +UH +UZ +Ux +ae +ae +ae +ae +ae +Sn +Sr +Sn +Sz +Sw +SD +SF +SN +SP +Sn +Sw +ST +Sn +ae +ae +ae +ae +ae +ae +SY +Tc +SY +To +Tl +Tt +Tx +Tz +TB +SY +Tl +TH +SY +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(135,1,1) = {" +as +aZ +bl +bl +bl +bl +bl +bl +bl +bl +dw +dB +dY +eo +ew +eP +fi +fx +fD +fM +eo +dY +dB +gk +gm +gk +dB +gS +gS +gS +dB +hF +hF +hF +fZ +ae +ae +ae +Uw +Ux +Uw +Ux +Ux +Ux +Ux +Ux +Ux +Uw +Ux +Ux +Uw +ae +ae +ae +ae +ae +Sm +Sn +Sm +Sn +Sn +Sn +Sn +Sn +Sn +Sm +Sn +Sn +Sm +ae +ae +ae +ae +ae +ae +SX +SY +SX +SY +SY +SY +SY +SY +SY +SX +SY +SY +SX +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(136,1,1) = {" +as +ba +bm +bm +bm +bm +cB +cB +cB +cB +dx +dB +dY +eo +ew +eQ +fj +fj +fE +fN +dY +dY +dB +gk +gn +gk +dB +gS +gS +gS +dB +hF +hF +hF +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(137,1,1) = {" +as +ac +ac +am +ac +ac +ac +ac +aD +ac +ac +dB +dY +dY +dY +eR +eR +eR +eR +dY +dY +dY +dB +gk +go +gk +dB +gS +gS +gS +dB +hF +hF +hF +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(138,1,1) = {" +as +aW +aW +aV +aW +aW +aW +aW +aV +aW +aW +dB +dY +dY +dY +eo +eo +eo +eo +dY +dY +fY +dB +gk +gk +gk +dB +gS +gS +gS +dB +hF +hF +hF +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(139,1,1) = {" +as +aV +aV +aV +aV +aV +aV +aV +aV +aV +aV +dB +dY +dY +dY +dY +dY +dY +dY +dY +dY +fY +dB +gk +gk +gt +dB +gS +gS +gS +dB +hF +hF +hF +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cD +cr +"} +(140,1,1) = {" +ar +bb +bb +bb +bb +bb +bb +bb +bb +bb +bb +ar +bb +bb +bb +bb +bb +bb +bb +bb +bb +bb +ar +bb +bb +bb +ar +bb +bb +bb +ar +bb +bb +bb +ar +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +cr +"} diff --git a/maps/tether/submaps/beach/_beach.dm b/maps/tether/submaps/beach/_beach.dm index cb520d260d..37dcf2966c 100644 --- a/maps/tether/submaps/beach/_beach.dm +++ b/maps/tether/submaps/beach/_beach.dm @@ -1,26 +1,11 @@ // -- Datums -- // -//We're including two new shuttle destinations. One is in orbit of our 'desert planet' -/datum/shuttle_destination/excursion/virgo4orbit //Must be a unique path - name = "Virgo 4 Orbit" //The name of the destination - my_area = /area/shuttle/excursion/space //The area the shuttle goes when it's settled at this destination - preferred_interim_area = /area/shuttle/excursion/space_moving //The area the shuttle goes while it's moving there - skip_me = TRUE //Must be TRUE on all away-mission destinations for reasons - - routes_to_make = list( //These are routes the shuttle connects to, - /datum/shuttle_destination/excursion/bluespace = 30 SECONDS //This is a normal destination that's part of Tether - ) - -//The other destination is landed on the surface -/datum/shuttle_destination/excursion/beach - name = "Remote Coastal Area" - my_area = /area/shuttle/excursion/away_beach - preferred_interim_area = /area/shuttle/excursion/sand_moving - skip_me = TRUE - - routes_to_make = list( - /datum/shuttle_destination/excursion/virgo4orbit = 30 SECONDS //This is the above one - ) +/obj/effect/overmap/visitable/sector/virgo4 + name = "Virgo 4" + desc = "Home to sand, and things with big fluffy ears." + icon_state = "globe" + color = "#ffd300" //Sandy + initial_generic_waypoints = list("beach_e", "beach_c", "beach_nw") //This is a special subtype of the thing that generates ores on a map //It will generate more rich ores because of the lower numbers than the normal one @@ -58,14 +43,6 @@ // -- Objs -- // -//This is a special type of object which will build our shuttle paths, only if this map loads -//You do need to place this object on the map somewhere. -/obj/shuttle_connector/beach - name = "shuttle connector - beach" - shuttle_name = "Excursion Shuttle" - //This list needs to be in the correct order, and start with the one that connects to the rest of the shuttle 'network' - destinations = list(/datum/shuttle_destination/excursion/virgo4orbit, /datum/shuttle_destination/excursion/beach) - //This object simply performs any map setup that needs to happen on our map if it loads. //As with the above, you do need to place this object on the map somewhere. /obj/away_mission_init/beachcave @@ -152,12 +129,6 @@ // -- Areas -- // -//And some special areas, including our shuttle landing spot (must be unique) -/area/shuttle/excursion/away_beach - name = "\improper Excursion Shuttle - Beach" - base_turf = /turf/simulated/floor/beach/sand/desert - dynamic_lighting = 0 - /area/tether_away/beach name = "\improper Away Mission - Virgo 4 Beach" icon_state = "away" diff --git a/maps/tether/submaps/beach/beach.dmm b/maps/tether/submaps/beach/beach.dmm index 5c73d730aa..e46fb81c16 100644 --- a/maps/tether/submaps/beach/beach.dmm +++ b/maps/tether/submaps/beach/beach.dmm @@ -308,8 +308,14 @@ /turf/unsimulated/wall/planetary/normal, /area/tether_away/beach/jungle) "bm" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/beach/jungle; + base_turf = /turf/simulated/floor/beach/sand/desert; + landmark_tag = "beach_c"; + name = "Virgo 4 Beach (Center)" + }, /turf/simulated/floor/beach/sand/desert, -/area/shuttle/excursion/away_beach) +/area/tether_away/beach/jungle) "bn" = ( /mob/living/simple_mob/animal/passive/fish/measelshark, /turf/simulated/floor/water/deep/ocean, @@ -325,14 +331,35 @@ /turf/simulated/floor/beach/sand, /area/tether_away/beach/jungle) "bs" = ( -/obj/shuttle_connector/beach, /obj/effect/step_trigger/zlevel_fall/beach, /turf/simulated/floor/beach/sand/desert, /area/tether_away/beach/jungle) +"hx" = ( +/obj/effect/overmap/visitable/sector/virgo4, +/turf/simulated/floor/water/deep/ocean, +/area/tether_away/beach/water) "xW" = ( /obj/tether_away_spawner/beach_outside_friendly, /turf/simulated/floor/beach/sand/desert, /area/tether_away/beach/jungle) +"Ar" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/beach/jungle; + base_turf = /turf/simulated/floor/beach/sand/desert; + landmark_tag = "beach_nw"; + name = "Virgo 4 Beach (NW)" + }, +/turf/simulated/floor/beach/sand/desert, +/area/tether_away/beach/jungle) +"Dr" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/beach/jungle; + base_turf = /turf/simulated/floor/beach/sand/desert; + landmark_tag = "beach_e"; + name = "Virgo 4 Beach (E)" + }, +/turf/simulated/floor/beach/sand/desert, +/area/tether_away/beach/jungle) "TU" = ( /obj/tether_away_spawner/beach_outside, /turf/simulated/floor/beach/sand/desert, @@ -623,7 +650,7 @@ am am am am -am +hx bi "} (3,1,1) = {" @@ -1200,7 +1227,7 @@ aa aa aa aa -aa +ab aa aa aa @@ -1353,7 +1380,7 @@ aa aa aa aa -aa +ab aa aa aa @@ -1804,6 +1831,7 @@ aa aa aa aa +ac aa aa aa @@ -1854,8 +1882,7 @@ aa aa aa aa -aa -aa +ab aa aa aa @@ -1972,7 +1999,7 @@ aa aa aa aa -aa +ab aa aa aa @@ -2086,7 +2113,7 @@ aa aa aa aa -ac +aa aa aa aa @@ -2216,7 +2243,7 @@ aa aa aa aa -ac +aa aa aa aa @@ -2633,7 +2660,7 @@ aa aa aa aa -ac +aa aa aa aa @@ -2788,7 +2815,7 @@ aa aa aa aa -ab +aa aa aa aa @@ -3334,7 +3361,7 @@ aa aa aa aa -aa +ab aa aa aa @@ -3503,7 +3530,7 @@ aa aa aa aa -ac +aa aa aa aa @@ -3779,7 +3806,7 @@ aa aa aa aa -ac +aa aa aa aa @@ -4201,7 +4228,7 @@ aa aa aa aa -ab +aa aa aa aa @@ -4479,9 +4506,9 @@ aa aa aa aa -ac aa aa +Ar aa aa aa @@ -4641,7 +4668,7 @@ aa aa aa aa -ab +aa aa aa aa @@ -4787,7 +4814,7 @@ aa aa aa aa -aa +ab aa aa aa @@ -5203,7 +5230,7 @@ aa aa aa aa -ac +aa aa aa aa @@ -5355,7 +5382,7 @@ aa aa aa aa -ac +aa aa aa aa @@ -5492,7 +5519,6 @@ aa aa aa aa -TU aa aa aa @@ -5502,6 +5528,7 @@ aa aa aa aa +ac aa aa aa @@ -5638,6 +5665,7 @@ aa aa aa aa +TU aa aa aa @@ -5647,8 +5675,7 @@ aa aa aa aa -aa -aa +ab aa aa aa @@ -5902,8 +5929,8 @@ aa aa aa aa -ac -bh +aa +aa aa aa aa @@ -6028,7 +6055,7 @@ aa aa aa aa -aa +ab aa aa aa @@ -6625,8 +6652,8 @@ aa aa aa aa -ab -bh +aa +aa aa aa aa @@ -6748,7 +6775,7 @@ aa aa aa aa -ab +aa aa aa aa @@ -7029,7 +7056,7 @@ aa aa aa aa -aa +ab aa aa aa @@ -7184,7 +7211,7 @@ aa aa aa aa -ab +aa aa aa aa @@ -7342,8 +7369,8 @@ aa aa aa aa -aa -ac +ab +bh aa aa aa @@ -7477,7 +7504,7 @@ aa aa aa aa -ac +aa aa aa aa @@ -8059,7 +8086,7 @@ aa aa aa aa -aa +ac aa aa aa @@ -8164,6 +8191,37 @@ aa aa aa aa +ac +bh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac aa aa aa @@ -8206,37 +8264,6 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -bm -bm -bm -bm -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa ad ad ad @@ -8354,21 +8381,21 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -8462,6 +8489,21 @@ aa aa aa aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -8496,21 +8538,6 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm aa aa aa @@ -8637,22 +8664,22 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -8779,21 +8806,21 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -8920,22 +8947,22 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -9062,22 +9089,22 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -9204,22 +9231,22 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa bs @@ -9346,22 +9373,22 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -9488,22 +9515,22 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -9631,21 +9658,21 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -9773,22 +9800,22 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -9916,21 +9943,21 @@ aa aa aa aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa aa aa aa @@ -10058,21 +10085,21 @@ aa aa aa aa -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm -bm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -10207,13 +10234,13 @@ aa aa aa aa -bm -bm aa aa aa -bm -bm +aa +aa +aa +aa aa aa aa @@ -18726,7 +18753,7 @@ aa aa aa aa -aa +Dr aa aa aa diff --git a/maps/tether/submaps/gateway/backup/carpfarm.dmm b/maps/tether/submaps/gateway/backup/carpfarm.dmm new file mode 100644 index 0000000000..d850043e11 --- /dev/null +++ b/maps/tether/submaps/gateway/backup/carpfarm.dmm @@ -0,0 +1,20660 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/space) +"ab" = ( +/obj/effect/blocker, +/turf/space{ + density = 1; + desc = "You can't go there!"; + name = "The 4th Wall" + }, +/area/space) +"ac" = ( +/turf/simulated/mineral, +/area/space) +"ad" = ( +/obj/effect/blocker, +/turf/space, +/area/space) +"ae" = ( +/mob/living/simple_mob/animal/space/carp, +/turf/space, +/area/space) +"af" = ( +/obj/effect/landmark/gateway_scatter, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/space) +"ah" = ( +/turf/simulated/mineral/floor/ignore_mapgen, +/area/space) +"aj" = ( +/obj/item/weapon/pickaxe/jackhammer, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/space) +"ak" = ( +/turf/simulated/mineral, +/area/mine/unexplored) +"al" = ( +/obj/structure/lattice, +/turf/space, +/area/space) +"am" = ( +/turf/simulated/wall/iron, +/area/awaymission/carpfarm/base) +"an" = ( +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/power/smes/buildable, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"ao" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"ap" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aq" = ( +/obj/machinery/gateway{ + dir = 9 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission/carpfarm/base) +"ar" = ( +/obj/machinery/gateway{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission/carpfarm/base) +"as" = ( +/obj/machinery/gateway{ + dir = 5 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission/carpfarm/base) +"at" = ( +/obj/machinery/shower{ + dir = 4; + icon_state = "shower"; + pixel_x = 5 + }, +/obj/machinery/door/window, +/turf/simulated/floor/tiled/freezer, +/area/awaymission/carpfarm/base) +"au" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/carpfarm/base) +"av" = ( +/obj/machinery/door/airlock/silver, +/turf/simulated/floor/tiled/white, +/area/awaymission/carpfarm/base) +"aw" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/carpfarm/base) +"ax" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/lino, +/area/awaymission/carpfarm/base) +"ay" = ( +/obj/structure/bedsheetbin, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/lino, +/area/awaymission/carpfarm/base) +"az" = ( +/obj/item/weapon/storage/toolbox/electrical, +/obj/structure/cable, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 8; + name = "west bump"; + pixel_x = -24 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/obj/item/weapon/paper/awaygate/carpfarm/suicide, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aA" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 1 + }, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aB" = ( +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aC" = ( +/obj/machinery/gateway{ + dir = 8 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission/carpfarm/base) +"aD" = ( +/obj/machinery/gateway/centeraway{ + calibrated = 0 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission/carpfarm/base) +"aE" = ( +/obj/machinery/gateway{ + dir = 4 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission/carpfarm/base) +"aF" = ( +/obj/structure/window/basic{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/carpfarm/base) +"aG" = ( +/turf/simulated/floor/tiled/white, +/area/awaymission/carpfarm/base) +"aH" = ( +/obj/item/weapon/bedsheet, +/obj/structure/bed/padded, +/turf/simulated/floor/lino, +/area/awaymission/carpfarm/base) +"aI" = ( +/turf/simulated/floor/lino, +/area/awaymission/carpfarm/base) +"aJ" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/space/void/mining, +/obj/item/clothing/mask/breath, +/obj/item/clothing/head/helmet/space/void/mining, +/obj/item/weapon/mining_scanner, +/obj/item/weapon/tank/jetpack/oxygen, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aK" = ( +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aL" = ( +/obj/structure/closet/toolcloset, +/obj/item/weapon/pickaxe/jackhammer, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aM" = ( +/obj/machinery/gateway{ + density = 0; + dir = 10 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission/carpfarm/base) +"aN" = ( +/obj/machinery/gateway, +/turf/simulated/floor/bluegrid, +/area/awaymission/carpfarm/base) +"aO" = ( +/obj/machinery/gateway{ + density = 0; + dir = 6 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission/carpfarm/base) +"aP" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/mirror{ + dir = 4; + pixel_x = -32; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/carpfarm/base) +"aQ" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"aR" = ( +/obj/structure/table/woodentable, +/obj/random/action_figure, +/turf/simulated/floor/lino, +/area/awaymission/carpfarm/base) +"aS" = ( +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"aT" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/landmark/loot_spawn, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"aU" = ( +/obj/structure/closet/jcloset, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"aV" = ( +/obj/structure/closet/secure_closet/medical1, +/obj/random/medical, +/obj/random/medical, +/obj/random/medical, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"aW" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aX" = ( +/obj/machinery/door/airlock/hatch, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aY" = ( +/obj/machinery/door/airlock/silver, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"aZ" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/lino, +/area/awaymission/carpfarm/base) +"ba" = ( +/obj/effect/wingrille_spawn/reinforced, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"bb" = ( +/obj/structure/table/reinforced, +/obj/random/tech_supply, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bc" = ( +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bd" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"be" = ( +/obj/structure/closet/gimmick/russian, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bf" = ( +/obj/structure/closet/gimmick/russian, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bg" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/freezer, +/obj/item/trash/syndi_cakes, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bh" = ( +/obj/structure/closet/wardrobe/black, +/obj/item/clothing/under/syndicate/tacticool, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bi" = ( +/obj/structure/closet/secure_closet/personal, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/landmark/costume, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bj" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bk" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/closet/crate/internals, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bl" = ( +/obj/structure/closet/crate/internals, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bm" = ( +/obj/structure/closet/crate/plastic, +/obj/random/contraband, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bn" = ( +/obj/structure/closet/crate, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/random/weapon, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bo" = ( +/obj/machinery/door/airlock/mining, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bp" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bq" = ( +/obj/structure/table/steel, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"br" = ( +/obj/item/mecha_parts/mecha_equipment/tool/drill, +/obj/item/weapon/storage/toolbox/mechanical, +/obj/structure/table/steel, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bs" = ( +/obj/structure/ore_box, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bt" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/rack, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bu" = ( +/obj/structure/table/rack, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bv" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bw" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bx" = ( +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"by" = ( +/obj/machinery/vending/coffee{ + prices = list() + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bz" = ( +/obj/machinery/vending/sovietsoda, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bA" = ( +/obj/machinery/vending/snack{ + prices = list() + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bB" = ( +/obj/machinery/vending/cigarette{ + prices = list() + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bC" = ( +/obj/machinery/vending/dinnerware, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bD" = ( +/obj/structure/closet/crate/secure/weapon, +/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bE" = ( +/obj/structure/closet/crate/secure/weapon, +/obj/item/ammo_magazine/clip/c762, +/obj/item/ammo_magazine/clip/c762, +/obj/item/ammo_magazine/clip/c762, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bF" = ( +/obj/structure/dispenser/oxygen, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bI" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1; + icon_state = "map" + }, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1375; + master_tag = "carp_airlock"; + name = "interior access button"; + pixel_x = 26; + pixel_y = -26; + req_one_access = newlist() + }, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bK" = ( +/obj/machinery/suit_cycler/mining, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bL" = ( +/obj/structure/bed/chair, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bM" = ( +/obj/mecha/working/hoverpod/combatpod, +/obj/machinery/mech_recharger, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bN" = ( +/obj/machinery/mech_recharger, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bO" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/tiled/dark, +/area/awaymission/carpfarm/base) +"bP" = ( +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; + icon_state = "space"; + layer = 4; + name = "EXTERNAL AIRLOCK"; + pixel_x = 0; + pixel_y = 0 + }, +/turf/simulated/wall/iron, +/area/awaymission/carpfarm/base) +"bQ" = ( +/obj/machinery/door/airlock/external{ + frequency = 1375; + icon_state = "door_locked"; + id_tag = "carp_inner"; + locked = 1; + name = "External Access"; + req_access = newlist() + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"bR" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bS" = ( +/obj/item/weapon/reagent_containers/food/snacks/cubancarp, +/obj/effect/floor_decal/corner/white/diagonal, +/obj/structure/table/glass, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bT" = ( +/obj/item/weapon/reagent_containers/food/snacks/carpmeat, +/obj/effect/floor_decal/corner/white/diagonal, +/obj/structure/table/glass, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bU" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bV" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1375; + id_tag = "carp_pump" + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + frequency = 1375; + id_tag = "carp_airlock"; + pixel_x = -28; + pixel_y = 0; + req_access = null; + tag_airpump = "carp_pump"; + tag_chamber_sensor = "carp_sensor"; + tag_exterior_door = "carp_outer"; + tag_interior_door = "carp_inner" + }, +/obj/effect/floor_decal/industrial/warning/cee{ + icon_state = "warningcee"; + dir = 8 + }, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"bW" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1375; + id_tag = "carp_pump" + }, +/obj/effect/floor_decal/industrial/warning/cee{ + icon_state = "warningcee"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"bX" = ( +/obj/structure/closet/emcloset, +/obj/item/weapon/storage/toolbox/emergency, +/obj/machinery/airlock_sensor{ + frequency = 1375; + id_tag = "carp_sensor"; + pixel_x = 28 + }, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"bY" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"bZ" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"ca" = ( +/obj/effect/floor_decal/corner/white/diagonal, +/obj/structure/closet/crate/bin, +/obj/item/trash/candy/proteinbar, +/turf/simulated/floor/tiled, +/area/awaymission/carpfarm/base) +"cb" = ( +/obj/machinery/door/airlock/external{ + frequency = 1375; + icon_state = "door_locked"; + id_tag = "carp_outer"; + locked = 1; + name = "External Access"; + req_access = newlist() + }, +/turf/simulated/floor/plating, +/area/awaymission/carpfarm/base) +"cc" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/airless, +/area/awaymission/carpfarm/base) +"cd" = ( +/turf/simulated/floor/airless, +/area/awaymission/carpfarm/base) +"ce" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1375; + master_tag = "carp_airlock"; + name = "exterior access button"; + pixel_x = 26; + pixel_y = 26; + req_access = newlist() + }, +/turf/simulated/floor/airless, +/area/awaymission/carpfarm/base) +"cf" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/space, +/area/space) +"cg" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/floor/airless, +/area/space) +"ch" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/airless, +/area/space) +"ci" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/floor/airless, +/area/space) +"cj" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/airless, +/area/space) +"ck" = ( +/turf/simulated/floor/airless, +/area/space) +"cl" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/airless, +/area/space) +"cm" = ( +/obj/effect/gibspawner/human, +/turf/simulated/floor/airless, +/area/space) +"cn" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/floor/airless, +/area/space) +"co" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/airless, +/area/space) +"cp" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/floor/airless, +/area/space) +"sI" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "tether_excursion_carpfarm"; + name = "Outside Facility (SW)" + }, +/turf/space, +/area/space) +"Fi" = ( +/obj/effect/overmap/visitable/sector/carpfarm, +/turf/space, +/area/space) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Fi +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +sI +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ah +ah +ac +ah +ah +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ah +ah +ah +aj +af +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ah +af +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ah +ah +af +ah +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ah +ah +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +ae +aa +aa +ac +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +af +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +aj +ah +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +ak +ak +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +af +ah +ah +ah +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(57,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(58,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ah +ah +ah +af +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(59,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(60,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(61,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +ak +ak +ak +aa +aa +aa +aa +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(62,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +ac +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +ak +ak +ak +ak +ak +ak +aa +ak +ak +ak +am +am +am +am +am +am +am +ba +ba +ba +am +am +am +am +am +am +al +al +cf +cf +cf +cf +cf +cf +cf +cf +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ah +ah +ah +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(63,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +an +az +aJ +aJ +aJ +am +bb +bb +bb +am +bq +bc +bc +bM +am +al +aa +aa +al +al +aa +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ah +ah +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(64,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ao +aA +aK +aK +aK +aW +bc +bc +bc +am +br +bc +bc +bN +am +al +aa +aa +al +al +al +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(65,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ap +aB +aL +aL +aL +am +bc +bc +bc +am +bs +bc +bG +bO +am +al +aa +aa +al +al +aa +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(66,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +bd +bc +bc +am +bt +bc +bH +bP +am +am +cc +cg +cj +cj +cj +cj +cj +cn +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(67,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +aq +aC +aM +aQ +aS +am +bc +bc +bc +am +bu +bc +bI +bQ +bV +cb +cd +ch +ck +ck +ck +ck +cm +co +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ar +aD +aN +aQ +aS +aX +bc +bc +bc +bo +bc +bc +bJ +bQ +bW +cb +ce +ch +ck +ck +ck +ck +ck +co +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +as +aE +aO +aQ +aS +am +bc +bc +bc +am +bv +bF +bK +am +bX +am +cd +ci +cl +cl +cl +cl +cl +cp +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(70,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +bd +bc +bc +am +am +am +am +am +am +am +ak +aa +al +al +aa +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(71,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +at +aF +aP +aP +aP +am +bc +bc +bc +am +bw +bx +bx +bx +bY +am +ak +ak +al +al +al +al +al +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(72,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +au +aG +aG +aG +aG +aY +bc +bc +bc +bp +bx +bx +bx +bx +bx +am +ak +ak +ak +al +aa +al +al +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(73,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +av +am +av +am +av +am +bc +bc +bc +am +by +bx +bx +bR +bx +am +ak +ak +ak +ak +ak +ak +al +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(74,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +aw +am +aw +am +aw +am +bc +bc +bc +am +bz +bx +bL +bS +bZ +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(75,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +bd +bc +bc +am +bA +bx +bL +bT +bZ +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(76,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ax +aH +aI +aR +aH +am +bc +bc +bc +am +bB +bx +bx +bU +bx +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(77,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ay +aI +aI +aI +aI +aZ +bc +bc +bc +bp +bx +bx +bx +bx +bx +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(78,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ax +aH +aI +ax +aH +am +bc +bc +bc +am +bC +bx +bx +bx +ca +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(79,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +bj +am +am +am +am +am +am +am +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(80,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +aT +aS +be +aS +bk +aS +bD +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(81,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +aT +aS +bf +aS +bl +aS +bE +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(82,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +aS +aS +aS +aS +aS +aS +aS +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(83,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +aS +aS +aS +aS +aS +aS +aS +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(84,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +aU +aS +bg +aS +bm +aS +aT +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(85,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +aV +aS +bh +aS +aT +aS +aT +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +aV +aS +bi +aS +bn +aS +aT +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(101,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +ae +ac +ac +ac +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(102,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(103,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(104,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(105,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(106,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(107,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(108,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +ac +ac +ac +ah +ah +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(109,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ah +ah +ah +ah +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +ak +aa +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aa +aa +aa +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(110,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ah +ah +af +ah +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(111,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ah +ah +ah +ah +ah +ah +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(112,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ah +ah +ah +ah +ah +ah +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(113,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ah +ah +ah +ah +ah +ah +ah +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(114,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ah +ah +aj +ah +af +ah +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(115,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ah +ah +ah +ah +ah +ah +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(116,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ah +ah +ah +ah +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(117,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ah +ah +ah +ah +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(118,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ah +ah +af +ah +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(119,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ah +ah +ah +ah +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(120,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ah +ah +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(121,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(122,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(123,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(124,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(125,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(126,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(127,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +aa +aa +aa +aa +ac +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(128,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(129,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(130,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(131,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(132,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +"} +(133,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +"} +(134,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(135,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(136,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(137,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(138,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(139,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(140,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/gateway/backup/listeningpost.dmm b/maps/tether/submaps/gateway/backup/listeningpost.dmm new file mode 100644 index 0000000000..ee319b99a5 --- /dev/null +++ b/maps/tether/submaps/gateway/backup/listeningpost.dmm @@ -0,0 +1,20206 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/space, +/area/space) +"b" = ( +/obj/effect/blocker, +/turf/space, +/area/space) +"c" = ( +/turf/simulated/wall/r_wall, +/area/awaymission/listeningpost) +"d" = ( +/obj/machinery/power/smes/magical{ + desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; + name = "power storage unit" + }, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"e" = ( +/obj/machinery/door/airlock/external, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"f" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"g" = ( +/turf/simulated/wall, +/area/awaymission/listeningpost) +"h" = ( +/turf/simulated/mineral, +/area/mine/unexplored) +"i" = ( +/turf/simulated/floor, +/area/awaymission/listeningpost) +"j" = ( +/obj/structure/table/standard, +/obj/item/weapon/paper/monitorkey, +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/obj/item/clothing/glasses/regular, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"k" = ( +/obj/structure/table/standard, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"l" = ( +/turf/simulated/mineral/floor/vacuum, +/area/mine/explored) +"m" = ( +/obj/machinery/computer/message_monitor{ + dir = 4 + }, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"n" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/mob/living/simple_mob/humanoid/merc{ + desc = "A weary looking syndicate operative."; + faction = "syndicate" + }, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"o" = ( +/obj/structure/table/standard, +/obj/item/weapon/paper{ + info = "Nothing of interest to report."; + name = "november report" + }, +/obj/item/weapon/pen, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"p" = ( +/obj/item/device/radio/intercom{ + desc = "Talk through this. Evilly"; + frequency = 1213; + name = "Syndicate Intercom"; + pixel_x = 32; + subspace_transmission = 1; + syndie = 1 + }, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"q" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/space/syndicate, +/obj/item/clothing/mask/gas, +/obj/item/clothing/head/helmet/space/syndicate, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"r" = ( +/obj/machinery/door/airlock, +/obj/item/weapon/paper{ + info = "I wonder how much longer they will accept my empty reports. They will cancel the case soon without results. When the pickup comes, I will tell them I have lost faith in our cause, and beg them to consider a diplomatic solution. How many nuclear teams have been dispatched with those nukes? I must try and prevent more from ever being sent. If they will not listen to reason, I will detonate the warehouse myself. Maybe some day in the immediate future, space will be peaceful, though I don't intend to live to see it. And that is why I write this down- it is my sacrifice that stabilised your worlds, traveller. Spare a thought for me, and please attempt to prevent nuclear proliferation, should it ever rear it's ugly head again. -Donk Co. Operative #451"; + name = "odd report" + }, +/obj/item/weapon/gun/projectile/pistol, +/obj/item/weapon/silencer, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"s" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/simulated/mineral, +/area/mine/unexplored) +"t" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/mineral, +/area/mine/unexplored) +"u" = ( +/obj/structure/disposaloutlet{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/simulated/floor/airless, +/area) +"v" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet/brown, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"w" = ( +/obj/structure/table/standard, +/obj/item/device/flashlight/lamp, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"x" = ( +/obj/machinery/vending/snack, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"y" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/mineral, +/area/mine/unexplored) +"z" = ( +/obj/machinery/vending/cola, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"A" = ( +/obj/structure/closet, +/obj/item/clothing/gloves/boxing, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"B" = ( +/obj/structure/filingcabinet, +/obj/item/weapon/paper{ + info = "A good start to the operation: intercepted Nanotrasen military communications. A convoy is scheduled to transfer nuclear warheads to a new military base. This is as good a chance as any to get our hands on some heavy weaponry, I suggest we take it."; + name = "april report" + }, +/obj/item/weapon/paper{ + info = "Nothing of real interest to report this month. I have intercepted faint transmissions from what appears to be some sort of pirate radio station. They do not appear to be relevant to my assignment."; + name = "may report" + }, +/obj/item/weapon/paper{ + info = "Nanotrasen communications have been noticably less frequent recently. The pirate radio station I found last month has been transmitting pro-Nanotrasen propaganda. I will continue to monitor it."; + name = "june report" + }, +/obj/item/weapon/paper{ + info = "Nothing of interest to report."; + name = "july report" + }, +/obj/item/weapon/paper{ + info = "Nothing of interest to report."; + name = "august report" + }, +/obj/item/weapon/paper{ + info = "Nothing of interest to report."; + name = "september report" + }, +/obj/item/weapon/paper{ + info = "Nothing of interest to report."; + name = "october report" + }, +/obj/item/weapon/paper{ + info = "1 x Stechtkin pistol - $600
    1 x silencer - $200
    shipping charge - $4360
    total - $5160"; + name = "receipt" + }, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"C" = ( +/obj/structure/table/standard, +/obj/item/weapon/paper{ + info = "Mission Details: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."; + name = "mission briefing" + }, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"D" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"E" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/wall/r_wall, +/area/awaymission/listeningpost) +"F" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/simulated/mineral, +/area/mine/unexplored) +"G" = ( +/obj/machinery/door/airlock{ + name = "Toilet" + }, +/turf/simulated/floor, +/area/awaymission/listeningpost) +"H" = ( +/turf/simulated/floor/tiled/freezer, +/area/awaymission/listeningpost) +"I" = ( +/obj/machinery/shower{ + icon_state = "shower"; + dir = 8 + }, +/turf/simulated/floor/tiled/freezer, +/area/awaymission/listeningpost) +"J" = ( +/obj/structure/toilet{ + icon_state = "toilet00"; + dir = 8 + }, +/turf/simulated/floor/tiled/freezer, +/area/awaymission/listeningpost) +"K" = ( +/turf/simulated/mineral/floor, +/area/mine/unexplored) +"L" = ( +/turf/simulated/floor/greengrid, +/area/mine/explored) +"M" = ( +/turf/simulated/mineral/floor, +/area/mine/explored) +"N" = ( +/obj/machinery/gateway{ + icon_state = "off"; + dir = 9 + }, +/turf/simulated/floor/greengrid, +/area/mine/explored) +"O" = ( +/obj/machinery/gateway{ + icon_state = "off"; + dir = 1 + }, +/turf/simulated/floor/greengrid, +/area/mine/explored) +"P" = ( +/obj/machinery/gateway{ + icon_state = "off"; + dir = 5 + }, +/turf/simulated/floor/greengrid, +/area/mine/explored) +"Q" = ( +/obj/machinery/gateway{ + icon_state = "off"; + dir = 8 + }, +/turf/simulated/floor/greengrid, +/area/mine/explored) +"R" = ( +/obj/machinery/gateway/centeraway, +/turf/simulated/floor/greengrid, +/area/mine/explored) +"S" = ( +/obj/machinery/gateway{ + icon_state = "off"; + dir = 4 + }, +/turf/simulated/floor/greengrid, +/area/mine/explored) +"T" = ( +/obj/machinery/gateway{ + icon_state = "off"; + dir = 10 + }, +/turf/simulated/floor/greengrid, +/area/mine/explored) +"U" = ( +/obj/machinery/gateway, +/turf/simulated/floor/greengrid, +/area/mine/explored) +"V" = ( +/obj/machinery/gateway{ + icon_state = "off"; + dir = 6 + }, +/turf/simulated/floor/greengrid, +/area/mine/explored) +"W" = ( +/obj/effect/overmap/visitable/sector/listeningpost, +/turf/space, +/area/space) +"Y" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "tether_excursion_listeningpost"; + name = "Near Asteroid (SE)" + }, +/turf/space, +/area/space) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +W +a +"} +(3,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(4,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(5,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(6,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(8,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(9,1,1) = {" +a +a +a +a +a +a +a +a +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +a +a +a +a +a +a +a +a +"} +(10,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(11,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(12,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(13,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(14,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(15,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(16,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(17,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(18,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(19,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(20,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(21,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(22,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(23,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(24,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(25,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(26,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(27,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(28,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(29,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(30,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(31,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(32,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(33,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(34,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(35,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(36,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(37,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(38,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +l +l +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(39,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +l +l +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(40,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(41,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(42,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(43,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(44,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(45,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(46,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(47,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(48,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +l +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(49,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +l +l +l +l +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(50,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(51,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +K +K +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(52,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +K +L +M +h +h +h +h +M +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(53,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +K +L +L +L +h +L +M +M +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(54,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +K +L +L +N +Q +T +L +L +K +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(55,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +L +L +O +R +U +L +L +K +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(56,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +M +L +P +S +V +L +L +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(57,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +M +L +L +L +L +L +M +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(58,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +M +M +L +M +M +M +M +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(59,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +K +K +K +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(60,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(61,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(62,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +a +a +h +h +h +h +a +a +a +l +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(63,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +l +l +l +l +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(64,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(65,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(66,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(67,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(68,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +l +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(69,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +l +l +l +l +l +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(70,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +l +l +l +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(71,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +l +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(72,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +l +a +a +a +a +h +h +h +h +h +h +h +h +h +l +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(73,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +h +h +h +h +h +h +h +h +h +l +l +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(74,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +h +h +h +h +h +h +h +h +h +h +l +a +l +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(75,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +l +a +l +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(76,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +l +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(77,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(78,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(79,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(80,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +c +c +c +c +c +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(81,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +c +v +i +A +c +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(82,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +c +c +c +h +c +w +i +B +c +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(83,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +c +c +m +c +c +c +g +f +g +c +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(84,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +c +j +n +p +i +r +i +i +C +c +c +c +c +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(85,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +c +c +c +k +o +k +i +g +i +i +i +G +H +H +c +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(86,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +c +i +f +i +i +i +i +g +i +i +D +g +I +J +c +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(87,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +c +d +g +i +i +i +q +g +x +z +E +c +c +c +c +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(88,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +c +c +c +e +e +c +c +c +c +c +E +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(89,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +c +i +i +c +h +h +h +h +t +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(90,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +c +i +i +c +h +s +y +y +F +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(91,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +c +e +e +c +h +t +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(92,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +a +a +a +a +h +t +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(93,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +a +a +a +a +a +u +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(94,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(95,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(96,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +a +h +h +h +h +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(97,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +a +a +a +h +h +h +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(98,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +h +h +h +h +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(99,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(100,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(101,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(102,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(103,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(104,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(105,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(106,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(107,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(108,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(109,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(110,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(111,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(112,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(113,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +Y +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(114,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(115,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(116,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(117,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(118,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(119,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(120,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(121,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(122,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(123,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(124,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(125,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(126,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(127,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(128,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(129,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(130,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(131,1,1) = {" +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +b +a +a +a +a +a +a +a +a +"} +(132,1,1) = {" +a +a +a +a +a +a +a +a +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +a +a +a +a +a +a +a +a +"} +(133,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(134,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(135,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(136,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(137,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(138,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(139,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} +(140,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/maps/tether/submaps/gateway/backup/snowfield.dmm b/maps/tether/submaps/gateway/backup/snowfield.dmm new file mode 100644 index 0000000000..5483216396 --- /dev/null +++ b/maps/tether/submaps/gateway/backup/snowfield.dmm @@ -0,0 +1,21586 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/unsimulated/wall/planetary/sif, +/area/awaymission/snowfield/restricted) +"ab" = ( +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/restricted) +"ac" = ( +/obj/effect/blocker, +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/restricted) +"ad" = ( +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/outside) +"ae" = ( +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield) +"af" = ( +/obj/effect/landmark/gateway_scatter, +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield) +"ag" = ( +/obj/machinery/light/small, +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"ah" = ( +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"ai" = ( +/turf/simulated/wall/durasteel, +/area/awaymission/snowfield/base) +"aj" = ( +/obj/structure/sign/electricshock, +/turf/simulated/wall/durasteel, +/area/awaymission/snowfield/base) +"ak" = ( +/obj/machinery/door/airlock/hatch, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"al" = ( +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/obj/effect/floor_decal/industrial/warning/full, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"am" = ( +/obj/structure/table/standard, +/obj/machinery/cell_charger, +/obj/item/stack/cable_coil/yellow{ + amount = 2; + icon_state = "coil2" + }, +/obj/item/weapon/shovel, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"an" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"ao" = ( +/obj/machinery/power/smes/buildable{ + charge = 2.5e+006; + input_attempt = 1; + input_level = 250000; + inputting = 1; + output_level = 250000 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"ap" = ( +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"aq" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"ar" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 8; + name = "west bump-derelict"; + operating = 0; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"as" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"at" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"au" = ( +/obj/structure/sign/biohazard, +/turf/simulated/wall/durasteel, +/area/awaymission/snowfield/base) +"av" = ( +/obj/machinery/door/airlock/centcom, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"aw" = ( +/obj/structure/table/standard, +/obj/item/weapon/hand_labeler, +/obj/effect/floor_decal/corner/green/full{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"ax" = ( +/obj/structure/closet/secure_closet/hydroponics{ + req_access = list(47) + }, +/obj/effect/floor_decal/corner/green{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"ay" = ( +/obj/machinery/smartfridge/drying_rack, +/obj/effect/floor_decal/corner/green/full{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"az" = ( +/obj/effect/floor_decal/corner/green{ + dir = 9 + }, +/obj/structure/closet/crate/bin, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aA" = ( +/obj/machinery/atmospherics/portables_connector, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aB" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/obj/machinery/atmospherics/portables_connector, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aC" = ( +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"aD" = ( +/obj/effect/floor_decal/corner/green{ + dir = 9 + }, +/obj/machinery/space_heater, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aE" = ( +/obj/machinery/atmospherics/portables_connector, +/obj/item/weapon/tool/wrench, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aF" = ( +/obj/machinery/biogenerator, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aG" = ( +/obj/machinery/seed_extractor, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aH" = ( +/obj/machinery/reagentgrinder, +/obj/structure/table/glass, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aI" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/obj/structure/table/glass, +/obj/item/weapon/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aJ" = ( +/obj/structure/closet/jcloset, +/obj/item/weapon/soap, +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"aK" = ( +/obj/structure/closet/jcloset, +/obj/item/weapon/soap/deluxe, +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"aL" = ( +/obj/structure/closet/l3closet/janitor, +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"aM" = ( +/obj/structure/closet/crate/hydroponics/prespawned, +/obj/effect/floor_decal/corner/green{ + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aN" = ( +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aO" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aP" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/hidden/universal{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"aQ" = ( +/obj/machinery/atmospherics/binary/pump{ + dir = 8; + name = "Isolation to Waste" + }, +/obj/effect/floor_decal/corner/green/full, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aR" = ( +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/visible, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aS" = ( +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/visible, +/obj/machinery/meter, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aT" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/visible, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aU" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"aV" = ( +/obj/effect/floor_decal/corner/green/full, +/obj/machinery/atmospherics/binary/pump{ + dir = 8; + name = "Port to Isolation" + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aW" = ( +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/visible{ + icon_state = "intact"; + dir = 9 + }, +/obj/machinery/meter, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aX" = ( +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aY" = ( +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/obj/structure/bed/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"aZ" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/weapon/storage/box/botanydisk, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"ba" = ( +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"bb" = ( +/obj/effect/floor_decal/corner/green{ + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bc" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bd" = ( +/obj/machinery/door/airlock/research{ + name = "Xenoflora Storage"; + req_access = list(55) + }, +/obj/machinery/door/firedoor/border_only, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"be" = ( +/obj/machinery/portable_atmospherics/hydroponics, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bf" = ( +/obj/machinery/botany/editor, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bg" = ( +/obj/machinery/space_heater, +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"bh" = ( +/obj/effect/floor_decal/corner/green/full, +/obj/item/device/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -21 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bi" = ( +/obj/machinery/atmospherics/unary/freezer{ + dir = 2; + icon_state = "freezer" + }, +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bj" = ( +/obj/machinery/atmospherics/unary/heater{ + dir = 2; + icon_state = "heater" + }, +/obj/effect/floor_decal/corner/green{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bk" = ( +/obj/machinery/atmospherics/portables_connector, +/obj/effect/floor_decal/corner/green/full{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bl" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/machinery/door/firedoor/border_only, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"bm" = ( +/obj/machinery/botany/extractor, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bn" = ( +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/structure/table/steel, +/obj/item/weapon/storage/box/mousetraps, +/obj/item/weapon/storage/box/lights/mixed, +/obj/item/weapon/storage/box/lights/mixed, +/obj/item/weapon/reagent_containers/spray/cleaner, +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"bo" = ( +/obj/machinery/door/window/northright{ + name = "Xenoflora Containment"; + req_access = list(47) + }, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bp" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bq" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/visible, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"br" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bs" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 8 + }, +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bt" = ( +/obj/effect/floor_decal/corner/green{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bu" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bv" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bw" = ( +/obj/effect/floor_decal/corner/green{ + dir = 5 + }, +/obj/structure/bed/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bx" = ( +/obj/effect/floor_decal/corner/green/full{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/weapon/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/weapon/pen, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"by" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"bz" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bA" = ( +/obj/machinery/atmospherics/portables_connector, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bB" = ( +/obj/item/device/radio/intercom{ + name = "Station Intercom (General)"; + pixel_y = -21 + }, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bC" = ( +/obj/effect/floor_decal/corner/green{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 5; + pixel_y = -32 + }, +/obj/structure/table/standard, +/obj/item/weapon/storage/box/syringes, +/obj/item/weapon/storage/box/gloves{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bD" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/obj/item/device/radio/intercom{ + layer = 4; + name = "Station Intercom (General)"; + pixel_y = -21 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bE" = ( +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bF" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bG" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/obj/structure/closet/l3closet/scientist, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bH" = ( +/obj/effect/floor_decal/corner/green{ + dir = 9 + }, +/obj/structure/closet/medical_wall{ + pixel_y = -32 + }, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/regular, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bI" = ( +/obj/machinery/seed_storage/xenobotany, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bJ" = ( +/obj/machinery/vending/hydronutrients{ + categories = 3 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bK" = ( +/obj/machinery/smartfridge, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bL" = ( +/obj/structure/table/glass, +/obj/item/weapon/tape_roll, +/obj/item/device/analyzer/plant_analyzer, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bM" = ( +/obj/effect/floor_decal/corner/green{ + dir = 6 + }, +/obj/structure/table/glass, +/obj/item/weapon/clipboard, +/obj/item/weapon/folder/white, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"bN" = ( +/obj/item/weapon/mop, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/structure/janitorialcart, +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"bO" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"bP" = ( +/obj/machinery/portable_atmospherics/hydroponics{ + closed_system = 1; + name = "isolation tray" + }, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bQ" = ( +/obj/machinery/portable_atmospherics/hydroponics, +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"bS" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"bT" = ( +/obj/machinery/door/airlock/freezer, +/turf/simulated/floor/tiled/hydro, +/area/awaymission/snowfield/base) +"bU" = ( +/obj/machinery/door/airlock/maintenance, +/turf/simulated/floor/tiled/steel, +/area/awaymission/snowfield/base) +"bV" = ( +/obj/machinery/gateway{ + dir = 9 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/floor/reinforced, +/area/awaymission/snowfield/base) +"bW" = ( +/obj/machinery/gateway{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/awaymission/snowfield/base) +"bX" = ( +/obj/machinery/gateway{ + dir = 5 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/floor/reinforced, +/area/awaymission/snowfield/base) +"bY" = ( +/obj/item/seeds/random, +/obj/item/seeds/random, +/obj/item/seeds/random, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/structure/closet/crate, +/turf/simulated/floor/tiled/freezer, +/area/awaymission/snowfield/base) +"bZ" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"ca" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"cb" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/machinery/vending/cigarette, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cc" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/structure/sink/kitchen{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cd" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"ce" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/structure/table/standard, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cf" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/structure/table/standard, +/obj/item/weapon/storage/box/donkpockets{ + pixel_x = 3; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cg" = ( +/obj/structure/table/marble, +/obj/machinery/chemical_dispenser/bar_soft/full, +/obj/effect/floor_decal/corner/grey/diagonal{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"ch" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"ci" = ( +/obj/structure/table/standard, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cj" = ( +/obj/structure/toilet, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"ck" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/door/window/southright{ + name = "Shower" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/shower{ + pixel_y = 3 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cl" = ( +/obj/machinery/gateway{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/reinforced, +/area/awaymission/snowfield/base) +"cm" = ( +/obj/machinery/gateway/centeraway{ + calibrated = 0 + }, +/turf/simulated/floor/reinforced, +/area/awaymission/snowfield/base) +"cn" = ( +/obj/machinery/gateway{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/reinforced, +/area/awaymission/snowfield/base) +"co" = ( +/turf/simulated/floor/tiled/freezer, +/area/awaymission/snowfield/base) +"cp" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/machinery/vending/coffee, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cq" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/item/weapon/stool/padded, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cr" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cs" = ( +/obj/machinery/gateway{ + dir = 10 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/floor/reinforced, +/area/awaymission/snowfield/base) +"ct" = ( +/obj/machinery/gateway, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/reinforced, +/area/awaymission/snowfield/base) +"cu" = ( +/obj/machinery/gateway{ + dir = 6 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/floor/reinforced, +/area/awaymission/snowfield/base) +"cv" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/machinery/vending/snack, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cw" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/structure/table/standard, +/obj/item/weapon/deck/cards, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cx" = ( +/obj/machinery/door/airlock/silver{ + name = "Restroom" + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cy" = ( +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"cz" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/freezer, +/area/awaymission/snowfield/base) +"cA" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/freezer, +/area/awaymission/snowfield/base) +"cB" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/machinery/vending/sovietsoda, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cC" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cD" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/floor/wood, +/area/awaymission/snowfield/base) +"cE" = ( +/turf/simulated/floor/wood, +/area/awaymission/snowfield/base) +"cF" = ( +/obj/structure/bed/padded, +/turf/simulated/floor/wood, +/area/awaymission/snowfield/base) +"cG" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"cH" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"cI" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/machinery/vending/dinnerware, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cJ" = ( +/obj/machinery/space_heater, +/turf/simulated/floor/wood, +/area/awaymission/snowfield/base) +"cK" = ( +/obj/structure/table/standard, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/wood, +/area/awaymission/snowfield/base) +"cL" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/structure/bed/chair/comfy/beige{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cM" = ( +/obj/machinery/door/airlock/highsecurity, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"cN" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/structure/closet/crate/bin, +/obj/item/trash/pistachios, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cO" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/machinery/space_heater, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cP" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/wood, +/area/awaymission/snowfield/base) +"cQ" = ( +/obj/machinery/door/airlock/freezer, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"cR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"cS" = ( +/obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/white, +/area/awaymission/snowfield/base) +"cT" = ( +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"cU" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"cV" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/derelict/d9, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"cW" = ( +/obj/effect/floor_decal/derelict/d10, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"cX" = ( +/obj/effect/floor_decal/derelict/d11, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"cY" = ( +/obj/effect/floor_decal/derelict/d12, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"cZ" = ( +/obj/effect/floor_decal/derelict/d13, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"da" = ( +/obj/effect/floor_decal/derelict/d14, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"db" = ( +/obj/effect/floor_decal/derelict/d15, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dc" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/derelict/d16, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dd" = ( +/obj/effect/floor_decal/derelict/d1, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"de" = ( +/obj/effect/floor_decal/derelict/d2, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"df" = ( +/obj/effect/floor_decal/derelict/d3, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dg" = ( +/obj/effect/floor_decal/derelict/d4, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dh" = ( +/obj/effect/floor_decal/derelict/d5, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"di" = ( +/obj/effect/floor_decal/derelict/d6, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dj" = ( +/obj/effect/floor_decal/derelict/d7, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dk" = ( +/obj/effect/floor_decal/derelict/d8, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dl" = ( +/obj/machinery/door/airlock/security, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dm" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"dn" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/door/window/southleft, +/obj/machinery/door/window/northleft, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"do" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/window/reinforced{ + dir = 4; + health = 1e+006 + }, +/turf/simulated/floor/plating, +/area/awaymission/snowfield/base) +"dp" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/holofloor/wood, +/area/awaymission/snowfield/base) +"dq" = ( +/obj/machinery/door/airlock/maintenance{ + locked = 1; + name = "Storage Access" + }, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dr" = ( +/obj/structure/closet/l3closet/security, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"ds" = ( +/obj/structure/closet/fireaxecabinet{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dt" = ( +/obj/machinery/space_heater, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"du" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dv" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dw" = ( +/turf/simulated/floor/grass, +/area/awaymission/snowfield/base) +"dx" = ( +/turf/simulated/floor/holofloor/wood, +/area/awaymission/snowfield/base) +"dy" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/gimmick/russian, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dz" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/l3closet/general, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dA" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/freezer/rations, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dB" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dC" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/secure/loot, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dD" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/secure/weapon, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dE" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dF" = ( +/obj/structure/closet/firecloset, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dG" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/item/device/radio/phone, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dH" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/grass, +/area/awaymission/snowfield/base) +"dI" = ( +/obj/structure/bed/chair/wood{ + dir = 4 + }, +/turf/simulated/floor/holofloor/wood, +/area/awaymission/snowfield/base) +"dJ" = ( +/obj/structure/bed/chair/wood{ + dir = 8 + }, +/turf/simulated/floor/holofloor/wood, +/area/awaymission/snowfield/base) +"dK" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/grass, +/area/awaymission/snowfield/base) +"dL" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dM" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dN" = ( +/obj/structure/closet/bombclosetsecurity, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dO" = ( +/obj/structure/closet/medical_wall{ + pixel_y = -32 + }, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/regular, +/obj/item/weapon/storage/firstaid/adv, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dP" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/backpack/satchel/sec, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dQ" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet, +/obj/item/clothing/shoes/boots/winter, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/head/hood/winter, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dR" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/internals, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dS" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/decal/remains/human, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dU" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/decal/remains/human, +/obj/structure/closet/crate/mimic/guaranteed{ + name = "steel crate" + }, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dV" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/gmcloset, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dW" = ( +/obj/machinery/power/port_gen/pacman, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"dX" = ( +/obj/machinery/door/airlock/highsecurity{ + locked = 1; + name = "Secure Armoury Section"; + req_access = list(150) + }, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dY" = ( +/obj/structure/closet, +/obj/item/clothing/under/soviet, +/obj/item/clothing/shoes/boots/jackboots, +/obj/item/clothing/head/ushanka, +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"dZ" = ( +/obj/structure/closet/crate/secure/gear, +/obj/item/ammo_magazine/clip/c762, +/obj/item/ammo_magazine/clip/c762, +/obj/item/ammo_magazine/clip/c762, +/obj/item/ammo_magazine/clip/c762, +/obj/item/ammo_magazine/clip/c762, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"ea" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate, +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"eb" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/item/clothing/suit/space/syndicate, +/obj/item/clothing/head/helmet/space/syndicate, +/obj/structure/closet/crate/internals, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"ec" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/item/clothing/suit/hgpirate, +/obj/item/clothing/head/hgpiratecap, +/obj/structure/closet/crate/secure/gear, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"ed" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/item/clothing/suit/armor/combat, +/obj/structure/closet/crate/secure/gear, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"ee" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/mob/living/simple_mob/mechanical/viscerator, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"ef" = ( +/mob/living/simple_mob/mechanical/viscerator, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"eg" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/mob/living/simple_mob/mechanical/viscerator, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"eh" = ( +/obj/structure/closet/crate/secure/weapon, +/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/turf/simulated/floor/tiled/dark, +/area/awaymission/snowfield/base) +"ei" = ( +/obj/structure/coatrack, +/turf/simulated/floor/grass, +/area/awaymission/snowfield/base) +"ej" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/wardrobe/red, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"ek" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/medical, +/obj/item/weapon/storage/firstaid/regular, +/obj/item/weapon/storage/firstaid/regular, +/obj/item/weapon/storage/firstaid/regular, +/obj/item/device/flashlight/flare, +/obj/item/device/flashlight/flare, +/obj/item/device/flashlight/flare, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"el" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"em" = ( +/obj/effect/floor_decal/industrial/loading{ + icon_state = "loadingarea"; + dir = 1 + }, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"en" = ( +/obj/machinery/conveyor_switch{ + id = "away_soviet" + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"eo" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/secure/phoron, +/obj/fiftyspawner/phoron, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"ep" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/toolcloset, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"eq" = ( +/obj/effect/floor_decal/industrial/warning/dust, +/obj/machinery/door/airlock/centcom, +/turf/simulated/floor/holofloor/wood, +/area/awaymission/snowfield/base) +"er" = ( +/obj/structure/plasticflaps/mining, +/obj/machinery/conveyor{ + dir = 2; + id = "away_soviet" + }, +/turf/simulated/floor/tiled/neutral, +/area/awaymission/snowfield/base) +"es" = ( +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"et" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + icon_state = "warningcorner_dust"; + dir = 4 + }, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"eu" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + icon_state = "warning_dust"; + dir = 1 + }, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"ev" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + icon_state = "warningcorner_dust"; + dir = 1 + }, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"ew" = ( +/obj/machinery/conveyor_switch{ + id = "away_soviet" + }, +/obj/effect/floor_decal/industrial/warning/dust{ + icon_state = "warning_dust"; + dir = 4 + }, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"ex" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "away_soviet" + }, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"ey" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + icon_state = "warning_dust"; + dir = 8 + }, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"ez" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + icon_state = "warning_dust"; + dir = 4 + }, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"eA" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"eB" = ( +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"eC" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + icon_state = "warningcorner_dust"; + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"eD" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + icon_state = "warning_dust"; + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"eE" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + icon_state = "warningcorner_dust"; + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"eF" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + icon_state = "warningcorner_dust"; + dir = 8 + }, +/turf/simulated/floor/tiled/asteroid_steel{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"eG" = ( +/turf/simulated/floor/reinforced{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/base) +"tn" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/awaymission/snowfield/outside; + base_turf = /turf/simulated/floor/outdoors/snow; + landmark_tag = "tether_excursion_snowfield" + }, +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/outside) +"Bw" = ( +/obj/effect/overmap/visitable/sector/snowfield, +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/restricted) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +Bw +aa +"} +(3,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(4,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(5,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(6,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(7,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(8,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(9,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(10,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(11,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(12,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(13,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(14,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(15,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(16,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(17,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(18,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(19,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(20,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(21,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(22,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(23,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(24,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(25,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(26,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(27,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(28,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(29,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(30,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(31,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(32,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(33,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(34,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(35,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(36,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(37,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(38,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(39,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(40,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +tn +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(41,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(42,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(43,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(44,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(45,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(46,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(47,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(48,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(49,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(50,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(51,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(52,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(53,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(54,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(55,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(56,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(57,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(58,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(59,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(60,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(61,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aw +aM +bb +bh +bo +bz +ai +ai +ci +cr +ai +cD +cJ +cD +ai +cT +cT +ai +dr +dF +dN +ai +dY +ee +dY +ai +es +es +eA +ez +ez +ez +ez +ez +ez +ez +ez +ez +ez +et +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(62,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ax +aN +aN +bi +bp +aC +bP +ai +cj +aN +cx +cE +cE +cE +cP +cT +cT +dl +cy +cy +cy +ai +dY +ef +dY +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(63,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ax +aN +bc +bj +bq +bA +bQ +ai +ck +aN +ai +cF +cK +cF +ai +cT +cT +ai +cy +cy +cy +ai +dY +ef +dY +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(64,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ay +aO +aO +bk +br +bB +ai +ai +ai +ai +ai +ai +ai +ai +ai +cU +cT +ai +ds +cy +cy +dX +cy +ef +cy +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(65,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +aP +bd +bl +ai +ai +ai +bV +cl +cs +cy +cG +cy +ai +cy +cT +cT +dm +dt +cy +dO +ai +dZ +ef +eh +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(66,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +az +aQ +aC +aC +bs +bC +ai +bW +cm +ct +cy +cy +cy +cM +cy +cT +cT +dn +du +cy +cy +ai +dZ +ef +eh +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(67,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aA +aR +aC +aC +bt +bD +ai +bX +cn +cu +cy +cH +cy +ai +cy +cT +cT +do +dv +dG +dP +ai +dZ +eg +eh +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(68,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +aA +aS +aC +aC +bt +bE +ai +ai +ai +ai +ai +ai +ai +ai +ai +cV +dd +ai +ai +ai +ai +ai +ai +ai +ai +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(69,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +al +ap +ar +ai +aB +aT +be +be +bt +bF +bR +bY +co +bY +cz +bY +co +bY +bR +cW +de +ai +dw +dH +dw +dw +dw +dH +dw +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(70,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ag +aj +am +ap +as +au +aC +aU +be +be +bu +bG +bS +bY +co +bY +co +bY +co +bY +bS +cX +df +ai +dw +dI +dI +dw +dI +dI +ei +ai +et +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(71,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ah +ak +an +ap +as +av +aC +aU +be +be +aC +aC +bT +bZ +bZ +bZ +bZ +bZ +bZ +bZ +cQ +cY +dg +dp +dx +dx +dx +dx +dx +dx +dx +eq +eu +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(72,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ao +aq +at +aj +aC +aU +be +be +aC +aC +bT +ca +ca +ca +ca +ca +ca +ca +cQ +cZ +dh +dp +dx +dx +dx +dx +dx +dx +dx +eq +eu +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(73,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +aD +aV +be +be +bv +bH +bR +bY +co +bY +co +bY +co +bY +bR +da +di +ai +dw +dJ +dJ +dw +dJ +dJ +ei +ai +ev +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(74,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aE +aW +aC +aC +bt +bI +bS +bY +co +bY +cA +bY +co +bY +bS +db +dj +ai +dw +dK +dw +dw +dw +dK +dw +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(75,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aF +aX +aC +aC +bt +bJ +ai +ai +ai +ai +ai +ai +ai +ai +ai +dc +dk +ai +ai +ai +ai +ai +ai +ai +ai +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(76,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aG +aX +aC +aC +bt +bK +ai +cb +cp +cv +cB +cI +cd +cN +bR +cT +cT +ai +dy +dL +dQ +dB +ea +dL +ej +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(77,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aH +aY +aC +aC +bw +bL +ai +cc +ch +ch +ch +ch +ch +ch +cR +cT +cT +ai +dz +dB +dC +dB +dC +dB +ek +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(78,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aI +aZ +bf +bm +bx +bM +ai +cd +ch +cq +cq +ch +ch +ch +bS +cT +cT +ai +dA +dB +dR +dB +eb +dB +el +ai +ew +ez +eC +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(79,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +ai +ai +ai +ce +cq +cd +cd +cq +ch +cO +ai +cU +cT +dq +dB +dB +dS +dB +dB +dB +em +er +ex +ex +eD +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(80,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aJ +ba +bg +bn +by +bN +ai +cf +cq +cw +cd +cq +ch +ch +ai +cT +cT +ai +dC +dB +dU +dB +dC +dB +en +ai +ey +ey +eE +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(81,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aK +ba +ba +ba +ba +bO +ai +cg +ch +cq +cq +ch +ch +ch +cS +cT +cT +ai +dD +dB +dV +dB +ec +dB +eo +ai +es +es +eB +eG +eG +eG +eG +eG +eG +eG +eG +eG +eG +eu +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(82,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aL +ba +ba +ba +ba +ba +bU +ch +ch +ch +cC +ch +cL +cL +ai +cT +cT +ai +dE +dM +dW +dB +ed +dM +ep +ai +es +es +eF +ey +ey +ey +ey +ey +ey +ey +ey +ey +ey +ev +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(83,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(84,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(85,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(86,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(87,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(88,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(89,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(90,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(91,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(92,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(93,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(94,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(95,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(96,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(97,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(98,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(99,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(100,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(101,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(102,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(103,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(104,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(105,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(106,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(107,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(108,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(109,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(110,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(111,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(112,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(113,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(114,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(115,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(116,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(117,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +af +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(118,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(119,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(120,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(121,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(122,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(123,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(124,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(125,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(126,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(127,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(128,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(129,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(130,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(131,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(132,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(133,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +ab +ab +ab +ab +ab +ab +ab +aa +"} +(134,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(135,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(136,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(137,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(138,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(139,1,1) = {" +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +"} +(140,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/gateway/carpfarm.dm b/maps/tether/submaps/gateway/carpfarm.dm index b5f0524e2c..687c8f7152 100644 --- a/maps/tether/submaps/gateway/carpfarm.dm +++ b/maps/tether/submaps/gateway/carpfarm.dm @@ -1,3 +1,8 @@ +/obj/effect/overmap/visitable/sector/tether_gateway/carpfarm + initial_generic_waypoints = list("tether_excursion_carpfarm") + true_name = "Carp-Infested Outpost" + true_desc = "Scans indicate this outpost has many instances of 'space carp' moving around, along with an assortment of equipment that appears human in origin." + /area/awaymission/carpfarm icon_state = "blank" requires_power = 0 diff --git a/maps/tether/submaps/gateway/carpfarm.dmm b/maps/tether/submaps/gateway/carpfarm.dmm index 0afbdefbf0..dac1dac648 100644 --- a/maps/tether/submaps/gateway/carpfarm.dmm +++ b/maps/tether/submaps/gateway/carpfarm.dmm @@ -763,6 +763,10 @@ }, /turf/simulated/floor/airless, /area/space) +"Fi" = ( +/obj/effect/overmap/visitable/sector/tether_gateway/carpfarm, +/turf/space, +/area/space) (1,1,1) = {" aa @@ -1045,7 +1049,7 @@ aa aa aa aa -aa +Fi aa "} (3,1,1) = {" diff --git a/maps/tether/submaps/gateway/listeningpost.dm b/maps/tether/submaps/gateway/listeningpost.dm index 5f32d82147..40ee7662a9 100644 --- a/maps/tether/submaps/gateway/listeningpost.dm +++ b/maps/tether/submaps/gateway/listeningpost.dm @@ -1,3 +1,8 @@ +/obj/effect/overmap/visitable/sector/tether_gateway/listeningpost + initial_generic_waypoints = list("tether_excursion_listeningpost") + true_name = "Strange Asteroid" + true_desc = "Scans indicate this asteroid is emitting large amounts of radio-frequency energy, and has indications of life being present." + /obj/item/weapon/paper/listneningpost/mission name = "\improper Operation: Watchtower" info = {"Mission Details: You have been assigned to a newly constructed listening post diff --git a/maps/tether/submaps/gateway/listeningpost.dmm b/maps/tether/submaps/gateway/listeningpost.dmm index b5d285c63a..daf33f04f7 100644 --- a/maps/tether/submaps/gateway/listeningpost.dmm +++ b/maps/tether/submaps/gateway/listeningpost.dmm @@ -1,11 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "a" = ( /turf/space, -/area) +/area/space) "b" = ( /obj/effect/blocker, /turf/space, -/area) +/area/space) "c" = ( /turf/simulated/wall/r_wall, /area/awaymission/listeningpost) @@ -309,6 +309,20 @@ }, /turf/simulated/floor/greengrid, /area/mine/explored) +"W" = ( +/obj/effect/overmap/visitable/sector/tether_gateway/listeningpost, +/turf/space, +/area/space) +"Y" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "tether_excursion_listeningpost"; + name = "Near Asteroid (SE)" + }, +/turf/space, +/area/space) (1,1,1) = {" a @@ -591,7 +605,7 @@ a a a a -a +W a "} (3,1,1) = {" @@ -16323,7 +16337,7 @@ a a a a -a +Y a a a diff --git a/maps/tether/submaps/gateway/snow_outpost.dm b/maps/tether/submaps/gateway/snow_outpost.dm index de9d70dfb1..a4b1b078ed 100644 --- a/maps/tether/submaps/gateway/snow_outpost.dm +++ b/maps/tether/submaps/gateway/snow_outpost.dm @@ -1,22 +1,24 @@ +/obj/effect/overmap/visitable/sector/tether_gateway/snowoutpost + initial_generic_waypoints = list("tether_excursion_snow_outpost") + true_name = "Snowy Outpost" + true_desc = "Scans indicate this planetoid has a very cold atmosphere and almost perpetual snow. There are signs of habitation on the surface." + // -- Areas -- // /area/awaymission/snow_outpost icon_state = "blank" - requires_power = 0 + mobcountmax = 0 + floracountmax = 0 base_turf = /turf/snow/snow2 ambience = list('sound/music/main.ogg', 'sound/ambience/maintenance/maintenance4.ogg', 'sound/ambience/sif/sif1.ogg', 'sound/ambience/ruins/ruins1.ogg') base_turf = /turf/simulated/floor/snow/snow2 /area/awaymission/snow_outpost/outside icon_state = "away1" - requires_power = 1 always_unpowered = 1 - dynamic_lighting = 1 - power_light = 0 - power_equip = 0 - power_environ = 0 - mobcountmax = 100 - floracountmax = 7000 + dynamic_lighting = 0 + mobcountmax = 50 + floracountmax = 300 valid_mobs = list(/mob/living/simple_mob/animal/sif/savik, /mob/living/simple_mob/animal/wolf, /mob/living/simple_mob/animal/sif/shantak, /mob/living/simple_mob/animal/sif/kururak, /mob/living/simple_mob/animal/sif/frostfly) valid_flora = list(/obj/structure/flora/tree/pine, /obj/structure/flora/tree/pine, /obj/structure/flora/tree/pine, @@ -25,17 +27,27 @@ /obj/structure/flora/ausbushes/sunnybush, /obj/structure/flora/ausbushes/genericbush, /obj/structure/flora/ausbushes/pointybush, /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, /obj/structure/flora/ausbushes/fullgrass) -/area/awaymission/snow_outpost/restricted // No mob spawns! - icon_state = "red" - mobcountmax = 1 // Hacky fix. - floracountmax = 100 - valid_mobs = list(/obj/structure/flora/tree/pine) // Hacky fix. - valid_flora = list(/obj/structure/flora/tree/pine, /obj/structure/flora/tree/pine, /obj/structure/flora/tree/pine, - /obj/structure/flora/tree/dead, /obj/structure/flora/grass/brown, /obj/structure/flora/grass/green, - /obj/structure/flora/grass/both, /obj/structure/flora/bush, /obj/structure/flora/ausbushes/grassybush, - /obj/structure/flora/ausbushes/sunnybush, /obj/structure/flora/ausbushes/genericbush, /obj/structure/flora/ausbushes/pointybush, - /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, /obj/structure/flora/ausbushes/fullgrass) +/area/awaymission/snow_outpost/outside/EvalValidSpawnTurfs() + ..() + if(mobcountmax || floracountmax) + for(var/turf/simulated/floor/water/W in src) + valid_spawn_turfs -= W + for(var/turf/simulated/floor/outdoors/ice/I in src) + valid_spawn_turfs -= I -/area/awaymission/snow_outpost/outpost +/area/awaymission/snow_outpost/dark + icon_state = "red" + requires_power = 1 + always_unpowered = 1 + dynamic_lighting = 1 + +/area/awaymission/snow_outpost/outside/nospawn + icon_state = "away2" + mobcountmax = 0 + floracountmax = 0 + +/area/awaymission/snow_outpost/powered + requires_power = 0 + dynamic_lighting = 1 icon_state = "away" ambience = list('sound/ambience/chapel/chapel1.ogg', 'sound/ambience/ruins/ruins5.ogg', 'sound/ambience/ruins/ruins1.ogg') // Rykka was here. <3 diff --git a/maps/tether/submaps/gateway/snow_outpost.dmm b/maps/tether/submaps/gateway/snow_outpost.dmm index c3d57c4ece..5f4beae397 100644 --- a/maps/tether/submaps/gateway/snow_outpost.dmm +++ b/maps/tether/submaps/gateway/snow_outpost.dmm @@ -1,67 +1,67 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/simulated/wall/snowbrick, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ab" = ( /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "ac" = ( /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ad" = ( /obj/machinery/gateway{ dir = 9 }, /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ae" = ( /obj/machinery/gateway{ dir = 1 }, /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "af" = ( /obj/machinery/gateway{ dir = 5 }, /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ag" = ( /obj/machinery/gateway{ dir = 8 }, /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ah" = ( /obj/machinery/gateway/centeraway, /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ai" = ( /obj/machinery/gateway{ dir = 4 }, /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "aj" = ( /obj/machinery/gateway{ dir = 10 }, /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ak" = ( /obj/machinery/gateway, /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "al" = ( /obj/machinery/gateway{ dir = 6 }, /turf/simulated/floor/tiled/old_tile/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "an" = ( /obj/machinery/door/airlock/alien/public, /turf/simulated/wall/snowbrick, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ao" = ( /obj/machinery/crystal/ice, /turf/simulated/floor/snow/snow2, @@ -74,20 +74,21 @@ dir = 1 }, /turf/simulated/floor/dungeon, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/outside/nospawn) "ar" = ( /turf/simulated/floor/water/deep, /area/awaymission/snow_outpost/outside) "as" = ( /turf/simulated/wall/r_wall, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/outside/nospawn) "at" = ( +/obj/machinery/light/flicker, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "au" = ( /obj/machinery/door/airlock/silver, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/outside/nospawn) "av" = ( /obj/structure/window/reinforced/full, /obj/structure/window/reinforced{ @@ -95,14 +96,14 @@ }, /obj/structure/grille, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aw" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ icon_state = "map"; dir = 8 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "ax" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -117,11 +118,11 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "ay" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "az" = ( /obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary, /obj/structure/grille, @@ -132,31 +133,31 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 5; icon_state = "intact" }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aB" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, /obj/structure/window/reinforced, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/outside/nospawn) "aC" = ( /obj/structure/railing, /turf/simulated/floor/dungeon, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/outside/nospawn) "aD" = ( /obj/machinery/crystal/ice, /turf/simulated/floor/outdoors/ice, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/outside/nospawn) "aE" = ( /turf/simulated/wall, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aF" = ( /obj/structure/table/standard{ name = "plastic table frame" @@ -165,26 +166,26 @@ /obj/machinery/door/window/southleft, /obj/machinery/door/window/northleft, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ icon_state = "intact"; dir = 10 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aH" = ( /obj/machinery/suit_cycler, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aI" = ( /obj/machinery/suit_cycler/mining, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aJ" = ( /obj/machinery/suit_cycler/medical, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aK" = ( /obj/machinery/power/apc{ dir = 1; @@ -198,26 +199,27 @@ oxygen = 0; temperature = 80 }, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aL" = ( /obj/machinery/suit_cycler/engineering, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aM" = ( /obj/machinery/suit_cycler/security, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aN" = ( /obj/machinery/suit_cycler/syndicate, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aO" = ( +/obj/machinery/light/flicker, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aP" = ( /obj/machinery/replicator, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aQ" = ( /turf/simulated/floor/bluegrid{ name = "Mainframe Base"; @@ -225,7 +227,7 @@ oxygen = 0; temperature = 80 }, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aR" = ( /obj/structure/AIcore, /turf/simulated/floor/bluegrid{ @@ -234,29 +236,29 @@ oxygen = 0; temperature = 80 }, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aS" = ( /obj/machinery/porta_turret/stationary/syndie, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aT" = ( /mob/living/simple_mob/mechanical/viscerator/mercenary, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/outside/nospawn) "aU" = ( /obj/machinery/dna_scannernew, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aV" = ( /obj/machinery/clonepod/transhuman/full, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aW" = ( /obj/machinery/sleeper{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aX" = ( /obj/machinery/firealarm{ dir = 2; @@ -266,39 +268,39 @@ }, /mob/living/simple_mob/humanoid/merc/ranged/ionrifle, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aY" = ( /obj/machinery/implantchair, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "aZ" = ( /obj/machinery/sleep_console, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "ba" = ( /obj/machinery/bodyscanner, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bb" = ( /obj/machinery/body_scanconsole, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) -"bc" = ( -/obj/machinery/optable, -/turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bd" = ( /obj/machinery/telecomms/relay, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "be" = ( /obj/machinery/telecomms/broadcaster, +/obj/machinery/light/flicker{ + icon_state = "tube1"; + dir = 4 + }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bf" = ( /obj/machinery/washing_machine, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bg" = ( /obj/machinery/power/apc{ dir = 1; @@ -307,7 +309,7 @@ pixel_y = 28 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bh" = ( /obj/structure/ore_box, /obj/machinery/power/apc{ @@ -316,7 +318,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bi" = ( /obj/machinery/power/apc{ dir = 4; @@ -328,118 +330,118 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bj" = ( /obj/machinery/porta_turret/stationary/syndie, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bk" = ( /obj/machinery/power/breakerbox/activated, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bl" = ( /obj/machinery/power/smes/magical, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bm" = ( /obj/machinery/atmospherics/pipe/tank/air{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bn" = ( /obj/machinery/door/airlock/silver, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/outside/nospawn) "bo" = ( /obj/machinery/atmospherics/unary/vent_scrubber, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bp" = ( /obj/machinery/door/airlock/highsecurity, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bq" = ( /obj/machinery/door/airlock/silver, /obj/machinery/door/firedoor, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "br" = ( /obj/structure/table/standard, /obj/machinery/door/firedoor, /obj/machinery/door/window/southright, /obj/machinery/door/window/northleft, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) -"bs" = ( -/obj/random/landmine, -/turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bt" = ( /turf/simulated/wall/solidrock{ block_tele = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "bu" = ( /turf/simulated/floor/outdoors/ice{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "bv" = ( /obj/machinery/crystal/ice, /turf/simulated/floor/outdoors/ice{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "bw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /turf/simulated/wall/r_wall, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bx" = ( /obj/machinery/door/airlock/silver, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "by" = ( /obj/machinery/atmospherics/unary/vent_pump, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bz" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bA" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ icon_state = "intact"; dir = 9 }, +/obj/machinery/light/flicker{ + icon_state = "tube1"; + dir = 4 + }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bC" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ icon_state = "map"; dir = 4 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bD" = ( /obj/machinery/atmospherics/unary/vent_pump{ dir = 4; use_power = 0 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -450,30 +452,30 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bF" = ( /obj/machinery/door/airlock/silver, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 4; icon_state = "intact" }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bJ" = ( /obj/machinery/firealarm{ dir = 2; @@ -486,11 +488,11 @@ icon_state = "intact" }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bK" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/cyan, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bL" = ( /obj/machinery/atmospherics/unary/vent_pump{ dir = 8; @@ -502,7 +504,7 @@ use_power = 1 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bM" = ( /obj/machinery/power/apc{ dir = 4; @@ -513,7 +515,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bN" = ( /obj/machinery/door/airlock/silver, /obj/machinery/door/firedoor, @@ -522,13 +524,13 @@ icon_state = "intact" }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bO" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bP" = ( /obj/machinery/atmospherics/unary/vent_pump{ dir = 1; @@ -544,14 +546,15 @@ use_power = 1 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bQ" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ icon_state = "map_scrubber_off"; dir = 1 }, +/obj/machinery/light/flicker, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bR" = ( /obj/structure/table/standard{ name = "plastic table frame" @@ -561,15 +564,15 @@ /obj/machinery/door/window/northleft, /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bS" = ( /obj/tether_away_spawner/underdark_hard, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bT" = ( /mob/living/simple_mob/humanoid/merc/ranged/laser, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bU" = ( /mob/living/simple_mob/humanoid/merc/ranged/space, /turf/simulated/floor/bluegrid{ @@ -578,27 +581,27 @@ oxygen = 0; temperature = 80 }, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bV" = ( /mob/living/simple_mob/humanoid/merc/ranged, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bW" = ( /mob/living/simple_mob/humanoid/merc/melee, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bX" = ( /mob/living/simple_mob/humanoid/merc/melee/sword/space, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "bY" = ( /obj/structure/loot_pile/surface/bones, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "bZ" = ( /obj/random/firstaid, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "ca" = ( /obj/random/landmine, /turf/simulated/floor/snow/snow2, @@ -606,7 +609,7 @@ "cb" = ( /obj/random/ammo, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cc" = ( /obj/effect/decal/remains/human, /turf/simulated/floor/snow/snow2, @@ -616,89 +619,89 @@ /area/awaymission/snow_outpost/outside) "ce" = ( /turf/simulated/wall/sandstone, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cf" = ( /obj/item/weapon/ore/diamond, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cg" = ( /obj/structure/boulder, /turf/simulated/floor/plating/external, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "ch" = ( /turf/simulated/floor/tiled/kafel_full/yellow, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "ci" = ( /turf/simulated/floor/plating/external, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cj" = ( /obj/item/weapon/ore, /turf/simulated/floor/plating/external, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "ck" = ( /obj/structure/bed/alien, /turf/simulated/floor/tiled/kafel_full/yellow, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cl" = ( /obj/structure/cult/talisman, /turf/simulated/floor/tiled/kafel_full/yellow, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cm" = ( /obj/machinery/artifact, /obj/structure/anomaly_container, /turf/simulated/floor/tiled/kafel_full/yellow, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cn" = ( /obj/structure/simple_door/sandstone, /turf/simulated/floor/tiled/kafel_full/yellow, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "co" = ( /obj/structure/loot_pile/surface/alien, /turf/simulated/floor/tiled/kafel_full/yellow, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cp" = ( /mob/living/simple_mob/animal/passive/tindalos, /turf/simulated/floor/tiled/kafel_full/yellow, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cq" = ( /obj/structure/closet/crate/secure/loot, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cr" = ( /turf/simulated/mineral/floor/ignore_mapgen, /area/awaymission/snow_outpost/outside) "cs" = ( /obj/item/weapon/ore, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "ct" = ( /obj/effect/floor_decal/asteroid, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cu" = ( /obj/structure/anomaly_container, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cv" = ( /turf/simulated/wall, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cw" = ( /obj/item/frame/apc, /obj/item/weapon/module/power_control, /turf/simulated/floor/plating/external, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cx" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, /obj/random/powercell, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cy" = ( /obj/structure/table/steel, /obj/item/weapon/storage/excavation, /obj/item/device/measuring_tape, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cz" = ( /obj/machinery/power/port_gen/pacman/super, /obj/structure/cable/yellow{ @@ -706,111 +709,111 @@ icon_state = "0-4" }, /turf/simulated/floor/plating/external, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cA" = ( /obj/structure/cable/yellow{ d2 = 8; icon_state = "0-8" }, /turf/simulated/floor/plating/external, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cB" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cC" = ( /obj/structure/table/steel, /obj/item/weapon/folder, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cD" = ( /obj/structure/table/rack, /obj/item/weapon/pickaxe, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cE" = ( /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cF" = ( /obj/structure/loot_pile/maint/technical, /turf/simulated/floor/plating/external, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cG" = ( /obj/structure/table/steel, /obj/random/tech_supply, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cH" = ( /obj/structure/table/rack, /obj/item/weapon/shovel, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cI" = ( /obj/structure/boulder, /obj/effect/decal/mecha_wreckage/ripley, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cJ" = ( /obj/structure/boulder, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cK" = ( /obj/structure/loot_pile/maint/junk, /turf/simulated/floor/plating/external, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cL" = ( /obj/structure/table/steel, /obj/item/weapon/tool/wrench, /obj/item/weapon/storage/box/samplebags, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cM" = ( /obj/structure/table/steel, /obj/item/stack/flag/yellow, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cN" = ( /obj/random/toolbox, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cO" = ( /obj/structure/closet/crate, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cP" = ( /obj/machinery/floodlight, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "cQ" = ( /obj/structure/ore_box, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "cR" = ( /turf/simulated/floor/tiled/asteroid_steel, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "cS" = ( /obj/machinery/light/small, /turf/simulated/floor/tiled/asteroid_steel, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "cT" = ( /obj/machinery/space_heater, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "cU" = ( /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "cV" = ( /obj/structure/bed, /obj/item/weapon/bedsheet, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "cW" = ( /obj/structure/table/standard, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "cX" = ( /obj/structure/bed, /obj/item/weapon/bedsheet, @@ -819,20 +822,20 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "cY" = ( /obj/structure/table/standard, /obj/structure/bedsheetbin, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "cZ" = ( /obj/machinery/door/airlock, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "da" = ( /obj/structure/old_roboprinter, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "db" = ( /obj/item/weapon/ore/gold, /obj/item/weapon/ore/gold, @@ -847,7 +850,7 @@ /obj/item/weapon/ore/gold, /obj/item/weapon/ore/gold, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "dc" = ( /obj/item/weapon/ore/gold, /obj/item/weapon/ore/gold, @@ -855,113 +858,113 @@ /obj/item/weapon/ore/gold, /obj/item/weapon/ore/gold, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "dd" = ( /obj/structure/table/standard, /obj/item/device/flashlight/lamp, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "de" = ( /obj/structure/bed, /obj/item/weapon/bedsheet, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "df" = ( /obj/structure/window/reinforced/full, /turf/simulated/wall, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dg" = ( /obj/machinery/light{ icon_state = "tube1"; dir = 4 }, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dh" = ( /obj/structure/table/standard, /obj/machinery/cell_charger, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "di" = ( /obj/structure/table/standard, /obj/item/weapon/cell/high, /obj/item/weapon/cell/high, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dj" = ( /obj/structure/loot_pile/maint/trash, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dk" = ( /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dl" = ( /obj/machinery/power/apc{ operating = 0; pixel_x = 31 }, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dm" = ( /obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dn" = ( /obj/structure/closet/crate/trashcart, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "do" = ( /obj/structure/closet/crate/engineering, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dp" = ( /obj/machinery/light, /obj/machinery/space_heater, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dq" = ( /obj/machinery/space_heater, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dr" = ( /obj/structure/closet/secure_closet/engineering_welding, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "ds" = ( /obj/structure/table/rack, /obj/item/weapon/pickaxe/drill, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dt" = ( /obj/machinery/vending/cola, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "du" = ( /obj/machinery/vending/snack, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dv" = ( /obj/machinery/washing_machine, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dw" = ( /obj/structure/ore_box, /turf/simulated/floor/tiled/asteroid_steel, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dx" = ( /obj/machinery/light{ icon_state = "tube1"; dir = 8 }, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dy" = ( /obj/item/weapon/stool, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dz" = ( /obj/machinery/light/small{ brightness_color = "#DA0205"; @@ -970,37 +973,34 @@ dir = 8 }, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "dA" = ( /obj/machinery/light/small{ dir = 4; pixel_y = 0 }, /turf/simulated/floor/tiled/asteroid_steel, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dB" = ( /obj/structure/table/standard, /obj/item/pizzabox, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dC" = ( /obj/machinery/door/airlock, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dD" = ( /obj/machinery/light{ icon_state = "tube1"; dir = 1 }, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "dE" = ( /obj/machinery/light/small, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) -"dF" = ( -/turf/simulated/mineral/ignore_mapgen, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/dark) "dG" = ( /obj/effect/decal/cleanable/blood, /turf/simulated/floor/snow/snow2, @@ -1009,49 +1009,38 @@ /obj/structure/flora/tree/sif, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) -"dI" = ( -/turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/restricted) -"dJ" = ( -/obj/effect/decal/remains/human, -/turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/restricted) "dK" = ( /obj/structure/table/steel, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/restricted) -"dL" = ( -/obj/structure/flora/tree/sif, -/turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "dM" = ( /mob/living/simple_mob/humanoid/merc/ranged/smg/poi, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "dN" = ( /turf/simulated/floor/snow/snow2, /turf/simulated/shuttle/wall/dark{ icon_state = "dark6"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "dO" = ( /turf/simulated/shuttle/wall/dark{ icon_state = "dark0"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "dP" = ( /turf/simulated/floor/snow/snow2, /turf/simulated/shuttle/wall/dark{ icon_state = "dark10"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "dQ" = ( /mob/living/simple_mob/humanoid/merc/ranged/laser/poi, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "dR" = ( /obj/structure/shuttle/engine/heater{ icon_state = "heater"; @@ -1061,14 +1050,14 @@ icon_state = "dark0"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "dS" = ( /obj/structure/shuttle/engine/propulsion{ dir = 4; icon_state = "propulsion_l" }, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "dT" = ( /obj/machinery/light{ dir = 1 @@ -1086,14 +1075,14 @@ dir = 9 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "dU" = ( /obj/structure/dispenser/oxygen, /obj/effect/floor_decal/borderfloor{ dir = 5 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "dV" = ( /obj/machinery/door/airlock/external{ density = 1; @@ -1103,14 +1092,14 @@ req_access = list(150) }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "dW" = ( /obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 9 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "dX" = ( /obj/machinery/gibber, /obj/effect/floor_decal/corner/green/border{ @@ -1118,7 +1107,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "dY" = ( /obj/machinery/light{ dir = 1 @@ -1128,7 +1117,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "dZ" = ( /obj/machinery/bodyscanner{ dir = 8 @@ -1138,7 +1127,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ea" = ( /obj/machinery/body_scanconsole, /obj/effect/floor_decal/corner/green/border{ @@ -1146,57 +1135,57 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eb" = ( /turf/simulated/floor/tiled/steel, /turf/simulated/shuttle/wall/dark{ icon_state = "dark5"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "ec" = ( /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ed" = ( /obj/structure/table/steel, /obj/item/weapon/gun/projectile/automatic/wt550, /obj/item/weapon/gun/projectile/automatic/p90, /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ee" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ef" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eg" = ( /obj/machinery/door/airlock/external, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eh" = ( /obj/effect/floor_decal/corner/green/border{ icon_state = "bordercolor"; dir = 8 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ei" = ( /obj/machinery/optable, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ej" = ( /obj/effect/decal/cleanable/blood, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ek" = ( /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "el" = ( /obj/machinery/organ_printer/flesh, /obj/effect/floor_decal/corner/green/border{ @@ -1204,27 +1193,27 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "em" = ( /turf/simulated/floor/tiled/steel, /turf/simulated/shuttle/wall/dark{ icon_state = "dark9"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "en" = ( /turf/simulated/floor/tiled/steel, /turf/simulated/shuttle/wall/dark{ icon_state = "dark6"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "eo" = ( /mob/living/simple_mob/mechanical/viscerator, /mob/living/simple_mob/mechanical/viscerator, /mob/living/simple_mob/mechanical/viscerator, /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ep" = ( /obj/structure/table/steel, /obj/machinery/light/small{ @@ -1232,33 +1221,33 @@ pixel_y = 0 }, /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eq" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "er" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "es" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "et" = ( /obj/effect/decal/cleanable/blood/drip, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eu" = ( /mob/living/simple_mob/humanoid/merc/melee/sword/poi, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ev" = ( /obj/machinery/light{ dir = 4; @@ -1270,25 +1259,25 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ew" = ( /obj/structure/table/steel, /obj/effect/floor_decal/borderfloor/full, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ex" = ( /obj/structure/table/steel, /obj/item/weapon/grenade/smokebomb, /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ey" = ( /obj/effect/floor_decal/borderfloor/corner, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ez" = ( /obj/effect/floor_decal/borderfloor, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eA" = ( /obj/machinery/light{ dir = 4; @@ -1299,7 +1288,7 @@ dir = 6 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eB" = ( /obj/structure/table/standard, /obj/item/weapon/storage/firstaid/surgery, @@ -1308,31 +1297,31 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eC" = ( /obj/structure/table/standard, /obj/item/weapon/tank/anesthetic, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eD" = ( /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eE" = ( /obj/structure/table/standard, /obj/item/clothing/gloves/sterile, /obj/item/clothing/gloves/sterile, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eF" = ( /obj/structure/table/standard, /obj/item/weapon/reagent_containers/spray/sterilizine, /obj/item/weapon/reagent_containers/spray/sterilizine, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eG" = ( /obj/structure/table/standard, /obj/item/weapon/storage/box/masks, @@ -1341,7 +1330,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eH" = ( /obj/machinery/light{ icon_state = "tube1"; @@ -1351,7 +1340,7 @@ dir = 9 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eI" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -1360,70 +1349,70 @@ dir = 5 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eJ" = ( /obj/machinery/door/airlock/security{ locked = 1 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eK" = ( /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eL" = ( /turf/simulated/floor/tiled/steel, /turf/simulated/shuttle/wall/dark{ icon_state = "dark10"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "eM" = ( /obj/machinery/computer/communications, /obj/effect/floor_decal/borderfloor{ dir = 9 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eN" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eO" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eP" = ( /obj/structure/closet/secure_closet/freezer/fridge, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eQ" = ( /obj/structure/table/steel, /obj/item/weapon/material/knife, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eR" = ( /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eS" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eT" = ( /mob/living/simple_mob/humanoid/merc/ranged/smg/poi, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eU" = ( /obj/structure/table/steel, /obj/random/toolbox, /turf/simulated/floor/tiled/yellow, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eV" = ( /obj/structure/table/steel, /obj/machinery/light/small{ @@ -1431,7 +1420,7 @@ pixel_y = 0 }, /turf/simulated/floor/tiled/yellow, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eW" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -1444,14 +1433,14 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "eX" = ( /obj/structure/table/steel, /obj/effect/floor_decal/borderfloor{ dir = 8 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eY" = ( /obj/machinery/light{ icon_state = "tube1"; @@ -1461,13 +1450,13 @@ dir = 8 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "eZ" = ( /mob/living/simple_mob/animal/giant_spider/ion, /turf/simulated/floor/outdoors/ice{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "fa" = ( /obj/machinery/light{ dir = 4; @@ -1478,19 +1467,19 @@ dir = 4 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fb" = ( /obj/item/weapon/stool, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fc" = ( /obj/structure/table/steel, /obj/random/projectile, /turf/simulated/floor/tiled/yellow, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fd" = ( /turf/simulated/floor/tiled/yellow, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fe" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -1500,46 +1489,46 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "ff" = ( /obj/machinery/door/airlock/glass, /obj/effect/floor_decal/borderfloor{ dir = 1 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fg" = ( /obj/effect/floor_decal/corner/grey, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fh" = ( /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fi" = ( /obj/structure/table/steel, /obj/item/pizzabox, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fj" = ( /obj/structure/table/steel, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fk" = ( /obj/machinery/door/airlock, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fl" = ( /obj/machinery/door/airlock/glass, /obj/effect/floor_decal/borderfloor, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fm" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fn" = ( /obj/structure/grille, /obj/structure/window/reinforced, @@ -1550,7 +1539,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "fo" = ( /obj/machinery/power/apc{ dir = 8; @@ -1558,31 +1547,31 @@ pixel_x = -24 }, /turf/simulated/floor/tiled/yellow, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fp" = ( /mob/living/simple_mob/humanoid/merc/melee/sword/poi, /turf/simulated/floor/tiled/yellow, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fq" = ( /obj/machinery/computer/area_atmos, /obj/effect/floor_decal/borderfloor{ dir = 10 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fr" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 }, /mob/living/simple_mob/humanoid/merc/ranged/laser/poi, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fs" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "ft" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -1591,7 +1580,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fu" = ( /obj/structure/table/steel, /obj/item/weapon/paper{ @@ -1599,24 +1588,24 @@ name = "Operation Progress/M-53" }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fv" = ( /obj/structure/table/steel, /obj/item/weapon/paper_bin, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fw" = ( /obj/machinery/light, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fx" = ( /obj/structure/closet/toolcloset, /turf/simulated/floor/tiled/yellow, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fy" = ( /obj/machinery/portable_atmospherics/canister/empty/oxygen, /turf/simulated/floor/tiled/yellow, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fz" = ( /obj/machinery/atmospherics/pipe/tank/oxygen, /obj/machinery/light/small{ @@ -1624,7 +1613,7 @@ pixel_y = 0 }, /turf/simulated/floor/tiled/yellow, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fA" = ( /obj/machinery/light{ icon_state = "tube1"; @@ -1634,18 +1623,18 @@ dir = 10 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fB" = ( /obj/structure/bed/chair/office/dark, /obj/effect/floor_decal/borderfloor{ dir = 6 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fC" = ( /obj/structure/table/steel, /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fD" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -1654,7 +1643,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fE" = ( /obj/machinery/light{ dir = 4; @@ -1665,23 +1654,23 @@ dir = 5 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fF" = ( /obj/structure/bed, /obj/item/weapon/bedsheet, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fG" = ( /obj/machinery/door/airlock, /turf/simulated/floor/tiled/hydro, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fH" = ( /turf/simulated/floor/tiled/hydro, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fI" = ( /mob/living/simple_mob/mechanical/viscerator, /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fJ" = ( /obj/structure/table/steel, /obj/item/weapon/gun/projectile/pistol, @@ -1690,49 +1679,49 @@ pixel_y = 0 }, /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fK" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fL" = ( /obj/structure/bed, /obj/item/weapon/bedsheet, /obj/structure/bed, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fM" = ( /obj/machinery/light/small{ dir = 4; pixel_y = 0 }, /turf/simulated/floor/tiled/hydro, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fN" = ( /mob/living/simple_mob/mechanical/viscerator, /mob/living/simple_mob/mechanical/viscerator, /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fO" = ( /obj/structure/table/steel, /obj/random/energy, /turf/simulated/floor/tiled/steel_grid, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fP" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 }, /mob/living/simple_mob/humanoid/merc/melee/sword/poi, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fQ" = ( /obj/structure/toilet{ dir = 1 }, /turf/simulated/floor/tiled/hydro, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fR" = ( /obj/machinery/light, /obj/structure/table/rack, @@ -1748,34 +1737,34 @@ dir = 10 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fS" = ( /obj/structure/dispenser/oxygen, /obj/effect/floor_decal/borderfloor{ dir = 6 }, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fT" = ( /obj/structure/table/woodentable, /obj/random/projectile, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fU" = ( /obj/structure/bed, /obj/item/weapon/bedsheet, /obj/machinery/light, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "fV" = ( /obj/tether_away_spawner/aerostat_inside, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "fW" = ( /obj/item/weapon/ore/gold, /obj/tether_away_spawner/aerostat_inside, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "fX" = ( /obj/structure/flora/tree/pine, /turf/simulated/floor/snow/snow2, @@ -1787,7 +1776,7 @@ "fZ" = ( /obj/structure/flora/ausbushes/fullgrass, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "ga" = ( /obj/structure/flora/ausbushes/sparsegrass, /turf/simulated/floor/snow/snow2, @@ -1795,11 +1784,11 @@ "gb" = ( /obj/item/weapon/shovel, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gc" = ( /obj/structure/flora/ausbushes/sunnybush, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gd" = ( /obj/structure/flora/ausbushes/stalkybush, /turf/simulated/floor/snow/snow2, @@ -1826,7 +1815,7 @@ "gi" = ( /obj/structure/flora/tree/sif, /turf/simulated/floor/outdoors/ice, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gj" = ( /obj/item/ammo_casing/a45, /obj/random/landmine, @@ -1843,7 +1832,7 @@ /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gm" = ( /obj/item/ammo_casing/a45, /obj/item/ammo_casing/a45, @@ -1868,64 +1857,64 @@ /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gr" = ( /mob/living/simple_mob/animal/giant_spider, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gs" = ( /obj/effect/decal/cleanable/cobweb, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gt" = ( /obj/random/mob/spider, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gu" = ( /mob/living/simple_mob/animal/giant_spider/lurker, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gv" = ( /obj/effect/decal/cleanable/cobweb2, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gw" = ( /mob/living/simple_mob/animal/giant_spider/webslinger, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gx" = ( /obj/effect/decal/cleanable/cobweb2, /mob/living/simple_mob/animal/giant_spider/lurker, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gy" = ( /obj/random/landmine, /turf/simulated/floor/outdoors/ice, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gz" = ( /obj/random/mob/spider/mutant, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gA" = ( /mob/living/simple_mob/animal/giant_spider/lurker, /turf/simulated/floor/outdoors/dirt, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gB" = ( /obj/structure/flora/tree/pine{ icon_state = "pine_2" @@ -1948,15 +1937,15 @@ /obj/item/weapon/storage/toolbox, /obj/random/toolbox, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gE" = ( /obj/structure/loot_pile/maint/technical, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gF" = ( /obj/structure/table/woodentable, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gG" = ( /obj/machinery/power/port_gen/pacman, /obj/structure/cable{ @@ -1964,7 +1953,7 @@ d2 = 2 }, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gH" = ( /obj/structure/closet/crate, /obj/item/weapon/reagent_containers/hypospray, @@ -1976,7 +1965,7 @@ /obj/item/weapon/reagent_containers/pill/paracetamol, /obj/random/firstaid, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gI" = ( /obj/structure/cable{ d1 = 1; @@ -1985,7 +1974,7 @@ pixel_y = 0 }, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gJ" = ( /obj/structure/closet/crate, /obj/random/contraband, @@ -1998,14 +1987,14 @@ /obj/item/weapon/material/star, /obj/item/weapon/material/star, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gK" = ( /obj/effect/spider/stickyweb, /mob/living/simple_mob/animal/giant_spider/lurker, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gL" = ( /obj/structure/cable{ d1 = 1; @@ -2013,7 +2002,7 @@ icon_state = "1-4" }, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gM" = ( /obj/structure/cable{ d1 = 4; @@ -2022,7 +2011,7 @@ pixel_x = 0 }, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gN" = ( /obj/machinery/computer/communications, /obj/structure/cable{ @@ -2030,11 +2019,11 @@ icon_state = "0-8" }, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gO" = ( /obj/structure/loot_pile/maint/boxfort, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gP" = ( /obj/structure/flora/tree/pine{ icon_state = "pine_2" @@ -2090,98 +2079,98 @@ "gY" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "gZ" = ( /obj/random/trash, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "ha" = ( /obj/structure/closet/cabinet, /obj/item/weapon/lipstick/random, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hb" = ( /obj/structure/bed, /obj/item/weapon/bedsheet, /obj/structure/curtain/open/bed, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hc" = ( /obj/structure/table/woodentable, /obj/item/weapon/reagent_containers/pill/happy{ name = "pill" }, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hd" = ( /obj/structure/curtain/black, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "he" = ( /obj/random/trash, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hf" = ( /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hg" = ( /obj/effect/decal/remains/mouse, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hh" = ( /obj/structure/closet/cabinet, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hi" = ( /obj/structure/table/woodentable, /obj/item/weapon/reagent_containers/pill/methylphenidate{ name = "pill" }, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hj" = ( /obj/structure/bed/chair/comfy/beige{ icon_state = "armchair_preview"; dir = 1 }, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hk" = ( /obj/item/weapon/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hl" = ( /obj/random/junk, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hm" = ( /obj/structure/closet/cabinet, /obj/item/weapon/contraband/poster, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hn" = ( /obj/structure/bed/chair/comfy/beige, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "ho" = ( /obj/structure/table/woodentable, /obj/item/device/flashlight/lamp, /obj/item/weapon/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hp" = ( /obj/structure/bed/chair/comfy/beige, /obj/item/weapon/reagent_containers/pill/citalopram{ name = "pill" }, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hq" = ( /obj/structure/loot_pile/maint/junk, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hr" = ( /obj/item/weapon/reagent_containers/pill/citalopram{ name = "pill" @@ -2190,114 +2179,114 @@ name = "pill" }, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hs" = ( /obj/structure/table/standard, /obj/item/weapon/storage/pill_bottle/happy, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "ht" = ( /obj/structure/table/standard, /obj/item/stack/medical/splint, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hu" = ( /obj/structure/table/standard, /obj/item/weapon/reagent_containers/pill/citalopram, /obj/item/weapon/reagent_containers/pill/citalopram, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hv" = ( /obj/structure/table/standard, /obj/item/weapon/reagent_containers/pill/tramadol, /obj/item/weapon/reagent_containers/pill/tramadol, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hw" = ( /obj/structure/closet/cabinet, /obj/item/clothing/accessory/jacket, /obj/item/weapon/material/butterfly/switchblade, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hx" = ( /obj/item/weapon/reagent_containers/pill/zoom{ name = "pill" }, /obj/random/trash, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hy" = ( /obj/item/weapon/reagent_containers/pill/zoom{ name = "pill" }, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hz" = ( /obj/structure/loot_pile/maint/boxfort, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hA" = ( /obj/structure/table/standard, /obj/item/weapon/surgical/scalpel, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hB" = ( /obj/item/wheelchair, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hC" = ( /obj/structure/table/standard, /obj/random/firstaid, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hD" = ( /obj/structure/loot_pile/maint/junk, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hE" = ( /obj/effect/floor_decal/rust, /obj/structure/table/standard, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hF" = ( /obj/structure/table/standard, /obj/item/weapon/reagent_containers/pill/zoom, /obj/item/weapon/reagent_containers/pill/zoom, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hG" = ( /obj/structure/table/woodentable, /obj/item/weapon/reagent_containers/pill/tramadol{ name = "pill" }, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hH" = ( /mob/living/simple_mob/mechanical/hivebot/ranged_damage/strong/guard, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hI" = ( /obj/structure/girder, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hJ" = ( /obj/item/weapon/material/shard, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hK" = ( /obj/structure/table/woodentable, /obj/item/device/flashlight/lamp, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hL" = ( /obj/structure/table/woodentable, /obj/item/weapon/reagent_containers/syringe/drugs, /turf/simulated/floor/carpet, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hM" = ( /obj/effect/spider/stickyweb, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hN" = ( /obj/effect/spider/spiderling/frost, /turf/simulated/mineral/floor/ignore_mapgen, @@ -2306,7 +2295,7 @@ /obj/item/weapon/spacecash/c100, /obj/item/weapon/spacecash/c100, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hP" = ( /obj/random/mob/spider/mutant, /turf/simulated/mineral/floor/ignore_mapgen, @@ -2317,42 +2306,42 @@ /obj/item/weapon/spacecash/c100, /obj/effect/decal/remains, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hR" = ( /obj/random/mob/spider, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hS" = ( /obj/item/weapon/grenade/spawnergrenade/spider, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hT" = ( /obj/random/toolbox, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hU" = ( /obj/effect/decal/mecha_wreckage/ripley, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hV" = ( /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hW" = ( /mob/living/simple_mob/animal/giant_spider/frost, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hX" = ( /obj/effect/spider/stickyweb, /obj/effect/spider/stickyweb, /turf/simulated/mineral/floor/ignore_mapgen, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hY" = ( /mob/living/simple_mob/animal/giant_spider/frost, /turf/simulated/floor/outdoors/ice{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "hZ" = ( /mob/living/simple_mob/animal/giant_spider/frost, /turf/simulated/floor/snow/snow2, @@ -2561,60 +2550,52 @@ /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) -"iE" = ( -/turf/simulated/floor/outdoors/dirt{ - outdoors = 0 - }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/dark) "iF" = ( /obj/structure/closet/crate/mimic/guaranteed, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/dark) "iG" = ( /obj/structure/closet/grave, /obj/structure/gravemarker, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/dark) "iH" = ( /obj/structure/closet/crate/mimic/dangerous, /turf/simulated/floor, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "iI" = ( /obj/structure/closet/crate/mimic/guaranteed, /turf/simulated/floor/tiled, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/powered) "iJ" = ( /obj/structure/closet/crate/mimic/guaranteed, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) -"iK" = ( -/turf/simulated/floor/outdoors/ice, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/dark) "iL" = ( /obj/vehicle/bike, /turf/simulated/floor/snow/snow2, -/area/awaymission/snow_outpost/outside) +/area/awaymission/snow_outpost/outside/nospawn) "iM" = ( /obj/effect/decal/remains/deer, /turf/simulated/floor/snow/snow2, /area/awaymission/snow_outpost/outside) "iN" = ( /turf/simulated/floor/water/deep, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/dark) "iO" = ( /obj/mecha/combat/phazon/equipped, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "iP" = ( /obj/machinery/atmospherics/unary/vent_pump, /obj/item/weapon/cell/infinite, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "iQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 5; @@ -2623,7 +2604,7 @@ /obj/item/weapon/cell/infinite, /obj/item/weapon/cat_box, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "iR" = ( /obj/machinery/atmospherics/unary/vent_pump{ dir = 8; @@ -2635,69 +2616,282 @@ use_power = 1 }, /obj/item/stack/material/phoron, +/obj/machinery/light/flicker{ + icon_state = "tube1"; + dir = 4 + }, /turf/simulated/floor/tiled/white, -/area/awaymission/snow_outpost/outpost) +/area/awaymission/snow_outpost/powered) "iS" = ( /obj/structure/table/woodentable, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "iT" = ( /obj/structure/bed, /obj/item/weapon/bedsheet, /obj/item/toy/plushie/spider, /turf/simulated/floor/tiled/steel, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/powered) "iU" = ( /turf/simulated/floor/snow/snow2, /turf/simulated/shuttle/wall/dark{ icon_state = "dark5"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "iV" = ( /turf/simulated/floor/snow/snow2, /turf/simulated/shuttle/wall/dark{ icon_state = "dark9"; name = "Unknown Shuttle" }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) "iW" = ( /obj/effect/decal/remains/deer, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/dark) "iX" = ( /obj/structure/bonfire/permanent, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/restricted) -"iY" = ( -/obj/structure/closet/crate/mimic/guaranteed, -/turf/simulated/floor/outdoors/dirt{ - outdoors = 0 - }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/dark) "iZ" = ( /obj/structure/dogbed, /turf/simulated/floor/outdoors/dirt{ outdoors = 0 }, -/area/awaymission/snow_outpost/restricted) -"ja" = ( -/obj/structure/closet/crate/mimic/dangerous, -/turf/simulated/floor/outdoors/dirt{ - outdoors = 0 - }, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/dark) "jb" = ( /obj/structure/flora/tree/sif, /turf/unsimulated/mineral, /area/awaymission/snow_outpost/outside) -"je" = ( +"jo" = ( +/turf/simulated/mineral/floor/ignore_mapgen, +/area/awaymission/snow_outpost/dark) +"jv" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor, +/area/awaymission/snow_outpost/dark) +"jK" = ( +/obj/random/mob/spider/mutant, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/awaymission/snow_outpost/dark) +"jO" = ( +/obj/structure/ore_box, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/dark) +"ki" = ( +/turf/simulated/floor, +/area/awaymission/snow_outpost/dark) +"kV" = ( +/turf/simulated/floor/outdoors/ice, +/area/awaymission/snow_outpost/dark) +"lA" = ( +/obj/structure/flora/tree/sif, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/dark) +"oT" = ( +/obj/structure/flora/tree/pine, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/dark) +"pV" = ( /turf/unsimulated/mineral, -/area/awaymission/snow_outpost/restricted) +/area/awaymission/snow_outpost/outside/nospawn) +"qL" = ( +/obj/random/landmine, +/turf/simulated/floor/outdoors/dirt{ + outdoors = 0 + }, +/area/awaymission/snow_outpost/dark) +"ri" = ( +/obj/machinery/light/flicker{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snow_outpost/powered) +"rs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 4; + icon_state = "intact" + }, +/obj/machinery/light/flicker, +/turf/simulated/floor/tiled/white, +/area/awaymission/snow_outpost/powered) +"uq" = ( +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/powered) +"uy" = ( +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/outside/nospawn) +"xN" = ( +/obj/effect/spider/stickyweb, +/turf/simulated/floor/outdoors/dirt, +/area/awaymission/snow_outpost/dark) +"yC" = ( +/turf/simulated/floor/tiled, +/area/awaymission/snow_outpost/dark) +"yM" = ( +/turf/simulated/wall/r_wall, +/area/awaymission/snow_outpost/powered) +"yY" = ( +/obj/effect/spider/spiderling/frost, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/awaymission/snow_outpost/dark) +"za" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/dark) +"zF" = ( +/obj/machinery/light/flicker{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/powered) +"Cl" = ( +/obj/machinery/crystal/ice, +/turf/simulated/floor/outdoors/dirt{ + outdoors = 0 + }, +/area/awaymission/snow_outpost/dark) +"DR" = ( +/turf/simulated/floor/tiled/steel, +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark9"; + name = "Unknown Shuttle" + }, +/area/awaymission/snow_outpost/outside/nospawn) +"EA" = ( +/turf/simulated/shuttle/wall/dark{ + icon_state = "dark0"; + name = "Unknown Shuttle" + }, +/area/awaymission/snow_outpost/powered) +"EV" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 1 + }, +/turf/simulated/floor/tiled/old_tile/white, +/area/awaymission/snow_outpost/powered) +"Gr" = ( +/turf/simulated/floor/outdoors/dirt{ + outdoors = 0 + }, +/area/awaymission/snow_outpost/dark) +"GU" = ( +/turf/simulated/floor/water/deep, +/area/awaymission/snow_outpost/outside/nospawn) +"Iz" = ( +/turf/simulated/floor/outdoors/ice, +/area/awaymission/snow_outpost/outside/nospawn) +"Jn" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/awaymission/snow_outpost/outside; + base_turf = /turf/simulated/floor/snow/snow2; + landmark_tag = "tether_excursion_snow_outpost"; + name = "Snowy Landing Site" + }, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/outside) +"JY" = ( +/obj/random/landmine, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/outside/nospawn) +"KI" = ( +/obj/machinery/light/flicker{ + icon_state = "tube1"; + dir = 1 + }, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/powered) +"Lh" = ( +/turf/simulated/mineral/ignore_mapgen, +/area/awaymission/snow_outpost/dark) +"Lq" = ( +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/dark) +"MR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan, +/obj/machinery/light/flicker{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission/snow_outpost/powered) +"MV" = ( +/obj/machinery/door/airlock/silver, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/white, +/area/awaymission/snow_outpost/powered) +"NH" = ( +/obj/machinery/light/flicker{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/powered) +"PZ" = ( +/obj/machinery/crystal/ice, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/outside/nospawn) +"QY" = ( +/mob/living/simple_mob/animal/giant_spider/frost, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/dark) +"Rs" = ( +/turf/unsimulated/mineral, +/area/awaymission/snow_outpost/dark) +"RF" = ( +/turf/simulated/mineral/ignore_mapgen, +/area/awaymission/snow_outpost/outside/nospawn) +"RY" = ( +/obj/structure/flora/tree/sif, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/outside/nospawn) +"SO" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled/old_tile/white, +/area/awaymission/snow_outpost/powered) +"Tb" = ( +/obj/structure/flora/ausbushes/grassybush, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/dark) +"Uy" = ( +/obj/effect/overmap/visitable/sector/tether_gateway/snowoutpost, +/turf/simulated/mineral/ignore_mapgen, +/area/awaymission/snow_outpost/dark) +"Vk" = ( +/turf/simulated/mineral/ignore_mapgen, +/area/awaymission/snow_outpost/powered) +"VF" = ( +/obj/machinery/crystal/ice, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/dark) +"VK" = ( +/obj/structure/flora/ausbushes/stalkybush, +/turf/simulated/floor/snow/snow2, +/area/awaymission/snow_outpost/dark) +"Wj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/cyan, +/obj/machinery/light/flicker, +/turf/simulated/floor/tiled/white, +/area/awaymission/snow_outpost/powered) +"Zg" = ( +/obj/machinery/crystal/ice, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/awaymission/snow_outpost/dark) +"ZW" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/old_tile/white, +/area/awaymission/snow_outpost/powered) (1,1,1) = {" in @@ -2766,80 +2960,80 @@ in in in in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs "} (2,1,1) = {" in @@ -2908,80 +3102,80 @@ ab ab cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Uy +Rs "} (3,1,1) = {" in @@ -3050,80 +3244,80 @@ ab ab cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +jo hX -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (4,1,1) = {" in @@ -3192,80 +3386,80 @@ cd cd cd cd -cd -cd +Lh +Lh hO hQ -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh hX hX -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (5,1,1) = {" in @@ -3334,80 +3528,80 @@ cd cd cd cd -cd -cr -cr +Lh +jo +jo hO -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +jo hM -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh da da da da -ab -ab -ab -ab -ab -ab +Lq +Lq +Lq +Lq +Lq +Lq dz -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (6,1,1) = {" in @@ -3476,80 +3670,80 @@ cd cd cd cd -cd -hN -cr -cd -cd -cd +Lh +yY +jo +Lh +Lh +Lh hM hM -cd -cd -cd -cd -cd -cd -cd -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +jo +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (7,1,1) = {" in @@ -3619,79 +3813,79 @@ ab ab cd hM -cr -cr -cd -cd -cr -cr -cr -hP -cr -cr -cr -cr -cr -cr -hN -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +jo +jo +Lh +Lh +jo +jo +jo +jK +jo +jo +jo +jo +jo +jo +yY +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh fW fV fV fV -ab -ab -ab -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (8,1,1) = {" in @@ -3760,80 +3954,80 @@ ab ab ab cd -cd -cr -cr +Lh +jo +jo hR -cr -cr -cr -cr -cr -cr +jo +jo +jo +jo +jo +jo hM -cr -cr -cr -cr -cr -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +jo +jo +jo +jo +jo +jo +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh db -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (9,1,1) = {" in @@ -3902,80 +4096,80 @@ ab ab cd cd -cd -cd +Lh +Lh hM -cr -cr -cr -cr +jo +jo +jo +jo hM hM -cr -cr -cr -cr -cd -cr -cr -hP -cr +jo +jo +jo +jo +Lh +jo +jo +jK +jo hM -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh dc -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (10,1,1) = {" in @@ -4044,80 +4238,80 @@ ab ab cd cd -cd -cd -cd -cr +Lh +Lh +Lh +jo hM -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cr -cr -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +jo +jo +jo +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh ce ce ce ce ce -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (11,1,1) = {" in @@ -4186,53 +4380,53 @@ ab ab cd cd -cd -cd -cd -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cr -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +jo +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +jo +jo +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cQ -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -cd -cd -cd +uq +uq +uq +uq +uq +uq +uq +uq +uq +Lq +Lh +Lh +Lh ce ce ch @@ -4240,26 +4434,26 @@ ch ch ce ce -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (12,1,1) = {" in @@ -4328,53 +4522,53 @@ ab ab cd cd -cd +Lh hM -cr -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +jo +jo +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh hM -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +jo +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh dm -ab -ab -ab +uq +uq +uq cR dA cR cR cR -ab -ab -cd -cd -cd +uq +Lq +Lh +Lh +Lh ce ch ch @@ -4382,26 +4576,26 @@ cm ch ch ce -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh cJ cN -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (13,1,1) = {" in @@ -4470,30 +4664,30 @@ ab ab cd cd -cd +Lh hM -hN -cr -cr +yY +jo +jo hT -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +jo hM -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh cR cR cR @@ -4508,15 +4702,15 @@ cR cR dw cR -cv +aE dC -cv +aE cR -ab -ab -cd -cd -cd +uq +Lq +Lh +Lh +Lh ce ch ch @@ -4524,26 +4718,26 @@ ch ch ch ce -cd -cd -cd +Lh +Lh +Lh cv cz cF cK -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (14,1,1) = {" in @@ -4612,53 +4806,53 @@ ab ab ab cd -cd +Lh hM -cr -cr -cr +jo +jo +jo hM -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh hM -cr -cr -cd -cd -cd -cd -cd +jo +jo +Lh +Lh +Lh +Lh +Lh cR -cv -cv -cv -cv +aE +aE +aE +aE df df df df df -cv -cv -cv -cv -cv +aE +aE +aE +aE +aE dD -cv +aE cR -ab -ab -cd -cd -cd +uq +Lq +Lh +Lh +Lh ce ce ce @@ -4667,25 +4861,25 @@ ce ce ce cq -cd -cd +Lh +Lh cw cA ci ci -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (15,1,1) = {" in @@ -4754,32 +4948,32 @@ ab ab ab cd -cd -cd -cd -cd -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cr -cr -cr -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +jo +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +jo +jo +jo +Lh +Lh +Lh +Lh +Lh cS -cv +aE cT cU cU @@ -4791,16 +4985,16 @@ cU cT ds ds -cv -cv +aE +aE dC -cv +aE cR -ab -ab -cd -cd -cd +uq +Lq +Lh +Lh +Lh ce ch ch @@ -4808,26 +5002,26 @@ ch ch ch ce -cr -ab +jo +Lq cs -ab -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (16,1,1) = {" in @@ -4896,32 +5090,32 @@ ab dH ab cd -cd -cd -cd +Lh +Lh +Lh hM -cr -cr +jo +jo hM -cd -cd +Lh +Lh hU hV hM -cd -cd -cd -cd -cr -cr -cr -hP -cd -cd -cd -cd +Lh +Lh +Lh +Lh +jo +jo +jo +jK +Lh +Lh +Lh +Lh cR -cv +aE cU cU cU @@ -4936,13 +5130,13 @@ cU cU cU cU -cv +aE cR -ab -ab -cd -cd -cd +uq +Lq +Lh +Lh +Lh ce ch ch @@ -4951,25 +5145,25 @@ ch ch cn ch -ab -ab -ab +Lq +Lq +Lq cB cB ct -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (17,1,1) = {" in @@ -5038,53 +5232,53 @@ ab ab ab cd -cd -cd -cd +Lh +Lh +Lh hM -cr -cr -cr -cr -cr -cr -cr -cr +jo +jo +jo +jo +jo +jo +jo +jo hM -cd -cd -cd -cr -cr -cr -cd -cd -cd -cd -cd +Lh +Lh +Lh +jo +jo +jo +Lh +Lh +Lh +Lh +Lh cR -cv -cv +aE +aE cZ -cv -cv -cv +aE +aE +aE cZ -cv -cv -cv -cv -cv -cv -cv +aE +aE +aE +aE +aE +aE +aE dC -cv +aE cR -ab +uq dE -cd -cd -cd +Lh +Lh +Lh ce ch cl @@ -5093,25 +5287,25 @@ ch ch ce ch -ab -ab +Lq +Lq cx cC cG cL cO -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (18,1,1) = {" in @@ -5180,53 +5374,53 @@ ab ab ab cd -cd -cd -cd -hN -cr -cr -cr +Lh +Lh +Lh +yY +jo +jo +jo hR -cr -cr -cr -cr +jo +jo +jo +jo hM hW -cd -cd -cr -cr -cr -cd -cd -cd -cd -cd +Lh +Lh +jo +jo +jo +Lh +Lh +Lh +Lh +Lh cR -cv +aE cV cU cV -cv +aE dh dk dk dn -cv +aE cT cU dx cU cU -cv +aE cR -ab -ab -cd -cd -cd +uq +Lq +Lh +Lh +Lh ce ci ci @@ -5235,25 +5429,25 @@ ch ch ce ch -ab -ab +Lq +Lq cy cD cH cM cP -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (19,1,1) = {" in @@ -5322,53 +5516,53 @@ ab ab ab cd -cd -cd -cd -cr -cr -cr -cr -cr -cr -cr -hP -cr -cr +Lh +Lh +Lh +jo +jo +jo +jo +jo +jo +jo +jK +jo +jo hM -cd -cr -cr +Lh +jo +jo hM hM -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh cR -cv +aE cW cU dd -cv +aE di dk dk do -cv +aE dt cU dy cW dy -cv +aE cR -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh cg cj ci @@ -5377,25 +5571,25 @@ ch ch ch ch -ab -ab -ab -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (20,1,1) = {" in @@ -5464,53 +5658,53 @@ cd cd ab cd -cd -cr -cr -cr -cr -cr -cr -cr -cr -cr -cr -cr -cr -cr -cr -hN +Lh +jo +jo +jo +jo +jo +jo +jo +jo +jo +jo +jo +jo +jo +jo +yY hM -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh cR -cv +aE cX cU de -cv +aE di dk dk dp -cv +aE du cU dy cW dy -cv +aE cR -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh ce ci ch @@ -5518,26 +5712,26 @@ ch ch ch cj -ab -ab -ab -ab +Lq +Lq +Lq +Lq ct -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (21,1,1) = {" in @@ -5606,53 +5800,53 @@ cd cd cd cd -cd -cr -hP -cr -cr -cd +Lh +jo +jK +jo +jo +Lh hM hM hM hM hM hM -cr -cr -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd +jo +jo +jo +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cS -cv +aE cY cU cW -cv +aE dj dk dk dq -cv +aE iI cU dy dB dy -cv +aE cR -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh ce ce ce @@ -5661,25 +5855,25 @@ ci ci ce cs -ab +Lq ct -ab -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (22,1,1) = {" in @@ -5746,55 +5940,55 @@ ab cd cd cd -cd -cd -cd -cr -cr -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Zg +jo +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cR -cv +aE cV cU cV -cv +aE iH dk dl dr -cv +aE dv cU dg cU cU -cv -cd -cd -cd -cd -cd -cd +aE +Vk +Lh +Lh +Lh +Lh +Lh ce ch ch @@ -5803,25 +5997,25 @@ ch cp ce ct -ab -ab -ab +Lq +Lq +Lq cE -ab +Lq ct -cQ -cQ -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +jO +jO +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (23,1,1) = {" in @@ -5888,14 +6082,14 @@ ab cd cd cd -cd -cd -cr -hN -cr -cr +Lh +Lh +Zg +yY +jo +Zg hS -cd +Lh cd cd cd @@ -5915,28 +6109,28 @@ cd cd cd cR -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cv -cd -cd -cd -cd -cd +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +aE +Vk +Lh cd +Lh +Lh +Lh ce ck ch @@ -5944,26 +6138,26 @@ ch ch ch ci -ab -ab +Lq +Lq cu cu -cd +Lh cI -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (24,1,1) = {" in @@ -5985,32 +6179,32 @@ ab gd ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -6031,7 +6225,7 @@ cd cd cd cd -cd +Lh cd cr cr @@ -6076,9 +6270,9 @@ cd cd cd cd -cd -cd -cd +Lh +Lh +Lh ce ce ch @@ -6086,26 +6280,26 @@ co ch ce ci -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (25,1,1) = {" in @@ -6127,32 +6321,32 @@ ab dH ab ab -ab -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -bs -aO -aO -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +JY +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -6218,36 +6412,36 @@ ab ab ab cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh ce ce ce ce ce -cd -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (26,1,1) = {" in @@ -6269,32 +6463,32 @@ gd ab ab ab -ab -aO -aO -aO -aO -aO -aO -aO -aO -aO +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy aT -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -ab -ab -ca -ab +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +JY +uy ab ab ab @@ -6360,36 +6554,36 @@ ab ge ab cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (27,1,1) = {" in @@ -6411,32 +6605,32 @@ ab ab ab ab -ab -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -6502,36 +6696,36 @@ ab ab ab cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (28,1,1) = {" in @@ -6553,32 +6747,32 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy bj -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO +uy +uy +uy +NH +uy +uy +uy +uy +uy +uy +uy +NH +uy aT -aO -aO +uy +uy bj -ab -ab -ab -ab +uy +uy +uy +uy ab ab ab @@ -6644,36 +6838,36 @@ ab ab ab cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (29,1,1) = {" in @@ -6695,9 +6889,9 @@ ab ab ab ab -ab -aO -aO +uy +uy +uy bj as as @@ -6717,10 +6911,10 @@ as as as as -ab -ab -ab -ab +KI +uy +uy +uy ab ab ab @@ -6786,7 +6980,7 @@ cd cd ab cd -cd +Lh bu bu bu @@ -6799,23 +6993,23 @@ bu bu bv bu -cd -cd -ao -ao -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +VF +VF +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (30,1,1) = {" in @@ -6837,32 +7031,32 @@ ab ab ab ab -ca -aO -aO -aO +JY +uy +uy +uy as bk -at +ek bG -ay +Wj bw ay -ay +MR aw ay ay -ay +MR ay bx aw -ay +MR aA au -ab -ab -ab -ab +uy +uy +uy +uy ab ab ab @@ -6928,7 +7122,7 @@ cd cd ab cd -cd +Lh bu bv bu @@ -6941,23 +7135,23 @@ bu bu bu bu -cd -cd -ao -ab -ao -cd -cd -cd -cd -ao -cd -cd -cd -cd -cd -cd -in +Lh +Lh +VF +Lq +VF +Lh +Lh +Lh +Lh +VF +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (31,1,1) = {" in @@ -6979,32 +7173,32 @@ dH ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as bl -at +ek aG bm -as +yM aX -at +ek bH -at -at -at -at +ek +ek +ek +ek av ax az ax aB -ab -ab -ab -ab +uy +uy +uy +uy ab ab ca @@ -7058,19 +7252,19 @@ cd cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cd cd ab cd -cd +Lh bu bu bu @@ -7083,23 +7277,23 @@ bu bv bu bu -cd -cd -ao -ab -ao -ab -ab -cd -ao -ao -cd -cd -cd -cd -cd -cd -in +Lh +Lh +VF +Lq +VF +Lq +Lq +Lh +VF +VF +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (32,1,1) = {" in @@ -7121,32 +7315,32 @@ ab ab ab ab -ab -aO -aO +uy +uy +uy aO as -as -as -as -as -as +yM +yM +yM +yM +yM bg -at +ek bH -at -at -at -at +ek +ek +ek +ek bq -at -at -at +ek +ri +ek au -ab -ab -ca -ab +uy +uy +JY +uy ab ab ab @@ -7199,20 +7393,20 @@ cd cd cd cd -cd -cd -cd -cd -cd -cd -cd -ab -ab +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lq +Lq ab ab ab cd -cd +Lh bu bu hY @@ -7225,23 +7419,23 @@ bu bu bu bu -cd -cd -ab -ab -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (33,1,1) = {" in @@ -7263,32 +7457,32 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as aP bz aW bD aE -at -at +ek +ek bH -at -at -at +ek +ek +ek bV as as as as as -ab -ab -ab -ab +KI +uy +uy +uy ab ab ab @@ -7334,27 +7528,27 @@ ab cd cd cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh iJ -cd -cd -cd -cd -cd -cd -ab -ab +Lh +Lh +Lh +Lh +Lh +Lh +Lq +Lq ab ab ab cd -cd +Lh bu bu bu @@ -7368,22 +7562,22 @@ bu bu bu bv -ao -ab -ab -cd -cd -ao -ab -ab -ab -ab -ao -ab -cd -cd -cd -in +VF +Lq +Lq +Lh +Lh +VF +Lq +Lq +Lq +Lq +VF +Lq +Lh +Lh +Lh +Rs "} (34,1,1) = {" in @@ -7405,32 +7599,32 @@ ab ab ab ab -ab +uy aT -aO -aO +uy +uy as aY bH aZ bH aF -at -at +ek +ek bH -at -at -at -at +ek +ek +ek +ek as bj -aO -aO +uy +uy bj -ab -ab -ab -ab +uy +uy +uy +uy ab ab ab @@ -7475,28 +7669,28 @@ ab ab cd cd -cd -cd -cd -cd -ab -ab -ab -ab -ab -fX -ab -ab -ab +Lh +Lh +Lh +Lh +Lq +Lq +Lq +Lq +Lq +oT +Lq +Lq +Lq gc -ab +Lq +Lq +Lh ab cd ab cd -ab -cd -cd +Lh bu bu bu @@ -7510,22 +7704,22 @@ bu bu bu bv -ao -ab -ab -cd -cd -cd -ao -ab -ab -hZ -ab -ab -cd -cd -cd -in +VF +Lq +Lq +Lh +Lh +Lh +VF +Lq +Lq +QY +Lq +Lq +Lh +Lh +Lh +Rs "} (35,1,1) = {" in @@ -7547,10 +7741,10 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as aU aG @@ -7565,14 +7759,14 @@ ay ay aA as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -7617,28 +7811,28 @@ ab ab cd cd -cd -cd -cd -ab +Lh +Lh +Lh +Lq fZ -ab -dH -ab +Lq +lA +Lq fZ gb -ab -fY -ab -ab -ab -ab -cd +Lq +Tb +Lq +Lq +Lq +Lq +Lh cd cd ab cd -cd +Lh bu bu bu @@ -7652,22 +7846,22 @@ bu bu bu bv -ao -ab -ab -cd -cd -cd -cd +VF +Lq +Lq +Lh +Lh +Lh +Lh bt -ab -ab -ab -hZ -cd -cd -cd -in +Lq +Lq +Lq +QY +Lh +Lh +Lh +Rs "} (36,1,1) = {" in @@ -7689,32 +7883,32 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as aV -at +ek bW -at +ek br bH -at +ek bH -at -at -at +ek +ek +ek bH as -aO -aO -aO -aO -ab -ab -ab -ab +KI +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -7759,28 +7953,28 @@ ab ab cd cd -cd -ab -fY -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -dH -ab -gd -ab +Lh +Lq +Tb +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +lA +Lq +VK +Lq cd cd ab cd -cd +Lh bu bu bu @@ -7794,22 +7988,22 @@ bu bu bu bv -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (37,1,1) = {" in @@ -7831,32 +8025,32 @@ ab ab ab ab -ab -aO -aO +uy +uy +uy aO as aE bg -at -bc +ek +ei aE bL bT bH bT -at +ek bT bO as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -7901,28 +8095,28 @@ ab ab cd cd -cd -cd -ab -ab -fX -ab -ab -ab -ab -ab -ab +Lh +Lh +Lq +Lq +oT +Lq +Lq +Lq +Lq +Lq +Lq fZ -ab -ab -ab -ab -ab +Lq +Lq +Lq +Lq +Lq cd cd ab cd -cd +Lh bu bu bu @@ -7936,22 +8130,22 @@ bu bu bu bv -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (38,1,1) = {" in @@ -7973,32 +8167,32 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as ba +ek at -at -as -as -as -as +yM +yM +yM +yM bN +yM +MV +yM +yM as -bn -as -as -as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -8043,28 +8237,28 @@ ab ab cd cd -cd -cd -ab -ab -ab -ab +Lh +Lh +Lq +Lq +Lq +Lq fZ -ab -ab -dH -ab -ab -ab -ab -ab -ab -fX +Lq +Lq +lA +Lq +Lq +Lq +Lq +Lq +Lq +oT cd cd ab cd -cd +Lh bu bu bu @@ -8078,22 +8272,22 @@ bu bu bu bv -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (39,1,1) = {" in @@ -8115,32 +8309,32 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as bb -at -at -bn -at -at -as +ek +ek +MV +ek +ek +yM bH -at -at +ek +ek bG bP as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -8185,28 +8379,28 @@ ab ab cd ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq cd cd ab cd -cd +Lh eZ bu bu @@ -8220,22 +8414,22 @@ bu bu bu bv -ao -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +VF +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (40,1,1) = {" in @@ -8257,15 +8451,15 @@ ab ab ab ab -ab -aO -aO +uy +uy +uy bj as -as -as -as -as +yM +yM +yM +yM bG ay bF @@ -8275,14 +8469,14 @@ ay bC bQ as -aO -aO -aO -aO -ca -ab -ab -ab +uy +uy +uy +uy +JY +uy +uy +uy ab ab ab @@ -8327,28 +8521,28 @@ ab ab cd ab -ab -cd -cd -cd -ab -ga -ab -ab -ab -ab -fX -ab -ab +Lq +Lh +Lh +Lh +Lq +za +Lq +Lq +Lq +Lq +oT +Lq +Lq fZ -ab -ab -cd +Lq +Lq +Lh cd ab ab cd -cd +Lh bu bu bu @@ -8363,21 +8557,21 @@ bu bu bv bv -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (41,1,1) = {" in @@ -8399,32 +8593,32 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as bo aA bS -as +yM bH -at -bn +ek +MV bH -at +ek aS -at +ek aS as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -8469,28 +8663,28 @@ ab ab ab ab -cd -cd -cd -cd -cd -cd -cd -ab -ab -ab -ga -ab -ab -ab -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lq +Lq +Lq +za +Lq +Lq +Lq +Lh +Lh +Lh cd ab ab cd -cd +Lh bu bu bu @@ -8511,15 +8705,15 @@ bu bu bu bu -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (42,1,1) = {" in @@ -8541,32 +8735,32 @@ ab ab ab ab -ca -aO -aO -aO +JY +uy +uy +uy as bS bA ay bE bI -at -as +ek +yM bN -as -as +yM +yM bp +yM as -as -aO -aO -aO -aO -ab -ab -ab -ab +KI +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -8611,28 +8805,28 @@ ab cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cd cd ab ab cd -cd +Lh bu bu bv @@ -8645,7 +8839,7 @@ bu bu bu bu -ab +Lq bv bu bu @@ -8653,15 +8847,15 @@ bu bu bu bu -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (43,1,1) = {" in @@ -8683,32 +8877,32 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as by bB bS -as +yM bH bX -as +yM bH -as +yM aQ aQ aQ as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -8763,47 +8957,47 @@ cd cd cd cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh cd cd cd ab cd -cd +Lh bv bv -cd -cd -cd -cd -ab -ab -cd -cd -cd -cd -ab +Lh +Lh +Lh +Lh +Lq +Lq +Lh +Lh +Lh +Lh +Lq bv -cd -cd -cd -cd +Lh +Lh +Lh +Lh bu bu bv bv -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (44,1,1) = {" in @@ -8825,32 +9019,32 @@ ab ab ab ab -ab +uy aT -aO -aO -as -as -as -as +uy +uy as +yM +yM +yM +yM bJ at -as -bH -as +yM +rs +yM aK aR aQ as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -8907,45 +9101,45 @@ ab cd cd cd -cd -cd -cd +Lh +Lh +Lh cd cd cd ab ab cd -cd +Lh bv bv -cd -cd -cd -cd -ab -ab -cd -cd -cd -cd -ab -ao -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lq +Lq +Lh +Lh +Lh +Lh +Lq +VF +Lh +Lh +Lh +Lh bu bu bv bv -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (45,1,1) = {" in @@ -8967,32 +9161,32 @@ ab ab ab ab -ab -aO -aO +uy +uy +uy aO as iP iQ iO -as +yM bH -at -as +ek +yM bH -as +yM aQ bU aQ as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ca ab ab @@ -9058,36 +9252,36 @@ ab ab ab cd -cd -cd -cd -cd -cd -cd -cd -ab -ao -cd -cd -ao -ab -ab -ao -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lq +VF +Lh +Lh +VF +Lq +Lq +VF +Lh +Lh +Lh +Lh hY bu bu bu -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (46,1,1) = {" in @@ -9109,10 +9303,10 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as bo bC @@ -9120,21 +9314,21 @@ ay bF bK aA -as +yM bH +yM +yM +yM +yM as -as -as -as -as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -9203,33 +9397,33 @@ ab cd cd cd -cd -cd -cd -cd -ab -ao -cd -cd -ao -ab -ab -ao -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lq +VF +Lh +Lh +VF +Lq +Lq +VF +Lh +Lh +Lh +Lh bu bu bu bu -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (47,1,1) = {" in @@ -9251,32 +9445,32 @@ ab ab ab ab -ab -aO -aO -aO +uy +uy +uy +uy as bd be bd -as +yM bL bM -as +yM bi ay aA -at +ri bf as -aO -aO -bs -aO -ab -ab -ab -ab +uy +uy +JY +uy +uy +uy +uy +uy ab ab ab @@ -9345,33 +9539,33 @@ ab ab ab cd -cd -cd -cd -cd -ab -ab -cd -cd -ab -ab -ao -ao -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lq +Lq +Lh +Lh +Lq +Lq +VF +VF +Lh +Lh +Lh +Lh bv bv -ab -ab -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (48,1,1) = {" in @@ -9393,12 +9587,10 @@ ab ab ab ab -ab -aO -aO -aO -as -as +uy +uy +uy +uy as as as @@ -9407,18 +9599,20 @@ as as as as +yM +yM bN +yM +yM as -as -as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -9487,33 +9681,33 @@ cd cd cd cd -cd -cd -cd -cd -ao -ab -cd -cd -ab -ab -ab -ao -cd -cd -cd -cd +Lh +Lh +Lh +Lh +VF +Lq +Lh +Lh +Lq +Lq +Lq +VF +Lh +Lh +Lh +Lh bv bv -ab -ab -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (49,1,1) = {" in @@ -9535,32 +9729,32 @@ ab ab ab ab -ab -aO -aO -aO -aO -aO -aO -aO -aO -aO +uy +uy +uy +uy +uy +uy +uy +zF +uy +uy bj as aH -at +ek bH -at +ek aL as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -9622,40 +9816,40 @@ ab ab ab cd -ao -ao -cd -cd -ao -ab -cd -cd -cd +VF +VF +Lh +Lh +VF +Lq +Lh +Lh +Lh bv bu bu bu bv bv -ao -ab -ab -ao -cd -cd -cd -cd -cd -cd -ao -ab -ab -ao -cd -cd -cd -cd -in +VF +Lq +Lq +VF +Lh +Lh +Lh +Lh +Lh +Lh +VF +Lq +Lq +VF +Lh +Lh +Lh +Lh +Rs "} (50,1,1) = {" in @@ -9677,17 +9871,17 @@ ab ab ab ab -ab -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy as aI bG @@ -9695,14 +9889,14 @@ bC aA aM as -aO -aO -aO -aO -ab -ab -ab -ab +KI +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -9764,15 +9958,15 @@ ab ab ab cd -ao +VF cf -ao -ao -ab -ab -cd -cd -cd +VF +VF +Lq +Lq +Lh +Lh +Lh hY bu bv @@ -9780,24 +9974,24 @@ bu bv bv bv -ao -ab -ab -cd -cd -ao -ab -ab -cd -ab -ab -ab -ao -cd -cd -cd -cd -in +VF +Lq +Lq +Lh +Lh +VF +Lq +Lq +Lh +Lq +Lq +Lq +VF +Lh +Lh +Lh +Lh +Rs "} (51,1,1) = {" in @@ -9819,17 +10013,17 @@ ab ab ab ab -ab -aO -aO -aO -aO -aO -aO +uy +uy +uy +uy +uy +uy +uy aT -aO -aO -aO +uy +uy +uy as aJ iR @@ -9837,14 +10031,14 @@ bh bO aN as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -9906,40 +10100,40 @@ cd ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq bu bu bu bu -cd -cd -cd -cd -ab -ab -ab -ao -ab -ab -ab -ao -ab -ab -ab -ao -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lq +Lq +Lq +VF +Lq +Lq +Lq +VF +Lq +Lq +Lq +VF +Lh +Lh +Lh +Lh +Rs "} (52,1,1) = {" in @@ -9961,17 +10155,17 @@ ab ab ab ab -ab -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy as as as @@ -9979,14 +10173,14 @@ as as as as -aO -aO -aO -aO -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -10048,40 +10242,40 @@ cd cd ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq bu bu bu bu -cd -ao -ao -cd -ab -ao -ab -ao -ab -ab -ab -ab -ab -ab -ao -ao -cd -cd -cd -cd -in +Lh +VF +VF +Lh +Lq +VF +Lq +VF +Lq +Lq +Lq +Lq +Lq +Lq +VF +VF +Lh +Lh +Lh +Lh +Rs "} (53,1,1) = {" in @@ -10103,32 +10297,32 @@ ab ab ab ab -ab -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO -aO +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +zF +uy +uy +uy aT -aO -aO -aO -ab -ab -ca -ab +uy +uy +uy +uy +uy +JY +uy ab ab ab @@ -10190,40 +10384,40 @@ cd cd ab cd -ao +VF cf -ab -ab -ab -ab -ab -ab -ab +Lq +Lq +Lq +Lq +Lq +Lq +Lq bu bu bu bv -cd +Lh bY -ab -cd -ab -ab -ab -ao -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lh +Lq +Lq +Lq +VF +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (54,1,1) = {" in @@ -10245,32 +10439,32 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -10332,40 +10526,40 @@ cd cd ab cd -cd -ao +Lh +VF cf -ab -ab -ao -cd -cd -cd +Lq +Lq +VF +Lh +Lh +Lh bu bv bu bv -cd -ab -ab -ab -ab -ab -ao -ao -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lq +Lq +Lq +Lq +Lq +VF +VF +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (55,1,1) = {" in @@ -10482,32 +10676,32 @@ cd cd cd cd -cd +Lh bv bv hY bv -cd -ab -ab -cd -cd -cd -cd -cd -ab -ab -ao -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lq +Lq +VF +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (56,1,1) = {" in @@ -10624,32 +10818,32 @@ ab ab cd cd -cd -ao -ao -ab -ao -cd -ab -ab -ab -ab -ab -ao -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +VF +VF +Lq +VF +Lh +Lq +Lq +Lq +Lq +Lq +VF +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (57,1,1) = {" in @@ -10766,32 +10960,32 @@ cd cd cd cd -cd -ab -ao -ab -ao -cd -ab -ab -ao -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lq +VF +Lq +VF +Lh +Lq +Lq +VF +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (58,1,1) = {" in @@ -10905,35 +11099,35 @@ ab ab cd cd -cd -cd -cd -ab -ab -ab -ab -ao -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lq +Lq +Lq +Lq +VF +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (59,1,1) = {" in @@ -11047,35 +11241,35 @@ ab ab cd cd -cd -ao -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +VF +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (60,1,1) = {" in @@ -11190,34 +11384,34 @@ ab cd cd bY -ab -ab -ab -ab -ao -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lq +Lq +Lq +Lq +VF +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (61,1,1) = {" in @@ -11331,35 +11525,35 @@ ab ab cd cd -ab -ab -ab -hZ -ab +Lq +Lq +Lq +QY +Lq bY -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (62,1,1) = {" in @@ -11473,35 +11667,35 @@ ab ab cd cd -ao -ab -ab -ab -ab -ab -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +VF +Lq +Lq +Lq +Lq +Lq +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (63,1,1) = {" in @@ -11615,35 +11809,35 @@ ab ab cd cd -ao -ao -ab -ab -ab -ao -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +VF +VF +Lq +Lq +Lq +VF +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (64,1,1) = {" in @@ -11757,35 +11951,35 @@ ab ab cd cd -cd +Lh bZ cb bY -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (65,1,1) = {" in @@ -11899,35 +12093,35 @@ ab ab cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (66,1,1) = {" in @@ -12042,34 +12236,34 @@ ab cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (67,1,1) = {" in @@ -12182,36 +12376,36 @@ ab cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (68,1,1) = {" in @@ -12324,36 +12518,36 @@ dH cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (69,1,1) = {" in @@ -12470,32 +12664,32 @@ cd cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (70,1,1) = {" in @@ -12612,32 +12806,32 @@ ab ab cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -ap -ap -cd -cd -ap -ap -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +kV +kV +Lh +Lh +kV +kV +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (71,1,1) = {" in @@ -12754,32 +12948,32 @@ cd cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -ap +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +kV gi -ap -ap -ap -ap -ap -ap -cd -cd -cd -cd -cd -cd -cd -in +kV +kV +kV +kV +kV +kV +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (72,1,1) = {" in @@ -12894,34 +13088,34 @@ ab ab cd cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh gr gl -cd -cd -cd -cd -cd -cd -ap -ap +Lh +Lh +Lh +Lh +Lh +Lh +kV +kV gy -ap -ap -ap -ap -ap -cd -cd -cd -cd -cd -cd -cd -in +kV +kV +kV +kV +kV +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (73,1,1) = {" in @@ -13036,34 +13230,34 @@ ab ab cd cd -cd -cd -cd -cd -gn -gn -gn -cd -cd -cd -cd -ap -ap -ap -ap -ap -ap -ap -ap -ap +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Lh +Lh +Lh +Lh +kV +kV +kV +kV +kV +kV +kV +kV +kV gi -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (74,1,1) = {" in @@ -13178,34 +13372,34 @@ ab ab cd cd -cd -cd -cd +Lh +Lh +Lh gq -gn -gn +Gr +Gr gt -cd -cd -cd -cd -ap -ap -ap -ap +Lh +Lh +Lh +Lh +kV +kV +kV +kV gi gy -ap -ap -ap -ap -cd -cd -cd -cd -cd -cd -in +kV +kV +kV +kV +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (75,1,1) = {" in @@ -13321,33 +13515,33 @@ ab cd cd cd -cd -cd -cd -gn -gn -gn -gn -gn -cd -cd -cd -cd -cd -ap -ap -ap -ap -ap -ap -gn -ap -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Gr +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh +kV +kV +kV +kV +kV +kV +Gr +kV +Lh +Lh +Lh +Lh +Lh +Rs "} (76,1,1) = {" in @@ -13463,33 +13657,33 @@ ab ab cd cd -cd -cd -gn -gn -gn -gn -gn -gn -gn -cd -cd -cd -cd -cd +Lh +Lh +Gr +Gr +Gr +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh gl -gn -ap -gn -gn -gn +Gr +kV +Gr +Gr +Gr gl -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Rs "} (77,1,1) = {" in @@ -13606,32 +13800,32 @@ ab cd cd cd -cd -gn -gn -gn -gn -gn -gn -gn +Lh +Gr +Gr +Gr +Gr +Gr +Gr +Gr gw -cd -cd -cd -cd -cd -gn -gn -gn -gn -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (78,1,1) = {" in @@ -13748,32 +13942,32 @@ ab cd cd cd -cd +Lh gl -gn +Gr gu -cd -gn -gn -gn -gn -cd -cd -cd -cd -cd -gn -gn -cd +Lh +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Lh gA -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (79,1,1) = {" in @@ -13890,32 +14084,32 @@ ab ab cd cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh gv -gn -gn -cd -cd -cd -cd -cd -gn -gn -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (80,1,1) = {" in @@ -14034,30 +14228,30 @@ ab cd cd cd -cd -cd -cd -cd -cd -gn -gn +Lh +Lh +Lh +Lh +Lh +Gr +Gr gz -gn -gn -cd -cd -gn -gn -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Gr +Gr +Lh +Lh +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (81,1,1) = {" in @@ -14176,30 +14370,30 @@ ab ab cd cd -cd -ap -ap -cd -cd -gn -gn -gn -gn -gn -gn -gn -gn +Lh +kV +kV +Lh +Lh +Gr +Gr +Gr +Gr +Gr +Gr +Gr +Gr gl -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (82,1,1) = {" in @@ -14318,30 +14512,30 @@ ab ab ap ap -ap -ap -cd -cd -cd -gn -gn -cd -cd +kV +kV +Lh +Lh +Lh +Gr +Gr +Lh +Lh gu -gn -gn -gn -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (83,1,1) = {" in @@ -14460,30 +14654,30 @@ ab ab ap ap -ap -cd -cd -cd -cd -gn -gn -cd -cd -cd -gn -gn -cd -cd -cd -cd +kV +Lh +Lh +Lh +Lh +Gr +Gr +Lh +Lh +Lh +Gr +Gr +Lh +Lh +Lh +Lh gl gK -gn -cd -cd -cd -cd -in +Gr +Lh +Lh +Lh +Lh +Rs "} (84,1,1) = {" in @@ -14602,30 +14796,30 @@ gf ab ap cd -cd -cd -cd -cd -cd -gn -gn -cd -cd -cd -gn -gn -gn -cd -cd -cd -gn -gn -gn -gn -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Lh +Lh +Lh +Gr +Gr +Gr +Lh +Lh +Lh +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Rs "} (85,1,1) = {" in @@ -14640,14 +14834,14 @@ ab ab ab dH -ab -ab -ab -ab -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy ab dH ab @@ -14744,30 +14938,30 @@ ab ab ap cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh gs -gn -gn +Gr +Gr gA -cd -cd +Lh +Lh iF -gn -gn +Gr +Gr gl -cd -gn -gn -gn -gn +Lh +Gr +Gr +Gr +Gr gl -cd -cd -cd -in +Lh +Lh +Lh +Rs "} (86,1,1) = {" in @@ -14782,15 +14976,15 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -14886,30 +15080,30 @@ go ab cd cd -cd -cd -cd -cd -gn -gn -gn -cd -cd -cd -cd -gn -gn -gn -gn -gn -gn -gn -gn -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Gr +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Rs "} (87,1,1) = {" in @@ -14923,16 +15117,16 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -15027,31 +15221,31 @@ ca ab cd cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh gt -gn -gn -cd -cd -cd -cd -gn -gn -gn -gk -gn -gn -gn -gn -cd -cd -cd -cd -in +Gr +Gr +Lh +Lh +Lh +Lh +Gr +Gr +Gr +qL +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Rs "} (88,1,1) = {" in @@ -15062,22 +15256,22 @@ ab ab ab ab -dH -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +RY +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -15168,46 +15362,46 @@ ab ab cd cd -cd -cd -cd -cd -cd -cd -gn -gn -gn -cd -cd -cd -cd -gk -gn -gn -gn +Lh +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Lh +Lh +Lh +Lh +qL +Gr +Gr +Gr gl -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (89,1,1) = {" in ab ab cd -dF -dI -dI -dI -dI -dI -dI -dI +cd +ab +uy +uy +uy +uy +uy +uy en dO eW @@ -15216,14 +15410,14 @@ fe fn dO eb -dI -dI -dI -dI -dI -dI -dI -dJ +uy +uy +uy +uy +uy +uy +uy +cc ab ab ab @@ -15309,63 +15503,63 @@ ab gk gn gp -cd -cd -cd -cd -cd -cd -cd -gn -gn -gn -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Lh +Lh +Lh +Lh gl gl -gk -gn -cd -cd -cd -cd -cd -cd -cd -cd -in +qL +Gr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (90,1,1) = {" in dG ab cd -dF -dF -dI -dI -dI -dI -dI +cd +cd +uy +uy +uy +uy +uy en -dO +EA eM eX eX eX eX fq -dO +EA eb -dI -dI -dI -dI -dI -dI -dI +uy +uy +uy +uy +uy +uy +ab ab cc ab @@ -15449,49 +15643,49 @@ gf gg cd gl -gn -gn -gp -cd -cd -cd -cd -cd -cd -gn -gn -gn -cd -cd -cd -cd -cd -cd -gn -gn -gn -gn -gn -cd -cd -cd -cd -cd -in +Gr +Gr +xN +Lh +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Rs "} (91,1,1) = {" in ab ab ab -dF -dF +cd +RF dN dO dO eb en -dO +EA eH eN eR @@ -15500,14 +15694,14 @@ eR eR fm fA -dO +EA eb en dO dO iU -dI -dI +uy +ab ab ab cd @@ -15593,41 +15787,41 @@ cd cd cd gl -gn -cd -cd +Gr +Lh +Lh gs -gn -gn -gk -gn -gn -gn +Gr +Gr +qL +Gr +Gr +Gr gl -cd -cd -cd -cd -cd -gn -gn -gn -gn -gn -gn +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Gr +Gr +Gr gz -cd -cd -cd -in +Lh +Lh +Lh +Rs "} (92,1,1) = {" in ab ab ab -dI -dI +ab +uy dO dO dO @@ -15648,8 +15842,8 @@ dO dO dO dO -dI -dI +uy +ab ab cd cd @@ -15733,65 +15927,65 @@ cd cd cd cd -cd +Lh gl -gn -gk -gn -gn -gn -gn -gn -cd -cd -gn -gn -gn -cd -cd -cd -gn -gn -gn -dk -dk -dk -gn -gn +Gr +qL +Gr +Gr +Gr +Gr +Gr +Lh +Lh +Gr +Gr +Gr +Lh +Lh +Lh +Gr +Gr +Gr +ki +ki +ki +Gr +Gr gu -cd -cd -in +Lh +Lh +Rs "} (93,1,1) = {" in ab ab ab -dJ -dL -dO -dO -dO -dO -dO -dO -dO +cc +RY dO dO +EA +EA +EA +EA +EA +EA +EA ff fl +EA +EA +EA +EA +EA +EA +EA dO dO -dO -dO -dO -dO -dO -dO -dO -dL -dI +RY +ab ab ab dH @@ -15874,47 +16068,47 @@ ab cd cd cd -cd -cd -cd -gn -gn -gn -gn -gn -cd -cd -cd -cd +Lh +Lh +Lh +Gr +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Lh gx -gn -gn -cd -cd -gn -gn -gn -dk +Gr +Gr +Lh +Lh +Gr +Gr +Gr +ki gG gI gL -gn -gn -gn -cd -cd -in +Gr +Gr +Gr +Lh +Lh +Rs "} (94,1,1) = {" in ab ab ab -dI -dI -dO +ab +uy dO dO +EA ec eo ec @@ -15929,11 +16123,11 @@ eJ ec fI fN +EA dO dO -dO -dI -dL +uy +dH ab ab ab @@ -16016,66 +16210,66 @@ ab cd cd cd -cd -cd -cd -cd -gp -gn -gn -gn -cd -cd -cd -cd -cd -gn -gn -cd +Lh +Lh +Lh +Lh +xN +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Lh gu -gn -dk -dk +Gr +ki +ki gF cv cv gM -dk -dk -gn -cd -cd -in +ki +ki +Gr +Lh +Lh +Rs "} (95,1,1) = {" in ab ab dH -dI -dI +ab +uy dP dO -dO +EA ed ep ex -dO +EA er eR eR eR eR ez -dO +EA fC fJ fO -dO +EA dO iV -dI -dI +uy +ab dG ab ab @@ -16158,68 +16352,68 @@ ab cd cd cd -cd -cd -cd -cd -cd -gn -gn -gn -cd -cd -cd -cd -cd -gn -gn -cd -gn -gn -dk -dk +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Lh +Gr +Gr +ki +ki gF cv cv gN -dk +ki gO -cd -cd -cd -in +Lh +Lh +Lh +Rs "} (96,1,1) = {" in ab -ab -ab -dI -dI -dI -dO -dO -dO -dO -dO +uy +uy +uy +uy +uy dO +EA +EA +EA +EA +EA er eR fg eR eR ez +EA +EA +EA +EA +EA dO -dO -dO -dO -dO -dO -dI -dI -dI -ab -ab +uy +uy +uy +uy +uy ab ab ab @@ -16300,45 +16494,45 @@ ab cd cd cd -cd -cd -cd -cd -cd -gn -gn -gn -cd -cd +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Lh +Lh gs -gk -gn -gn +qL +Gr +Gr gt -cd -cd -gn +Lh +Lh +Gr gD -dk -dk +ki +ki gH gJ -dk -dk -cd -cd -cd -cd -in +ki +ki +Lh +Lh +Lh +Lh +Rs "} (97,1,1) = {" in ab -cd -ab -dI -dI -dI +RF +uy +uy +uy +uy dO dT ee @@ -16357,11 +16551,11 @@ ee ee fR dO -dI -dI -dI -ab -ab +uy +uy +uy +uy +uy dH ab ab @@ -16442,42 +16636,42 @@ ab ab cd cd -cd -cd -cd -cd -cd -gn -gn -gn -gn -gn -gn -gn -gn -gn -cd -cd -cd -gn -gn +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Gr +Gr +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Gr +Gr gE -dk +ki gz -gn -dk -cd -cd -cd -cd -cd -in +Gr +ki +Lh +Lh +Lh +Lh +Lh +Rs "} (98,1,1) = {" in cd -cd -ab +RF +uy dK dK dK @@ -16502,8 +16696,8 @@ dO dK dK dK -ab -ab +uy +uy ab ab ab @@ -16584,68 +16778,68 @@ ab ab cd cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh gt -cd +Lh gv -gn -cd -cd -cd -cd -cd -cd -cd -cd -gn -gn -gn -gn -gn -cd -cd -cd -cd -cd -cd -in +Gr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Gr +Gr +Gr +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (99,1,1) = {" in cd -ab -ab +uy +uy dK dM -dI -dO -dO +uy dO +EA +EA er ez -dO -dO -dO +EA +EA +EA fh fh -dO -dO -dO +EA +EA +EA er ez -dO -dO +EA +EA dO dQ -dI +uy dK -ab -ab +uy +uy ab ab ab @@ -16728,66 +16922,66 @@ ab cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -gn -cd -gn -gn -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Gr +Lh +Gr +Gr +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (100,1,1) = {" in ab -ab -ab +uy +uy dK -dI -dI -dI +uy +uy +uy dV eg er ez -dO +EA eP eR eR eR eR fu -dO +EA er ez eg dV -dI -dI -dI +uy +uy +uy dK -ab -ab +uy +uy ab ab ab @@ -16876,60 +17070,60 @@ cd cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (101,1,1) = {" in ab -ab -ab +uy +uy dK -dI -dI -dI +uy +uy +uy dV eg es eA -dO +EA eQ eR eR eR eR fv -dO +EA fE fK eg dV -dI -dI -dI +uy +uy +uy dK -ab -ab +uy +uy ab dH ab @@ -17019,59 +17213,59 @@ cd cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (102,1,1) = {" in ab -dH -ab +RY +uy dK -dI +uy dQ dO -dO -dO -dO -dO -dO +EA +EA +EA +EA +EA eR fb fi fj fb eR +EA +EA +EA +EA +EA dO -dO -dO -dO -dO -dO -dI +uy dM dK -ab -ab +uy +uy cc ab ab @@ -17174,20 +17368,20 @@ cd cd cd cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (103,1,1) = {" in ab -ab -ab +uy +uy dK dK dK @@ -17196,14 +17390,14 @@ dW eh eh eB -dO +EA eS fb fj fj fb fw -dO +EA fF fL fF @@ -17212,8 +17406,8 @@ dO dK dK dK -ab -ab +uy +uy ab cd ab @@ -17317,45 +17511,45 @@ cd cd cd cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (104,1,1) = {" in ab -ab -ab -dI -dI -dI +uy +uy +uy +uy +uy dO dX ei et eC -dO +EA eR fb fj fj fb eT -dO +EA eR eR eR fT dO -dI -dI -dI -ab -ab +uy +uy +uy +uy +uy cd cd ab @@ -17460,21 +17654,21 @@ ab ab ab ab -ab -iE -iE -iY -iE -je +Lq +Gr +Gr +iF +Gr +Rs "} (105,1,1) = {" in ab -ab -ab -dI -dI -dI +uy +uy +uy +uy +uy dO dY ej @@ -17493,11 +17687,11 @@ fF fF fU dO -dI -dI -dI -ab -cd +uy +uy +uy +uy +RF cd cd ab @@ -17604,40 +17798,40 @@ ar ar ap iG -iE -iE +Gr +Gr iX -je +Rs "} (106,1,1) = {" in ab dH ab -dI -dI -dI +ab +uy +uy dO dZ ek ek eD -dO +EA eR eR eR eR eR eR -dO +EA eR eR eR iS dO -dI -dL -dI +uy +RY +ab cd cd cd @@ -17745,41 +17939,41 @@ ar ar ar ap -iK -iK +kV +kV iW -iE -je +Gr +Rs "} (107,1,1) = {" in ab ab ab -dI -dI -dL +ab +uy +RY dO ea ek eu eE -dO -dO -dO +EA +EA +EA fk fk -dO -dO -dO +EA +EA +EA eR fF fF iT dO iU -dI -dI +uy +ab cd cd dH @@ -17888,40 +18082,40 @@ ar ar ar iN -iK -iK -iE -je +kV +kV +Gr +Rs "} (108,1,1) = {" in ab ab ab -dI -dI +ab +uy dN dO -dO +EA ek ej eF -dO +EA eU fc eR eR fo fx -dO +EA fG +EA +EA +EA dO dO -dO -dO -dO -dL -dJ +RY +cc ab ab ab @@ -18031,39 +18225,39 @@ ar ar iN iN -iK +kV iZ -je +Rs "} (109,1,1) = {" in ab dG ab -dJ -dI -dO +cc +uy dO dO +EA el ev eG -dO +EA eU eR eR eR eR fy -dO +EA fH fM fQ +EA dO dO -dO -dI -dI +uy +ab ab ab ab @@ -18173,39 +18367,39 @@ ar ar iN iN -iK -iE -je +kV +Gr +Rs "} (110,1,1) = {" in ab ab ab -dI -dI -dO -dO -dO -dO -dO +ab +uy dO dO +EA +EA +EA +EA +EA eV eR eR eR eR fz +EA +EA +EA +EA +EA dO dO -dO -dO -dO -dO -dO -dI -dI +uy +ab ab ab ab @@ -18315,39 +18509,39 @@ ar ar iN iN -iK -iE -je +kV +Gr +Rs "} (111,1,1) = {" in ab ab ab -dL -dI +dH +uy dO dO -dO -dO -em -dI +EA +EA +DR +uy eL -dO +EA fd fd fd fp -dO -em -dI +EA +DR +uy eL dO dO dO dO -dI -dF +uy +cd cd ab ab @@ -18457,39 +18651,39 @@ ar ar iN iN -iK -ja -je +kV +iD +Rs "} (112,1,1) = {" in cd cd cd -dI -dI -dO +ab +uy dO dO +EA em -dI -dI -dI +uy +uy +uy eL dR dR dR dR -em -dI -dI -dI +DR +uy +uy +uy eL dR dR iV -dF -dF +cd +cd cd cd ab @@ -18599,39 +18793,39 @@ ar ar iN iN -iK -iK -je +kV +kV +Rs "} (113,1,1) = {" in dH cd cd -dF -dI +cd +ab dP dR dR -dI -dI -dI -dI -dI +uy +uy +uy +uy +uy dS dS dS dS -dI -dI -dI -dL -dI +uy +uy +uy +RY +uy dS dS -dI -dF -dF +uy +cd +cd cd cd ab @@ -18741,39 +18935,39 @@ ar ap iN iN -iK +kV iN -je +Rs "} (114,1,1) = {" in ab ab ab -dI -dI -dI +ab +ab +uy dS dS -dI -dI -dI -dI -dI -dI -dI -dI -dI -dI -dI -dI -dI -dI -dI -dI -dI -dF -dF +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +cd +cd cd ab ab @@ -18881,11 +19075,11 @@ ap ap ap ap -iK +kV iN iN iN -je +Rs "} (115,1,1) = {" in @@ -18894,26 +19088,26 @@ ab ab ab ab -ab -ab -ab -ab -ab -dH -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +uy +uy +uy +uy +uy +RY +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy ab ab ab @@ -19022,12 +19216,12 @@ gn gn gn gn -gn -iK +Gr +kV iN iN iN -je +Rs "} (116,1,1) = {" in @@ -19054,8 +19248,8 @@ ab ab ab ab -ab -ab +uy +uy ab ab ab @@ -19163,13 +19357,13 @@ cd cd cd cd -cd -gn -iK +Lh +Gr +kV iN iN iN -je +Rs "} (117,1,1) = {" in @@ -19304,14 +19498,14 @@ cd cd cd cd -cd -cd +Lh +Lh iD -iK -iK -iK -iK -je +kV +kV +kV +kV +Rs "} (118,1,1) = {" in @@ -19435,25 +19629,25 @@ ab gn cd cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Rs "} (119,1,1) = {" in @@ -19577,17 +19771,17 @@ ab gn cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cd cd cd @@ -19719,17 +19913,17 @@ ab gn gn cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cd cd cd @@ -19861,16 +20055,16 @@ ab ab gn cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cd cd cd @@ -20003,25 +20197,25 @@ ab ab gn cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (123,1,1) = {" in @@ -20145,15 +20339,15 @@ ab ab gn cd -cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cv cv cv @@ -20161,9 +20355,9 @@ cv cv cv cv -cd -cd -in +Lh +Lh +Rs "} (124,1,1) = {" in @@ -20288,24 +20482,24 @@ ab gn cd cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cv hs hA hE -dk +ki hI cv -cd -cd -in +Lh +Lh +Rs "} (125,1,1) = {" in @@ -20430,24 +20624,24 @@ ab gn gn cd -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cv ht hB -dk +ki hH -dk +ki cv -cd -cd -in +Lh +Lh +Rs "} (126,1,1) = {" in @@ -20572,24 +20766,24 @@ ab ab gn gn -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cv hu gY -dk -dk +ki +ki hJ cv -cd -cd -in +Lh +Lh +Rs "} (127,1,1) = {" in @@ -20665,11 +20859,11 @@ ap ap ab ab -ab -ab -ab -ab -ab +uy +uy +uy +uy +uy ab ap ap @@ -20714,24 +20908,24 @@ ab ab ab gn -cd -cd -cd -cd -cd -cd -cd -cd +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh cv hv hC hF -dk -dk +ki +ki cv -cd -cd -in +Lh +Lh +Rs "} (128,1,1) = {" in @@ -20807,11 +21001,11 @@ ap ap ap ab -ab +uy aq aC -ab -ap +uy +Iz ap ap ar @@ -20856,7 +21050,7 @@ ab ab ab gn -gn +Cl cv cv cv @@ -20868,12 +21062,12 @@ cv cv cv cv -dC +jv cv cv -cd -cd -in +Lh +Lh +Rs "} (129,1,1) = {" in @@ -20949,11 +21143,11 @@ ab ap ap ap -ap +Iz aq aC -ap -ap +Iz +Iz ar ar ar @@ -20998,24 +21192,24 @@ ab ab ab ab -gn +Gr cv -cU +yC gY gY hg hl -dk +ki hq -dk -dk +ki +ki gZ -dk -dk -dk -cd -cd -in +ki +ki +ki +Lh +Lh +Rs "} (130,1,1) = {" in @@ -21091,11 +21285,11 @@ ab ab ap ap -ap +Iz aq aC -ap -ar +Iz +GU ar ar ar @@ -21140,24 +21334,24 @@ ab ab ab ab -gn -dC -cU +Gr +jv +yC gY -dk -dk -dk -dk -dk -dk -cU -dk -dk -dk +ki +ki +ki +ki +ki +ki +yC +ki +ki +ki hl -cd -cd -in +Lh +Lh +Rs "} (131,1,1) = {" in @@ -21233,11 +21427,11 @@ ab ab ab ab -ab +uy aq aC -ap -ar +Iz +GU ar ar ar @@ -21282,24 +21476,24 @@ ab ab ab ab -gn +Gr cv -cU +yC gZ -dk -dk +ki +ki gZ -dk +ki gY -cU +yC hD gY -dk +ki gZ cv -cd -cd -in +Lh +Lh +Rs "} (132,1,1) = {" in @@ -21375,11 +21569,11 @@ ab ab ab ab -ab +uy aq aC -ap -ap +Iz +Iz ap ap ap @@ -21424,7 +21618,7 @@ ab ab ab gn -gn +Gr cv cv cv @@ -21439,9 +21633,9 @@ cv hd cv cv -cd -cd -in +Lh +Lh +Rs "} (133,1,1) = {" in @@ -21509,20 +21703,19 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +uy +uy +uy +uy +uy +uy +uy +uy +uy aq aC -ap -ab -ab +Iz +uy ab ab ab @@ -21554,6 +21747,7 @@ ab ab ab ab +Jn ab ab ab @@ -21581,9 +21775,9 @@ hh hf hh cv -cd -cd -in +Lh +Lh +Rs "} (134,1,1) = {" in @@ -21651,19 +21845,19 @@ ab ab ab ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ap -ab +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +uy +Iz +uy ab ab ab @@ -21723,9 +21917,9 @@ hG hf hK cv -cd -cd -in +Lh +Lh +Rs "} (135,1,1) = {" in @@ -21793,8 +21987,8 @@ ab ab ab ab -ab -ab +uy +uy aa aa aa @@ -21802,8 +21996,8 @@ aa aa aa aa -ab -ap +uy +Iz ab ab ab @@ -21865,9 +22059,9 @@ hn hf hL cv -cd -cd -in +Lh +Lh +Rs "} (136,1,1) = {" in @@ -21935,16 +22129,16 @@ ab ab ab ab -ab +uy iL aa ac ac -ac +SO ac ac aa -ap +Iz aD ap ao @@ -21992,8 +22186,8 @@ ab ab gn cd -cd -cd +Lh +Lh cv hb hf @@ -22007,9 +22201,9 @@ hn hf he cv -cd -cd -in +Lh +Lh +Rs "} (137,1,1) = {" in @@ -22077,8 +22271,8 @@ ab ab ab ab -ab -ab +uy +uy aa ac ad @@ -22086,8 +22280,8 @@ ag aj ac an -ab -ab +uy +uy ab ab ab @@ -22134,8 +22328,8 @@ gn gn gn cd -cd -cd +Lh +Lh cv cv cv @@ -22149,9 +22343,9 @@ cv cv cv cv -cd -cd -in +Lh +Lh +Rs "} (138,1,1) = {" in @@ -22219,17 +22413,17 @@ ab ab ab ab -ab +uy iL aa -ac +EV ae ah ak -ac +ZW aa -ab -ab +uy +uy ao ab ab @@ -22276,24 +22470,24 @@ gn cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (139,1,1) = {" in @@ -22361,8 +22555,8 @@ ab ab ab ab -ab -ab +uy +uy aa ac af @@ -22370,8 +22564,8 @@ ai al ac aa -ao -ab +PZ +uy ab ab ab @@ -22418,24 +22612,24 @@ gn cd cd cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -cd -in +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Lh +Rs "} (140,1,1) = {" in @@ -22503,35 +22697,17 @@ in in in in -in -in -je -je -je -je -je -je -je -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in -in +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV in in in @@ -22578,4 +22754,22 @@ in in in in +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs +Rs "} diff --git a/maps/tether/submaps/gateway/snowfield.dm b/maps/tether/submaps/gateway/snowfield.dm index bf72d5b299..ce983e82ca 100644 --- a/maps/tether/submaps/gateway/snowfield.dm +++ b/maps/tether/submaps/gateway/snowfield.dm @@ -1,3 +1,9 @@ +/obj/effect/overmap/visitable/sector/tether_gateway/snowfield + initial_generic_waypoints = list("tether_excursion_snowfield") + true_name = "Snowy Field" + true_desc = "Scans indicate this planetoid has a very cold atmosphere and almost perpetual snow." + + // -- Areas -- // /area/awaymission/snowfield diff --git a/maps/tether/submaps/gateway/snowfield.dmm b/maps/tether/submaps/gateway/snowfield.dmm index 0187018350..6b433ada1f 100644 --- a/maps/tether/submaps/gateway/snowfield.dmm +++ b/maps/tether/submaps/gateway/snowfield.dmm @@ -107,7 +107,7 @@ input_attempt = 1; input_level = 250000; inputting = 1; - output_level = 250000; + output_level = 250000 }, /obj/structure/cable{ icon_state = "0-2"; @@ -1683,6 +1683,14 @@ temperature = 243.15 }, /area/awaymission/snowfield/base) +"Bw" = ( +/obj/effect/overmap/visitable/sector/tether_gateway/snowfield, +/turf/simulated/floor/outdoors/snow{ + nitrogen = 93.7835; + oxygen = 20.7263; + temperature = 243.15 + }, +/area/awaymission/snowfield/restricted) (1,1,1) = {" aa @@ -1965,7 +1973,7 @@ ab ab ab ab -ab +Bw aa "} (3,1,1) = {" diff --git a/maps/tether/submaps/om_ships/aro.dm b/maps/tether/submaps/om_ships/aro.dm new file mode 100644 index 0000000000..c0382f01d5 --- /dev/null +++ b/maps/tether/submaps/om_ships/aro.dm @@ -0,0 +1,82 @@ +// Compile in the map for CI testing if we're testing compileability of all the maps +#if MAP_TEST +#include "aro.dmm" +#endif + +// Map template for spawning the shuttle +/datum/map_template/om_ships/aro + name = "OM Ship - Aronai (New Z)" + desc = "It's Aronai! As a spaceship." + mappath = 'aro.dmm' + +// The shuttle's area(s) +/area/ship/aro + name = "\improper Aro Ship (Use a Subtype!)" + icon_state = "shuttle2" + requires_power = 1 + +/area/ship/aro/engineering + name = "\improper Aro Ship - Engineering" +/area/ship/aro/midshipshangars + name = "\improper Aro Ship - Midships and Hangars" +/area/ship/aro/midshipshangars + name = "\improper Aro Ship - Midships and Hangars" +/area/ship/aro/centralarea + name = "\improper Aro Ship - Central Area" +/area/ship/aro/recreation + name = "\improper Aro Ship - Recreation" +/area/ship/aro/bridge + name = "\improper Aro Ship - Bridge" +/area/ship/aro/engines + name = "\improper Aro Ship - Engines" +/area/ship/aro/holodeck + name = "\improper Aro Ship - Holodeck" + +/obj/machinery/computer/HolodeckControl/holodorm/aro + name = "aro holodeck control" + projection_area = /area/ship/aro/holodeck + +// The ship's boat +/area/shuttle/aroboat + name = "\improper Aro's Ship's Boat" + icon_state = "shuttle" + +// The 'ship' +/obj/effect/overmap/visitable/ship/aro + name = "Aronai Sieyes" + desc = "It's Aronai. Did you know he's actually a spaceship? Yeah it's weird." + color = "#00aaff" //Bluey + vessel_mass = 8000 + vessel_size = SHIP_SIZE_SMALL + initial_generic_waypoints = list("aronai_fore", "aronai_aft", "aronai_port", "aronai_starboard") + initial_restricted_waypoints = list("Aro's Ship's Boat" = list("omship_spawn_aroboat")) + +/obj/effect/overmap/visitable/ship/aro/get_skybox_representation() + var/image/I = image('aro.dmi', "skybox") + I.pixel_x = 200 + I.pixel_y = 200 + return I + +// The shuttle's 'shuttle' computer +/obj/machinery/computer/shuttle_control/explore/aroboat + name = "boat control console" + shuttle_tag = "Aro's Ship's Boat" + req_one_access = list(access_cent_general) + +// A shuttle lateloader landmark +/obj/effect/shuttle_landmark/shuttle_initializer/aroboat + name = "Aronai's Boat Bay" + base_area = /area/ship/aro/midshipshangars + base_turf = /turf/simulated/floor/tiled/techfloor + landmark_tag = "omship_spawn_aroboat" + docking_controller = "aroship_boatbay" + shuttle_type = /datum/shuttle/autodock/overmap/aroboat + +// The 'shuttle' +/datum/shuttle/autodock/overmap/aroboat + name = "Aro's Ship's Boat" + current_location = "omship_spawn_aroboat" + docking_controller_tag = "aroboat_docker" + shuttle_area = /area/shuttle/aroboat + fuel_consumption = 0 + defer_initialisation = TRUE diff --git a/maps/tether/submaps/om_ships/aro.dmi b/maps/tether/submaps/om_ships/aro.dmi new file mode 100644 index 0000000000..139ef42bbe Binary files /dev/null and b/maps/tether/submaps/om_ships/aro.dmi differ diff --git a/maps/tether/submaps/om_ships/aro.dmm b/maps/tether/submaps/om_ships/aro.dmm new file mode 100644 index 0000000000..4e7ae07f3c --- /dev/null +++ b/maps/tether/submaps/om_ships/aro.dmm @@ -0,0 +1,23602 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/space) +"ab" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "aronai_fore"; + name = "Near Ship - Fore" + }, +/turf/space, +/area/space) +"ac" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/bridge) +"ad" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/bridge) +"ae" = ( +/obj/machinery/computer/ship/sensors, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"af" = ( +/obj/machinery/computer/ship/helm, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ag" = ( +/obj/machinery/computer/ship/engines, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ah" = ( +/obj/machinery/computer/shuttle_control/explore/aroboat, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ai" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 8 + }, +/area/ship/aro/bridge) +"aj" = ( +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ak" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/obj/structure/bed/chair/bay/comfy/captain{ + icon_state = "capchair_preview"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"al" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"am" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 5 + }, +/obj/structure/bed/chair/bay/comfy/captain{ + icon_state = "capchair_preview"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"an" = ( +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/alarms_hidden{ + dir = 1; + name = "north bump"; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ao" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/bridge) +"ap" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"aq" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"ar" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"as" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"at" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"au" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"av" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"aw" = ( +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"ax" = ( +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"ay" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"az" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"aA" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"aB" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/recreation) +"aC" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/recreation) +"aD" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/recreation) +"aE" = ( +/obj/structure/flora/pottedplant, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aF" = ( +/obj/structure/bed/chair/bay/chair/padded/red/bignest, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aG" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/machinery/power/apc/alarms_hidden{ + dir = 1; + name = "north bump"; + pixel_y = 28 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aH" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aI" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aJ" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aK" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aL" = ( +/obj/structure/flora/pottedplant, +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "dongleship_blast"; + name = "exterior shutters"; + pixel_x = 28 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aM" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 8 + }, +/area/ship/aro/recreation) +"aN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aO" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/recreation) +"aP" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/recreation) +"aQ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/recreation) +"aR" = ( +/obj/structure/closet/crate/bin, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aS" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/recreation) +"aT" = ( +/turf/simulated/floor/reinforced, +/area/ship/aro/holodeck) +"aU" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aV" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/recreation) +"aW" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aX" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aY" = ( +/obj/machinery/vending/food/arojoan{ + density = 0; + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aZ" = ( +/obj/machinery/computer/HolodeckControl/holodorm/aro{ + icon_state = "computer"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/recreation) +"ba" = ( +/obj/machinery/vending/boozeomat{ + density = 0; + pixel_x = 32 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"bb" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 8 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bc" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bd" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"be" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bf" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bg" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bh" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bi" = ( +/obj/effect/floor_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/obj/machinery/vending/dinnerware, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 6 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bj" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bk" = ( +/obj/structure/table/standard, +/obj/machinery/reagentgrinder, +/obj/effect/floor_decal/borderfloorwhite, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bl" = ( +/obj/structure/table/standard, +/obj/machinery/microwave, +/obj/effect/floor_decal/borderfloorwhite, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bm" = ( +/obj/structure/closet/secure_closet/freezer/kitchen, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bo" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bp" = ( +/obj/machinery/cooker/oven, +/obj/effect/floor_decal/borderfloorwhite/corner2, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bq" = ( +/obj/machinery/cooker/grill, +/obj/effect/floor_decal/borderfloorwhite, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"br" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bs" = ( +/obj/structure/table/standard, +/obj/item/weapon/material/knife/butch, +/obj/item/weapon/material/kitchen/rollingpin, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bt" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/centralarea) +"bu" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/centralarea) +"bv" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"bw" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"bx" = ( +/obj/machinery/computer/operating, +/turf/simulated/floor/tiled/steel_grid, +/area/ship/aro/centralarea) +"by" = ( +/obj/machinery/optable, +/turf/simulated/floor/tiled/steel_grid, +/area/ship/aro/centralarea) +"bz" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/firstaid/surgery, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/ship/aro/centralarea) +"bA" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"bB" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"bC" = ( +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bD" = ( +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bE" = ( +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bF" = ( +/obj/structure/table/standard, +/obj/item/weapon/tank/anesthetic, +/obj/item/clothing/mask/breath/medical, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/ship/aro/centralarea) +"bG" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/ship/aro/centralarea) +"bH" = ( +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 12; + pixel_y = 5 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/ship/aro/centralarea) +"bI" = ( +/obj/structure/closet/hydrant{ + pixel_x = 32 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"bJ" = ( +/obj/structure/closet/crate/bin, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bL" = ( +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bM" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/machinery/cell_charger, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bN" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 8 + }, +/area/ship/aro/centralarea) +"bO" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 1 + }, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bP" = ( +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bQ" = ( +/obj/item/device/healthanalyzer/advanced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bR" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/item/roller/adv, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 5 + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bS" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bT" = ( +/obj/item/weapon/stool/padded, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bU" = ( +/obj/item/weapon/storage/toolbox/syndicate, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bV" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/centralarea) +"bW" = ( +/obj/structure/medical_stand, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bX" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bY" = ( +/obj/machinery/computer/transhuman/resleeving{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bZ" = ( +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 8 + }, +/area/ship/aro/centralarea) +"ca" = ( +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/centralarea) +"cb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cc" = ( +/obj/machinery/recharger, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cd" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ce" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cf" = ( +/obj/machinery/clonepod/transhuman, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cg" = ( +/obj/structure/window/reinforced/full, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 8 + }, +/area/ship/aro/centralarea) +"ch" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"ci" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"cj" = ( +/obj/structure/window/reinforced/full, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/centralarea) +"ck" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cm" = ( +/obj/item/stack/material/steel{ + amount = 50 + }, +/obj/item/stack/material/steel{ + amount = 50 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cn" = ( +/obj/item/stack/material/glass{ + amount = 50 + }, +/obj/item/stack/material/glass{ + amount = 50 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"co" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cp" = ( +/obj/machinery/body_scanconsole, +/obj/effect/floor_decal/borderfloorwhite/corner{ + icon_state = "borderfloorcorner_white"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cq" = ( +/obj/machinery/transhuman/synthprinter, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cr" = ( +/obj/machinery/pros_fabricator{ + req_access = list() + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cs" = ( +/obj/machinery/autolathe{ + desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; + hacked = 1; + name = "Centcom Autolathe" + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"ct" = ( +/obj/machinery/mecha_part_fabricator{ + req_access = list() + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cu" = ( +/obj/machinery/transhuman/resleever, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cv" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cw" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cx" = ( +/obj/effect/floor_decal/industrial/outline/grey, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cy" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cz" = ( +/obj/machinery/vending/medical{ + density = 0; + pixel_x = 0; + pixel_y = 0; + req_access = list() + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cA" = ( +/obj/effect/floor_decal/borderfloorwhite/corner, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cB" = ( +/obj/item/weapon/storage/firstaid/regular{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/weapon/storage/firstaid/regular{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/bodybag/cryobag{ + pixel_x = 5 + }, +/obj/item/bodybag/cryobag{ + pixel_x = 5 + }, +/obj/item/weapon/storage/firstaid/o2{ + layer = 2.8; + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/weapon/storage/box/masks{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/weapon/storage/box/gloves{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/fire{ + layer = 2.9; + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/weapon/storage/firstaid/adv{ + pixel_x = -2 + }, +/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/structure/closet/medical_wall{ + pixel_y = -32 + }, +/obj/item/weapon/storage/box/body_record_disk, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cC" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "aronai_port"; + name = "Near Ship - Port" + }, +/turf/space, +/area/space) +"cD" = ( +/obj/machinery/chem_master, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cE" = ( +/obj/machinery/chemical_dispenser/ert, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cF" = ( +/obj/machinery/door/airlock/alien/blue, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cG" = ( +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/alarms_hidden{ + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cH" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cI" = ( +/obj/machinery/mech_recharger, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cJ" = ( +/obj/machinery/shipsensors{ + dir = 1 + }, +/turf/space, +/area/ship/aro/centralarea) +"cK" = ( +/obj/effect/floor_decal/corner_techfloor_grid, +/obj/effect/floor_decal/techfloor/corner, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cL" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 10 + }, +/obj/effect/floor_decal/techfloor, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cM" = ( +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"cN" = ( +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"cO" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 10 + }, +/obj/effect/floor_decal/techfloor, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cP" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 8 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cQ" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cR" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cS" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cT" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"cU" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"cV" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"cW" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cX" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cY" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cZ" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "aronai_starboard"; + name = "Near Ship - Starboard" + }, +/turf/space, +/area/space) +"da" = ( +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"db" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dc" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/effect/floor_decal/techfloor/hole{ + icon_state = "techfloor_hole_left"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor/hole/right{ + icon_state = "techfloor_hole_right"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dd" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"de" = ( +/obj/structure/flora/tree/jungle_small{ + pixel_x = -16 + }, +/turf/simulated/floor/grass, +/area/ship/aro/centralarea) +"df" = ( +/turf/simulated/floor/grass, +/area/ship/aro/centralarea) +"dg" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"dh" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/effect/floor_decal/techfloor/hole{ + icon_state = "techfloor_hole_left"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor/hole/right{ + icon_state = "techfloor_hole_right"; + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"di" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dj" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dk" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dl" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dm" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"dn" = ( +/obj/structure/railing, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"do" = ( +/obj/structure/railing, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"dp" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dq" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dr" = ( +/obj/machinery/door/airlock/alien/blue, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ds" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/table/bench/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"du" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/table/bench/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dv" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dw" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 5 + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dx" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"dy" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"dz" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 5 + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dA" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dB" = ( +/obj/machinery/light, +/obj/structure/table/bench/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dC" = ( +/obj/structure/table/bench/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dD" = ( +/obj/structure/table/rack, +/obj/item/device/suit_cooling_unit, +/obj/item/weapon/tank/air, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dE" = ( +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/obj/item/stack/material/plasteel, +/obj/item/stack/material/plasteel, +/obj/item/stack/material/silver, +/obj/item/stack/material/gold, +/obj/item/stack/material/diamond, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dJ" = ( +/obj/structure/closet{ + name = "custodial" + }, +/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/weapon/mop, +/obj/item/weapon/storage/box/lights/mixed, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dK" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dL" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorwhite/corner, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dM" = ( +/obj/machinery/washing_machine, +/obj/effect/floor_decal/borderfloorwhite/cee{ + icon_state = "borderfloorcee_white"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dN" = ( +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 + }, +/obj/item/stack/material/uranium, +/obj/item/stack/material/uranium, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/machinery/shield_capacitor/advanced{ + active = 1; + anchored = 1; + stored_charge = 1.2e+007 + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/bluegrid, +/area/ship/aro/centralarea) +"dR" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"dS" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dT" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/machinery/shield_gen/external/advanced{ + anchored = 1; + field_radius = 35; + id = "aroship_shields"; + target_field_strength = 7 + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/turf/simulated/floor/bluegrid, +/area/ship/aro/centralarea) +"dV" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dW" = ( +/obj/structure/closet/hydrant{ + pixel_x = -32 + }, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"dX" = ( +/obj/machinery/cryopod, +/turf/simulated/floor/reinforced, +/area/ship/aro/centralarea) +"dY" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dZ" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ea" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/machinery/shield_capacitor/advanced{ + active = 1; + anchored = 1; + dir = 1; + stored_charge = 1.2e+007 + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/structure/railing, +/turf/simulated/floor/bluegrid, +/area/ship/aro/centralarea) +"eb" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"ec" = ( +/obj/machinery/computer/cryopod{ + pixel_x = 32 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/centralarea) +"ed" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 6 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ef" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"eg" = ( +/obj/machinery/cryopod, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/reinforced, +/area/ship/aro/centralarea) +"eh" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ei" = ( +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ej" = ( +/obj/machinery/recharge_station, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"ek" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"el" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"em" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"en" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/structure/railing, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"eo" = ( +/obj/structure/catwalk, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ep" = ( +/obj/structure/catwalk, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eq" = ( +/obj/structure/catwalk, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/alarms_hidden{ + dir = 1; + name = "north bump"; + pixel_y = 28 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"er" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"es" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"et" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"eu" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"ev" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ew" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ex" = ( +/obj/structure/catwalk, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ey" = ( +/obj/structure/catwalk, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ez" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"eA" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"eB" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"eC" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"eD" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eE" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"eF" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eG" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eH" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"eI" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"eJ" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eK" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eL" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eM" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"eN" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eO" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eP" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eQ" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eR" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eS" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eT" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eU" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eV" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/midshipshangars) +"eW" = ( +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"eX" = ( +/obj/item/device/flashlight/lamp, +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"eY" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eZ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"fa" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"fb" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"fc" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"fd" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"fe" = ( +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ff" = ( +/obj/item/weapon/bedsheet/captaindouble, +/obj/structure/bed/double, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fg" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fi" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"fj" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"fk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fl" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fm" = ( +/obj/machinery/door/airlock/alien/blue, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"fn" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fq" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 8 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fr" = ( +/obj/structure/bed/chair/office/dark, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"ft" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fu" = ( +/obj/structure/bed/chair/office/dark, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fv" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fx" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "aroship_boatbay"; + pixel_x = 0; + pixel_y = 28; + tag_door = null + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fy" = ( +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fz" = ( +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fA" = ( +/obj/item/device/flashlight/lamp, +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fB" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"fC" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"fD" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/engineering) +"fE" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/engineering) +"fF" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/engineering) +"fG" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/engineering) +"fH" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/shuttle/aroboat) +"fI" = ( +/obj/structure/fans/hardlight, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 1 + }, +/area/shuttle/aroboat) +"fJ" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fK" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fL" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fM" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fN" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fO" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 5 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fP" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"fQ" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/obj/machinery/computer/shuttle_control/explore/aroboat, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"fR" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 5 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"fS" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/purple{ + icon_state = "intact"; + dir = 10 + }, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"fT" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"fU" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fY" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fZ" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"ga" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gb" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gc" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 8; + frequency = 1380; + id_tag = "aroboat_docker"; + pixel_x = 28 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gd" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"ge" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/purple, +/obj/effect/floor_decal/steeldecal/steel_decals_central7{ + icon_state = "steel_decals_central7"; + dir = 4 + }, +/turf/simulated/floor/tiled/monofloor{ + dir = 4 + }, +/area/ship/aro/midshipshangars) +"gf" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"gh" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"gi" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gk" = ( +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gm" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gn" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"go" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gp" = ( +/obj/machinery/door/airlock/alien/blue{ + frequency = 1380; + id_tag = "aroboat_doors" + }, +/obj/structure/fans/hardlight, +/obj/effect/map_helper/airlock/door/simple, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gq" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gr" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/effect/shuttle_landmark/shuttle_initializer/aroboat{ + shuttle_restricted = "aronai_boat" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gs" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/tiled/monotile, +/area/ship/aro/midshipshangars) +"gt" = ( +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/obj/mecha/combat/fighter/pinnace, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"gu" = ( +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gv" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible/universal, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gw" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table/alien/blue, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gx" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gy" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gz" = ( +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/alarms_hidden{ + dir = 4; + name = "east bump"; + pixel_x = 28 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gA" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gB" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gC" = ( +/obj/machinery/atmospherics/binary/pump/on{ + icon_state = "map_on"; + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gD" = ( +/obj/machinery/atmospherics/binary/pump/on, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gE" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gF" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gG" = ( +/obj/machinery/power/smes/buildable/hybrid{ + output_level = 250000 + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gH" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/pink{ + icon_state = "0-1"; + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gI" = ( +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "arobackleft"; + name = "exterior shutters"; + pixel_x = 28 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"gJ" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gK" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/blue, +/obj/machinery/light, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gL" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + icon_state = "air_map"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gM" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/empty, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gN" = ( +/obj/structure/table/alien/blue, +/obj/structure/cable/cyan, +/obj/machinery/power/apc/alarms_hidden{ + name = "south bump"; + pixel_y = -28 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engines) +"gO" = ( +/obj/structure/table/alien/blue, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gP" = ( +/obj/machinery/light, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gQ" = ( +/obj/structure/cable/pink{ + icon_state = "1-2"; + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gR" = ( +/obj/machinery/button/remote/blast_door{ + dir = 4; + id = "arobackright"; + name = "exterior shutters"; + pixel_x = -28 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"gS" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/simulated/floor/reinforced, +/area/shuttle/aroboat) +"gT" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/engines) +"gU" = ( +/obj/structure/cable/pink{ + icon_state = "2-5"; + dir = 1 + }, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/engines) +"gV" = ( +/obj/structure/shuttle/engine/heater, +/turf/simulated/shuttle/floor/alienplating/external, +/area/ship/aro/engines) +"gW" = ( +/obj/machinery/door/blast/regular{ + dir = 8; + icon_state = "pdoor1"; + id = "arobackleft" + }, +/obj/structure/fans/hardlight, +/turf/simulated/shuttle/floor/alienplating/blue/half, +/area/ship/aro/midshipshangars) +"gX" = ( +/obj/machinery/ion_engine{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/external, +/area/ship/aro/engines) +"gY" = ( +/obj/machinery/door/blast/regular{ + dir = 8; + icon_state = "pdoor1"; + id = "arobackright" + }, +/obj/structure/fans/hardlight, +/turf/simulated/shuttle/floor/alienplating/blue/half, +/area/ship/aro/midshipshangars) +"gZ" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "aronai_aft"; + name = "Near Ship - Aft" + }, +/turf/space, +/area/space) +"ha" = ( +/obj/effect/overmap/visitable/ship/aro, +/turf/space, +/area/space) +"hN" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"iU" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/corner, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/repair_droid, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"lD" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"mU" = ( +/obj/effect/floor_decal/techfloor/orange, +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"po" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"qJ" = ( +/obj/machinery/ntnet_relay, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/floor/greengrid, +/area/ship/aro/centralarea) +"si" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/rig/robotics, +/obj/item/weapon/cell/high, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"sl" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/floor/greengrid, +/area/ship/aro/centralarea) +"tu" = ( +/obj/machinery/atmospherics/binary/pump, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"uO" = ( +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"uZ" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"vQ" = ( +/obj/machinery/telecomms/relay/preset/houseboat, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/floor/greengrid, +/area/ship/aro/centralarea) +"wC" = ( +/obj/effect/floor_decal/industrial/outline, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/obj/mecha/combat/fighter/pinnace, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"xu" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/tool/sleeper, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"ya" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"Bj" = ( +/obj/effect/floor_decal/sign/dock/two, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"GH" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"GI" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Hj" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"HK" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Kd" = ( +/obj/machinery/button/remote/shields{ + dir = 8; + id = "aroship_shields"; + pixel_x = 28 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"KH" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/purple, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/cloak, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Lp" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/purple{ + icon_state = "intact"; + dir = 5 + }, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/crisis_drone, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Md" = ( +/obj/machinery/atmospherics/portables_connector, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"Oo" = ( +/obj/effect/floor_decal/techfloor/orange/corner, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"OZ" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 10 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"PJ" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central6, +/turf/simulated/floor/tiled/monofloor{ + dir = 8 + }, +/area/ship/aro/midshipshangars) +"QK" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 9 + }, +/obj/effect/floor_decal/industrial/warning/corner, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"QM" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 6 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Rs" = ( +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"Sk" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/structure/table/alien/blue, +/obj/machinery/button/remote/shields{ + id = "aroship_shields" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"TR" = ( +/obj/effect/floor_decal/techfloor/orange, +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"TU" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Vc" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 5 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Wi" = ( +/obj/effect/floor_decal/industrial/loading, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"Xd" = ( +/obj/effect/floor_decal/techfloor/orange, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Xy" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Yy" = ( +/obj/effect/floor_decal/sign/dock/one, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ha +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +ek +ek +ek +ek +ek +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +ek +ek +fy +iU +lD +uZ +mU +fy +fy +ek +eV +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +ek +ek +ek +ek +Md +tu +Lp +PJ +wC +Xd +Wi +fy +fP +gW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(57,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +eO +fe +ek +ek +fy +fy +fy +fS +ge +gs +Xd +Wi +fy +Yy +gW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(58,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +eu +eF +eF +eP +eF +ek +fn +fy +fy +fy +Vc +gf +Oo +QM +fy +fy +fP +gW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(59,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bt +bt +bt +bt +ek +en +ev +eG +eG +eQ +eG +el +fo +fy +fy +fy +fy +GH +uO +fy +fy +fy +fP +gW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(60,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bt +bt +bt +bt +bt +ek +eo +ew +eo +eo +eR +eo +fm +fp +fy +fy +fy +fy +GH +uO +fy +fy +fy +fP +gW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(61,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bt +bt +bt +bN +bt +bt +bt +bu +qJ +sl +vQ +ek +eo +ew +eo +eK +eS +eJ +ek +fq +fy +fy +fy +QK +Xy +GI +OZ +fy +fy +fP +gW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(62,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bt +bt +bN +bN +bN +bt +bt +cQ +da +cH +cQ +bt +dE +dN +Rs +cH +Rs +ek +eo +ew +eo +eL +eT +fe +ek +ek +fy +fy +fy +fT +PJ +gt +Xd +Wi +fy +Bj +gW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(63,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bt +bt +bN +bN +bu +co +cd +cd +cd +cD +bt +bt +bt +cF +bt +bu +dF +dO +cH +cH +hN +ek +ep +ew +eo +eL +eU +ek +ek +ek +ek +Md +tu +KH +ge +gs +Xd +Wi +fy +fP +gW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(64,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aB +aB +aB +bt +bu +bF +bO +bW +cd +cp +bP +bP +cA +cE +bt +bt +db +cH +ds +bv +dG +dP +Rs +cH +si +ek +eq +ex +eo +eL +eV +ek +ek +ek +ek +ek +fy +xu +TU +HK +TR +gI +Kd +ek +eV +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(65,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aB +aB +aM +aM +aM +aV +aV +bb +bj +bt +bx +bG +bP +bP +bP +bP +bP +bP +cB +bu +bt +cH +cH +cH +dt +bu +bt +bt +bt +bt +bt +ek +eo +ey +eo +eM +ek +ff +ek +ff +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(66,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ai +ai +ai +aB +aE +aN +aN +aN +aW +aY +bc +bk +bt +by +bG +bQ +bX +ce +bP +bP +bP +bP +cF +cH +cR +cH +dk +du +bt +ds +dQ +dU +ea +cH +ek +eo +ey +eo +ek +eW +fg +ek +fr +fz +fD +fE +fU +gi +gu +gu +gJ +gT +gV +gX +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(67,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ad +aj +ap +av +aB +aF +aO +aT +aT +aT +aO +bd +bl +bt +bz +bH +bR +bY +cf +cq +cu +cz +bu +bu +cK +cS +dc +dl +dv +po +dI +Hj +dV +ya +cH +ek +eo +ey +eo +ek +eX +fh +ek +fs +fA +fD +fJ +fV +gj +gv +gC +gK +gT +gV +gX +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ae +ak +aq +aw +aB +aG +aP +aT +aT +aT +aZ +bd +bm +bu +bt +bt +bt +bZ +cg +bZ +bt +bt +bt +cG +cL +cT +dd +dm +dw +bt +bt +bt +bt +bt +bt +ek +ek +ez +ek +ek +ek +eC +ek +eC +ek +fE +fK +fW +gk +gw +gu +gL +gT +gV +gX +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +af +Sk +ar +ax +aC +aH +aO +aT +aT +aT +aO +be +bn +bv +bA +bA +bA +bA +ch +bA +bA +bv +bA +bA +cM +cU +de +dn +dx +bA +bv +bA +dW +bA +ef +el +er +eA +eH +el +er +fi +er +fi +fB +fF +fL +fX +gl +gv +gD +gM +gT +gT +gT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(70,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ag +al +as +ay +aD +aI +aO +aT +aT +aT +aO +bf +bo +bw +bB +bI +bB +bB +ci +bB +bB +bw +bB +bB +cN +cU +df +dn +dy +bB +bw +dR +bB +eb +bB +em +es +eB +eI +em +es +fj +eI +fj +fC +fG +fM +fY +gm +gx +gE +gN +gT +gT +gT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gZ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(71,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ac +ah +am +at +az +aB +aJ +aQ +aT +aT +aT +aO +bg +bp +bu +bt +bt +bt +ca +cj +ca +bt +bt +bt +cH +cO +cV +dg +do +dz +bt +bt +bt +bt +cF +bt +ek +ek +eC +ek +ek +ek +eC +ek +eC +ek +fE +fN +fZ +gk +gy +gF +gO +gT +gV +gX +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(72,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ad +an +au +aA +aB +aK +aO +aT +aT +aT +aO +bg +bq +bt +bC +bJ +bS +cb +ck +bL +cv +bL +bu +bu +cP +cW +dh +dp +dA +cF +dJ +bt +dX +ec +eg +ek +eo +ew +eo +ek +eX +fk +ek +ft +fA +fD +fO +ga +gn +gy +gG +gP +gT +gV +gX +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(73,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ao +ao +ao +aB +aL +aR +aU +aU +aX +ba +bh +br +bt +bD +bK +bK +bK +cl +bL +bL +bL +bL +cF +cH +cX +cH +dq +dB +bu +bt +bt +bt +bt +bt +ek +eo +ew +eo +ek +eW +fl +ek +fu +fz +fD +fE +fU +go +gz +gH +gQ +gU +gV +gX +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(74,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aB +aB +aS +aS +aS +aV +aV +bi +bs +bt +bE +bL +bT +bL +cm +cr +cw +bL +bL +bu +bt +cH +cH +cH +dC +bt +dK +dS +dY +dS +eh +ek +eo +ew +eo +eM +ek +ff +ek +ff +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(75,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aB +aB +aB +bt +bt +bM +bU +cc +cn +cs +cx +bL +bL +cI +bt +bt +di +cH +cH +cF +bP +bP +bP +bP +ei +ek +eo +ew +eo +eL +eV +ek +ek +ek +ek +ek +fy +fy +gd +fy +fy +gR +fy +ek +eV +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(76,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bt +bt +bV +bV +bu +ct +cy +bL +bL +cI +bt +bt +bt +dr +bt +bu +dL +dT +bP +ed +bP +ek +ep +ew +eo +eL +eY +ek +ek +ek +ek +fy +fy +fy +fy +fy +fy +fy +fy +fP +gY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(77,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bt +bt +bV +bV +bV +bt +bt +cY +dj +cH +dD +bt +dM +bt +dr +bt +dr +ek +eo +ew +eo +eL +eZ +fe +ek +ek +fy +fy +fP +fP +fP +fP +fP +fy +fy +fP +gY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(78,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cJ +bu +bt +bt +bV +bt +bt +bt +bt +dZ +bt +ej +ek +eo +ew +eo +eN +fa +eF +ek +fv +fy +fH +fH +fH +gp +fH +fH +fH +fy +fP +gY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(79,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bt +bt +bt +bt +bt +ek +eo +ew +eo +eo +eR +eo +fm +fp +fy +fI +fQ +gb +gq +gA +fH +gS +fy +fP +gY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(80,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bt +bt +bt +bt +ek +et +eD +eG +eG +fb +eG +el +fw +fy +fI +fR +gc +gr +gB +fH +gS +fy +fP +gY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(81,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +eE +eJ +eJ +fc +eJ +ek +fx +fy +fH +fH +fH +gp +fH +fH +fH +fy +fP +gY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(82,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +fd +fe +ek +ek +fy +fy +fP +fP +fP +fP +fP +fy +fy +fP +gY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(83,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +ek +ek +ek +ek +fy +fy +fy +fy +fy +fy +fy +fy +fP +gY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(84,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +ek +ek +fy +fy +gh +fy +fy +fy +fy +ek +eV +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(85,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ek +ek +ek +ek +ek +ek +ek +ek +ek +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(101,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(102,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(103,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(104,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(105,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(106,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(107,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(108,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(109,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(110,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(111,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(112,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(113,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(114,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(115,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(116,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(117,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(118,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(119,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(120,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(121,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(122,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(123,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cZ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(124,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(125,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(126,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(127,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(128,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(129,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(130,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(131,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(132,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(133,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(134,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(135,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(136,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(137,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(138,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(139,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(140,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/admin_use/aro.dmm b/maps/tether/submaps/om_ships/backup/aro.dmm similarity index 56% rename from maps/tether/submaps/admin_use/aro.dmm rename to maps/tether/submaps/om_ships/backup/aro.dmm index a3d3fb04ba..abaf444861 100644 --- a/maps/tether/submaps/admin_use/aro.dmm +++ b/maps/tether/submaps/om_ships/backup/aro.dmm @@ -3,439 +3,718 @@ /turf/space, /area/space) "ab" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "aronai_fore"; + name = "Near Ship - Fore" }, -/area/houseboat) +/turf/space, +/area/space) "ac" = ( -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/space) +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/bridge) "ad" = ( -/obj/machinery/porta_turret, -/turf/simulated/floor/reinforced/airless{ - name = "outer hull" - }, -/area/space) +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/bridge) "ae" = ( -/obj/machinery/computer/security/telescreen/entertainment, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"af" = ( -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"ag" = ( -/turf/simulated/floor/carpet/blue, -/area/houseboat) -"ah" = ( -/obj/machinery/media/jukebox, -/turf/simulated/floor/wood, -/area/houseboat) -"ai" = ( -/turf/simulated/floor/wood, -/area/houseboat) -"aj" = ( -/obj/structure/table/marble, -/turf/simulated/floor/carpet/blue, -/area/houseboat) -"ak" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 10; - icon_state = "fwindow" - }, -/obj/machinery/door/blast/shutters{ - density = 1; - dir = 1; - icon_state = "shutter1"; - id = "dongleship_blast"; - layer = 3.3; - name = "Blast Shutters"; - opacity = 1 - }, -/obj/structure/window/reinforced{ +/obj/machinery/computer/ship/sensors, +/obj/machinery/light{ dir = 1 }, -/turf/simulated/shuttle/plating, -/area/houseboat) +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"af" = ( +/obj/machinery/computer/ship/helm, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ag" = ( +/obj/machinery/computer/ship/engines, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ah" = ( +/obj/machinery/computer/shuttle_control/explore/aroboat, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ai" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 8 + }, +/area/ship/aro/bridge) +"aj" = ( +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ak" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/obj/structure/bed/chair/bay/comfy/captain{ + icon_state = "capchair_preview"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) "al" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"am" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 5 + }, +/obj/structure/bed/chair/bay/comfy/captain{ + icon_state = "capchair_preview"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"an" = ( +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/alarms_hidden{ + dir = 1; + name = "north bump"; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"ao" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/bridge) +"ap" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"aq" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"ar" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"as" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"at" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"au" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"av" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"aw" = ( +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"ax" = ( +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"ay" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"az" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/bridge) +"aA" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/bridge) +"aB" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/recreation) +"aC" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/recreation) +"aD" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/recreation) +"aE" = ( +/obj/structure/flora/pottedplant, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aF" = ( +/obj/structure/bed/chair/bay/chair/padded/red/bignest, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aG" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/machinery/power/apc/alarms_hidden{ + dir = 1; + name = "north bump"; + pixel_y = 28 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aH" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aI" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aJ" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aK" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aL" = ( +/obj/structure/flora/pottedplant, +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "dongleship_blast"; + name = "exterior shutters"; + pixel_x = 28 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aM" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 8 + }, +/area/ship/aro/recreation) +"aN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aO" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/recreation) +"aP" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/recreation) +"aQ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/recreation) +"aR" = ( +/obj/structure/closet/crate/bin, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aS" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/recreation) +"aT" = ( +/turf/simulated/floor/reinforced, +/area/ship/aro/holodeck) +"aU" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/ship/aro/recreation) +"aV" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/recreation) +"aW" = ( /obj/machinery/light{ icon_state = "tube1"; dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, -/area/houseboat) -"am" = ( -/obj/structure/bed/chair/comfy/black{ - icon_state = "comfychair_preview"; - dir = 1 - }, -/turf/simulated/floor/carpet/blue, -/area/houseboat) -"an" = ( +/area/ship/aro/recreation) +"aX" = ( /obj/machinery/light{ dir = 4; icon_state = "tube1"; pixel_x = 0 }, -/turf/simulated/floor/wood, -/area/houseboat) -"ao" = ( -/obj/machinery/computer/gyrotron_control, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"ap" = ( -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"aq" = ( -/obj/structure/flora/pottedplant, -/turf/simulated/floor/wood, -/area/houseboat) -"ar" = ( -/obj/structure/flora/pottedplant, -/obj/machinery/button/remote/blast_door{ - dir = 8; - id = "dongleship_blast"; - name = "exterior shutters"; - pixel_x = 28 +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, /turf/simulated/floor/wood, -/area/houseboat) -"as" = ( -/obj/structure/bed/chair/shuttle{ - dir = 1 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"at" = ( -/obj/machinery/door/blast/shutters{ - density = 1; - dir = 8; - icon_state = "shutter1"; - id = "dongleship_blast"; - layer = 3.3; - name = "Blast Shutters"; - opacity = 1 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 10; - icon_state = "fwindow" - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/plating, -/area/houseboat) -"au" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/wood, -/area/houseboat) -"av" = ( -/obj/structure/grille, -/obj/machinery/door/blast/shutters{ - density = 1; - dir = 4; - icon_state = "shutter1"; - id = "dongleship_blast"; - layer = 3.3; - name = "Blast Shutters"; - opacity = 1 - }, -/obj/structure/window/reinforced{ - dir = 10; - icon_state = "fwindow" - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/shuttle/plating, -/area/houseboat) -"aw" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"ax" = ( -/obj/machinery/computer/card/centcom, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"ay" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/computer/message_monitor, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"az" = ( -/obj/structure/bed/chair/wood{ - icon_state = "wooden_chair"; - dir = 4 - }, -/turf/simulated/floor/carpet/blue, -/area/houseboat) -"aA" = ( -/obj/structure/table/woodentable, -/turf/simulated/floor/carpet/blue, -/area/houseboat) -"aB" = ( -/obj/structure/bed/chair/wood{ - icon_state = "wooden_chair"; - dir = 8 - }, -/turf/simulated/floor/carpet/blue, -/area/houseboat) -"aC" = ( -/obj/structure/bed/chair/wood{ - dir = 4 - }, -/turf/simulated/floor/carpet/blue, -/area/houseboat) -"aD" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/book/codex, -/turf/simulated/floor/carpet/blue, -/area/houseboat) -"aE" = ( -/obj/structure/closet/crate/bin, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"aF" = ( -/obj/effect/floor_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/floor_decal/techfloor/corner{ - dir = 1 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"aG" = ( -/obj/machinery/button/remote/blast_door{ - dir = 8; - id = "dongleship_blast"; - name = "exterior shutters"; - pixel_x = 28 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"aH" = ( +/area/ship/aro/recreation) +"aY" = ( /obj/machinery/vending/food/arojoan{ density = 0; pixel_x = -32 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, -/area/houseboat) -"aI" = ( +/area/ship/aro/recreation) +"aZ" = ( +/obj/machinery/computer/HolodeckControl/holodorm/aro{ + icon_state = "computer"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/recreation) +"ba" = ( /obj/machinery/vending/boozeomat{ density = 0; pixel_x = 32 }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/wood, -/area/houseboat) -"aJ" = ( -/obj/machinery/door/airlock/voidcraft, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"aK" = ( +/area/ship/aro/recreation) +"bb" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"aL" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 8 + }, /obj/effect/floor_decal/spline/fancy/wood{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"aM" = ( +/area/ship/aro/recreation) +"bc" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bd" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"be" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bf" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bg" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bh" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bi" = ( /obj/effect/floor_decal/spline/fancy/wood/corner{ dir = 4 }, /obj/machinery/vending/dinnerware, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"aN" = ( -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"aO" = ( -/obj/structure/sign/department/bridge, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"aP" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"aQ" = ( -/obj/effect/floor_decal/spline/fancy/wood/corner{ - dir = 1 - }, -/obj/structure/table/standard, -/obj/machinery/reagentgrinder, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"aR" = ( -/obj/structure/table/standard, -/obj/machinery/microwave, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"aS" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/structure/window/reinforced{ +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; dir = 4 }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 6 + }, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"aT" = ( +/area/ship/aro/recreation) +"bj" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"aU" = ( -/obj/machinery/cooker/oven, -/obj/structure/window/reinforced{ +/area/ship/aro/recreation) +"bk" = ( +/obj/structure/table/standard, +/obj/machinery/reagentgrinder, +/obj/effect/floor_decal/borderfloorwhite, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bl" = ( +/obj/structure/table/standard, +/obj/machinery/microwave, +/obj/effect/floor_decal/borderfloorwhite, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bm" = ( +/obj/structure/closet/secure_closet/freezer/kitchen, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; dir = 8 }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"aV" = ( +/area/ship/aro/recreation) +"bn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bo" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bp" = ( +/obj/machinery/cooker/oven, +/obj/effect/floor_decal/borderfloorwhite/corner2, +/turf/simulated/floor/tiled/white, +/area/ship/aro/recreation) +"bq" = ( /obj/machinery/cooker/grill, +/obj/effect/floor_decal/borderfloorwhite, /turf/simulated/floor/tiled/white, -/area/houseboat) -"aW" = ( +/area/ship/aro/recreation) +"br" = ( /obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite, /turf/simulated/floor/tiled/white, -/area/houseboat) -"aX" = ( +/area/ship/aro/recreation) +"bs" = ( /obj/structure/table/standard, /obj/item/weapon/material/knife/butch, /obj/item/weapon/material/kitchen/rollingpin, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"aY" = ( -/obj/effect/step_trigger/teleporter{ - dir = 2; - icon = 'icons/obj/stairs.dmi'; - invisibility = 0; - name = "stairs"; - teleport_x = 99; - teleport_y = 104; - teleport_z = 22 +/area/ship/aro/recreation) +"bt" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/centralarea) +"bu" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/centralarea) +"bv" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"bw" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"aZ" = ( -/obj/structure/bed/chair, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"ba" = ( -/obj/machinery/door/airlock/voidcraft, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"bb" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"bc" = ( -/obj/machinery/door/airlock/voidcraft/vertical, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"bd" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"be" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bf" = ( -/obj/structure/table/steel, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bg" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bh" = ( +/area/ship/aro/centralarea) +"bx" = ( /obj/machinery/computer/operating, /turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bi" = ( +/area/ship/aro/centralarea) +"by" = ( /obj/machinery/optable, /turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bj" = ( +/area/ship/aro/centralarea) +"bz" = ( /obj/structure/table/standard, /obj/item/weapon/storage/firstaid/surgery, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bk" = ( -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 }, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"bl" = ( -/obj/structure/table/steel_reinforced, -/obj/item/stack/material/plasteel, -/obj/item/stack/material/plasteel, -/turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bm" = ( -/obj/structure/table/steel_reinforced, -/obj/item/stack/material/diamond, -/obj/item/stack/material/gold, -/obj/item/stack/material/silver, -/turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bn" = ( -/obj/structure/table/steel_reinforced, -/obj/item/stack/material/uranium, -/obj/item/stack/material/uranium, -/turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bo" = ( -/obj/structure/table/steel, -/obj/item/weapon/storage/secure/briefcase/nsfw_pack, /turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bp" = ( -/obj/structure/table/steel, -/obj/machinery/recharger, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bq" = ( -/obj/structure/bed/chair{ +/area/ship/aro/centralarea) +"bA" = ( +/obj/effect/floor_decal/techfloor{ dir = 8 }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"br" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"bB" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"bC" = ( +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bD" = ( +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bE" = ( +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bF" = ( /obj/structure/table/standard, /obj/item/weapon/tank/anesthetic, /obj/item/clothing/mask/breath/medical, @@ -444,8 +723,11 @@ dir = 8 }, /turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bs" = ( +/area/ship/aro/centralarea) +"bG" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/ship/aro/centralarea) +"bH" = ( /obj/structure/sink{ dir = 4; icon_state = "sink"; @@ -453,151 +735,321 @@ pixel_y = 5 }, /turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bt" = ( +/area/ship/aro/centralarea) +"bI" = ( /obj/structure/closet/hydrant{ pixel_x = 32 }, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"bu" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"bJ" = ( /obj/structure/closet/crate/bin, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bv" = ( +/area/ship/aro/centralarea) +"bK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bw" = ( -/obj/structure/table/steel_reinforced, +/area/ship/aro/centralarea) +"bL" = ( +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"bM" = ( /obj/machinery/light{ icon_state = "tube1"; dir = 4 }, +/obj/machinery/cell_charger, +/obj/structure/table/alien/blue, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bx" = ( -/obj/structure/bed/chair{ - icon_state = "chair_preview"; +/area/ship/aro/centralarea) +"bN" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 8 + }, +/area/ship/aro/centralarea) +"bO" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; dir = 1 }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"by" = ( /obj/structure/window/reinforced{ + icon_state = "rwindow"; dir = 1 }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"bz" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/table/standard, +/area/ship/aro/centralarea) +"bP" = ( +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bQ" = ( /obj/item/device/healthanalyzer/advanced, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"bA" = ( -/obj/structure/window/reinforced{ +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; dir = 1 }, -/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bR" = ( /obj/machinery/light{ dir = 4; icon_state = "tube1"; pixel_x = 0 }, /obj/item/roller/adv, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"bB" = ( -/obj/machinery/light{ - icon_state = "tube1"; - dir = 8 +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 5 }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"bS" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bC" = ( +/area/ship/aro/centralarea) +"bT" = ( /obj/item/weapon/stool/padded, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bD" = ( -/obj/structure/table/steel_reinforced, +/area/ship/aro/centralarea) +"bU" = ( /obj/item/weapon/storage/toolbox/syndicate, +/obj/structure/table/alien/blue, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bE" = ( +/area/ship/aro/centralarea) +"bV" = ( +/obj/structure/window/reinforced/full, +/obj/structure/fans/hardlight, +/obj/machinery/door/blast/regular{ + dir = 1; + icon_state = "pdoor0"; + id = "dongleship_blast"; + layer = 3.3 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/centralarea) +"bW" = ( /obj/structure/medical_stand, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"bF" = ( +/area/ship/aro/centralarea) +"bX" = ( /obj/structure/bed/chair/office/light{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 1 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"bG" = ( +/area/ship/aro/centralarea) +"bY" = ( /obj/machinery/computer/transhuman/resleeving{ dir = 8 }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/houseboat) -"bH" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 10; - icon_state = "fwindow" - }, -/turf/simulated/shuttle/plating, -/area/houseboat) -"bI" = ( -/obj/structure/table/steel_reinforced, -/turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bJ" = ( -/turf/simulated/floor/reinforced{ - name = "Holodeck Projector Floor" - }, -/area/houseboat/holodeck_area) -"bK" = ( -/obj/machinery/computer/HolodeckControl/houseboat{ - dir = 2 - }, -/obj/effect/floor_decal/spline/plain{ +/area/ship/aro/centralarea) +"bZ" = ( +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; dir = 8 }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bL" = ( +/area/ship/aro/centralarea) +"ca" = ( +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/centralarea) +"cb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cc" = ( +/obj/machinery/recharger, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cd" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ce" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cf" = ( /obj/machinery/clonepod/transhuman, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"bM" = ( -/obj/structure/table/steel_reinforced, -/obj/item/stack/material/steel{ - amount = 50 +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 }, -/obj/item/stack/material/steel{ - amount = 50 - }, -/turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bN" = ( -/obj/structure/table/steel_reinforced, -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/stack/material/glass{ - amount = 50 - }, -/turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bO" = ( -/obj/effect/floor_decal/spline/plain{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; dir = 8 }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cg" = ( +/obj/structure/window/reinforced/full, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 8 + }, +/area/ship/aro/centralarea) +"ch" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"ci" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"cj" = ( +/obj/structure/window/reinforced/full, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 4 + }, +/area/ship/aro/centralarea) +"ck" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cm" = ( +/obj/item/stack/material/steel{ + amount = 50 + }, +/obj/item/stack/material/steel{ + amount = 50 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cn" = ( +/obj/item/stack/material/glass{ + amount = 50 + }, +/obj/item/stack/material/glass{ + amount = 50 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"co" = ( /obj/machinery/bodyscanner{ dir = 8 }, @@ -605,31 +1057,43 @@ icon_state = "tube1"; dir = 8 }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"bQ" = ( +/area/ship/aro/centralarea) +"cp" = ( /obj/machinery/body_scanconsole, +/obj/effect/floor_decal/borderfloorwhite/corner{ + icon_state = "borderfloorcorner_white"; + dir = 1 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"bR" = ( +/area/ship/aro/centralarea) +"cq" = ( /obj/machinery/transhuman/synthprinter, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"bS" = ( +/area/ship/aro/centralarea) +"cr" = ( /obj/machinery/pros_fabricator{ req_access = list() }, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bT" = ( +/area/ship/aro/centralarea) +"cs" = ( /obj/machinery/autolathe{ desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Centcom Autolathe" }, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bU" = ( +/area/ship/aro/centralarea) +"ct" = ( /obj/machinery/mecha_part_fabricator{ req_access = list() }, @@ -638,75 +1102,59 @@ dir = 4 }, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bV" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/table/standard, -/obj/structure/bedsheetbin, -/obj/effect/floor_decal/spline/plain{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"bW" = ( +/area/ship/aro/centralarea) +"cu" = ( /obj/machinery/transhuman/resleever, /obj/machinery/light{ dir = 4; icon_state = "tube1"; pixel_x = 0 }, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"bX" = ( -/obj/machinery/light{ - icon_state = "tube1"; - dir = 8 +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 }, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"bY" = ( +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cv" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/ship/aro/centralarea) +"cw" = ( /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"bZ" = ( +/area/ship/aro/centralarea) +"cx" = ( /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"ca" = ( +/area/ship/aro/centralarea) +"cy" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"cb" = ( -/obj/structure/table/standard, -/obj/effect/floor_decal/spline/plain{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"cc" = ( +/area/ship/aro/centralarea) +"cz" = ( /obj/machinery/vending/medical{ density = 0; pixel_x = 0; pixel_y = 0; req_access = list() }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2, /turf/simulated/floor/tiled/white, -/area/houseboat) -"cd" = ( -/obj/machinery/button/remote/blast_door{ - dir = 8; - id = "dongleship_blast"; - name = "exterior shutters"; - pixel_x = 28 - }, -/obj/effect/floor_decal/spline/plain{ - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"ce" = ( +/area/ship/aro/centralarea) +"cA" = ( +/obj/effect/floor_decal/borderfloorwhite/corner, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"cB" = ( /obj/item/weapon/storage/firstaid/regular{ pixel_x = -2; pixel_y = 4 @@ -752,149 +1200,608 @@ pixel_y = -32 }, /obj/item/weapon/storage/box/body_record_disk, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 9 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"cf" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 10; - icon_state = "fwindow" +/area/ship/aro/centralarea) +"cC" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "aronai_port"; + name = "Near Ship - Port" }, -/obj/machinery/door/blast/shutters{ - density = 1; - dir = 2; - icon_state = "shutter1"; - id = "dongleship_blast"; - layer = 3.3; - name = "Blast Shutters"; - opacity = 1 - }, -/obj/structure/window/reinforced, -/turf/simulated/shuttle/plating, -/area/houseboat) -"cg" = ( +/turf/space, +/area/space) +"cD" = ( /obj/machinery/chem_master, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"ch" = ( +/area/ship/aro/centralarea) +"cE" = ( /obj/machinery/chemical_dispenser/ert, /obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/structure/table/alien/blue, /turf/simulated/floor/tiled/white, -/area/houseboat) -"ci" = ( -/obj/structure/flora/pottedplant/minitree, +/area/ship/aro/centralarea) +"cF" = ( +/obj/machinery/door/airlock/alien/blue, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cj" = ( +/area/ship/aro/centralarea) +"cG" = ( +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/alarms_hidden{ + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cH" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cI" = ( /obj/machinery/mech_recharger, /turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"ck" = ( +/area/ship/aro/centralarea) +"cJ" = ( +/obj/machinery/shipsensors, +/turf/space, +/area/ship/aro/centralarea) +"cK" = ( +/obj/effect/floor_decal/corner_techfloor_grid, +/obj/effect/floor_decal/techfloor/corner, /obj/machinery/light{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cl" = ( -/obj/structure/railing, +/area/ship/aro/centralarea) +"cL" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 10 + }, +/obj/effect/floor_decal/techfloor, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cm" = ( +/area/ship/aro/centralarea) +"cM" = ( +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"cN" = ( +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"cO" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 10 + }, +/obj/effect/floor_decal/techfloor, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cP" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 8 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cQ" = ( /obj/machinery/suit_storage_unit/standard_unit, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cn" = ( -/obj/effect/step_trigger/teleporter{ - icon = 'icons/obj/stairs.dmi'; - invisibility = 0; - name = "stairs"; - pixel_y = -32; - teleport_x = 128; - teleport_y = 100; - teleport_z = 22 +/area/ship/aro/centralarea) +"cR" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cS" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cT" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"cU" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"cV" = ( +/obj/structure/railing{ + dir = 1 }, -/turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"co" = ( /obj/structure/railing{ icon_state = "railing0"; dir = 4 }, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cp" = ( -/obj/effect/step_trigger/teleporter{ - icon = 'icons/obj/stairs.dmi'; - invisibility = 0; - name = "stairs"; - pixel_y = -32; - teleport_x = 129; - teleport_y = 100; - teleport_z = 22 +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"cW" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 }, -/turf/simulated/floor/tiled/techmaint, -/area/houseboat) -"cq" = ( -/obj/structure/railing{ +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"cX" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cr" = ( +/area/ship/aro/centralarea) +"cY" = ( /obj/structure/closet/secure_closet/personal, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cs" = ( +/area/ship/aro/centralarea) +"cZ" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "aronai_starboard"; + name = "Near Ship - Starboard" + }, +/turf/space, +/area/space) +"da" = ( /obj/machinery/light/small{ dir = 8; pixel_y = 0 }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"ct" = ( +/area/ship/aro/centralarea) +"db" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dc" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/effect/floor_decal/techfloor/hole{ + icon_state = "techfloor_hole_left"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor/hole/right{ + icon_state = "techfloor_hole_right"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dd" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"de" = ( +/obj/structure/flora/tree/jungle_small{ + pixel_x = -16 + }, +/turf/simulated/floor/grass, +/area/ship/aro/centralarea) +"df" = ( +/turf/simulated/floor/grass, +/area/ship/aro/centralarea) +"dg" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"dh" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/effect/floor_decal/techfloor/hole{ + icon_state = "techfloor_hole_left"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor/hole/right{ + icon_state = "techfloor_hole_right"; + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"di" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dj" = ( /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cu" = ( -/obj/machinery/door/airlock/voidcraft/vertical, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"cv" = ( +/area/ship/aro/centralarea) +"dk" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dl" = ( /obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dm" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"dn" = ( +/obj/structure/railing, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"do" = ( +/obj/structure/railing, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/floor/water/indoors, +/area/ship/aro/centralarea) +"dp" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; dir = 5 }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cw" = ( -/obj/machinery/light, +/area/ship/aro/centralarea) +"dq" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 8 + }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cx" = ( +/area/ship/aro/centralarea) +"dr" = ( +/obj/machinery/door/airlock/alien/blue, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ds" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/table/bench/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"du" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/table/bench/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dv" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dw" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 5 + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dx" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"dy" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"dz" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 5 + }, +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dA" = ( +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dB" = ( +/obj/machinery/light, +/obj/structure/table/bench/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dC" = ( +/obj/structure/table/bench/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dD" = ( /obj/structure/table/rack, /obj/item/device/suit_cooling_unit, /obj/item/weapon/tank/air, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cy" = ( -/obj/machinery/door/blast/regular{ - icon_state = "pdoor1"; - dir = 8 - }, -/turf/space, -/area/houseboat) -"cz" = ( -/obj/structure/table/woodentable, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"cA" = ( -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 10 +/area/ship/aro/centralarea) +"dE" = ( +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cB" = ( +/area/ship/aro/centralarea) +"dF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dH" = ( +/obj/item/weapon/rig/robotics, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dJ" = ( /obj/structure/closet{ name = "custodial" }, @@ -907,959 +1814,1063 @@ pixel_x = 0 }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cC" = ( +/area/ship/aro/centralarea) +"dK" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dL" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorwhite/corner, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dM" = ( /obj/machinery/washing_machine, +/obj/effect/floor_decal/borderfloorwhite/cee{ + icon_state = "borderfloorcee_white"; + dir = 4 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"cD" = ( -/turf/simulated/floor/tiled/steel, -/area/houseboat) -"cE" = ( -/obj/machinery/light{ - dir = 1 +/area/ship/aro/centralarea) +"dN" = ( +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"cF" = ( -/obj/machinery/light{ - dir = 1 +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 }, -/obj/structure/ore_box, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"cG" = ( -/obj/structure/ore_box, -/turf/simulated/floor/tiled/steel, -/area/houseboat) -"cH" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dQ" = ( +/obj/item/weapon/cell/high, +/obj/structure/table/rack/shelf/steel, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dR" = ( /obj/machinery/light{ - dir = 4; icon_state = "tube1"; - pixel_x = 0 + dir = 4 }, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"cI" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/centralarea) +"dS" = ( /obj/structure/sink{ icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2 }, -/turf/simulated/floor/tiled/white, -/area/houseboat) -"cJ" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/machinery/door/firedoor/glass, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; dir = 8 }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 4; - icon_state = "pdoor0"; - id = "security_lockdown"; - name = "Security Blast Doors"; - opacity = 0 +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dT" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 }, -/turf/simulated/floor/plating, -/area/houseboat) -"cK" = ( -/obj/machinery/door/window/brigdoor/southleft{ - name = "Cell 3"; - icon_state = "leftsecure"; - dir = 1; - req_access = list(2); - id = "Cell 3" - }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 4; - icon_state = "pdoor0"; - id = "security_lockdown"; - name = "Security Blast Doors"; - opacity = 0 - }, -/turf/simulated/floor/tiled/dark, -/area/houseboat) -"cL" = ( -/obj/effect/step_trigger/teleporter{ - icon = 'icons/obj/stairs.dmi'; - invisibility = 0; - name = "stairs"; - teleport_x = 126; - teleport_y = 122; - teleport_z = 22 +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 5 }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"dU" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/stack/material/plasteel, +/obj/item/stack/material/plasteel, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cM" = ( +/area/ship/aro/centralarea) +"dV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"dW" = ( /obj/structure/closet/hydrant{ pixel_x = -32 }, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"cN" = ( /obj/effect/floor_decal/techfloor{ - dir = 9 + dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/techfloor/grid, -/area/houseboat) -"cO" = ( +/area/ship/aro/centralarea) +"dX" = ( /obj/machinery/cryopod, -/obj/effect/floor_decal/techfloor{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/houseboat) -"cP" = ( +/turf/simulated/floor/reinforced, +/area/ship/aro/centralarea) +"dY" = ( /obj/machinery/light{ icon_state = "tube1"; dir = 8 }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, /turf/simulated/floor/tiled/white, -/area/houseboat) -"cQ" = ( +/area/ship/aro/centralarea) +"dZ" = ( /obj/structure/toilet{ dir = 8 }, /obj/machinery/light/small{ dir = 1 }, -/turf/simulated/floor/tiled/dark, -/area/houseboat) -"cR" = ( -/obj/structure/closet/secure_closet/brig{ - id = "Cell 3" +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ea" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/stack/material/diamond, +/obj/item/stack/material/gold, +/obj/item/stack/material/silver, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 }, -/obj/effect/floor_decal/industrial/outline, -/turf/simulated/floor/tiled/dark, -/area/houseboat) -"cS" = ( -/obj/structure/bed/padded, -/turf/simulated/floor/tiled/dark, -/area/houseboat) -"cT" = ( -/turf/simulated/floor/tiled/dark, -/area/houseboat) -"cU" = ( -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 12; - pixel_y = 5 +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"eb" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 }, -/turf/simulated/floor/tiled/dark, -/area/houseboat) -"cV" = ( -/obj/effect/floor_decal/techfloor{ - dir = 8 +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, /turf/simulated/floor/tiled/techfloor/grid, -/area/houseboat) -"cW" = ( +/area/ship/aro/centralarea) +"ec" = ( /obj/machinery/computer/cryopod{ pixel_x = 32 }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/houseboat) -"cX" = ( -/obj/structure/toilet{ +/turf/simulated/floor/reinforced, +/area/ship/aro/centralarea) +"ed" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 6 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ee" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/stack/material/uranium, +/obj/item/stack/material/uranium, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) +"ef" = ( +/obj/machinery/light{ + icon_state = "tube1"; dir = 8 }, -/turf/simulated/floor/tiled/dark, -/area/houseboat) -"cY" = ( /obj/effect/floor_decal/techfloor{ - dir = 10 + dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/techfloor/grid, -/area/houseboat) -"cZ" = ( +/area/ship/aro/centralarea) +"eg" = ( /obj/machinery/cryopod, /obj/effect/floor_decal/techfloor, -/turf/simulated/floor/tiled/techfloor/grid, -/area/houseboat) -"da" = ( +/turf/simulated/floor/reinforced, +/area/ship/aro/centralarea) +"eh" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ei" = ( +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + icon_state = "borderfloorcorner2_white"; + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/ship/aro/centralarea) +"ej" = ( /obj/machinery/recharge_station, /obj/machinery/light/small{ dir = 4 }, -/turf/simulated/floor/tiled/dark, -/area/houseboat) -"db" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/floor/tiled/steel, -/area/houseboat) -"dc" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - icon_state = "warningcorner"; - dir = 8 - }, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"dd" = ( -/turf/simulated/floor/tiled/steel_ridged, -/area/houseboat) -"de" = ( -/obj/effect/floor_decal/industrial/warning/corner, -/turf/simulated/floor/tiled/steel_grid, -/area/houseboat) -"df" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"dg" = ( -/turf/simulated/floor/reinforced, -/area/houseboat) -"dh" = ( -/obj/item/device/perfect_tele, -/turf/simulated/floor/reinforced, -/area/houseboat) -"di" = ( -/obj/machinery/button/remote/blast_door{ - dir = 8; - id = "dongleship_blast"; - name = "exterior shutters"; - pixel_x = 28 - }, -/turf/simulated/floor/reinforced, -/area/houseboat) -"dj" = ( -/obj/structure/closet/crate, -/turf/simulated/floor/tiled/steel, -/area/houseboat) -"dk" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"dl" = ( -/obj/structure/catwalk, -/obj/structure/closet/crate/bin, -/turf/simulated/floor/plating, -/area/houseboat) -"dm" = ( -/obj/structure/catwalk, -/turf/simulated/floor/plating, -/area/houseboat) -"dn" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing, -/turf/simulated/floor/plating, -/area/houseboat) -"do" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dp" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 6 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"dr" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"ds" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dt" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"du" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 10 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dv" = ( -/obj/structure/railing, -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 9 - }, -/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers, -/turf/simulated/floor/plating, -/area/houseboat) -"dw" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"dx" = ( -/obj/machinery/computer/teleporter{ - icon_state = "computer"; - dir = 1 - }, -/turf/simulated/floor/reinforced, -/area/houseboat) -"dy" = ( -/obj/machinery/light, -/obj/machinery/teleport/station{ - dir = 4 - }, -/turf/simulated/floor/reinforced, -/area/houseboat) -"dz" = ( -/obj/machinery/teleport/hub, -/turf/simulated/floor/reinforced, -/area/houseboat) -"dA" = ( -/obj/effect/step_trigger/teleporter{ - icon = 'icons/obj/stairs.dmi'; - invisibility = 0; - name = "stairs"; - pixel_y = 0; - teleport_x = 101; - teleport_y = 109; - teleport_z = 22 - }, -/turf/simulated/floor/tiled/steel, -/area/houseboat) -"dB" = ( -/obj/effect/step_trigger/teleporter{ - icon = 'icons/obj/stairs.dmi'; - invisibility = 0; - name = "stairs"; - pixel_y = 0; - teleport_x = 102; - teleport_y = 109; - teleport_z = 22 - }, -/turf/simulated/floor/tiled/steel, -/area/houseboat) -"dC" = ( -/obj/machinery/light, -/obj/structure/closet/crate, -/turf/simulated/floor/tiled/steel, -/area/houseboat) -"dD" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/purple, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/obj/machinery/light/small{ - dir = 8; - pixel_y = 0 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dE" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/turf/simulated/floor/plating, -/area/houseboat) -"dF" = ( -/obj/structure/catwalk, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dG" = ( -/obj/structure/catwalk, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dH" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dI" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/floor_decal/rust, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dK" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/visible/purple{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/purple{ - icon_state = "intact"; - dir = 4 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - name = "small craft wall"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"dM" = ( -/obj/structure/railing, -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/purple{ - icon_state = "intact"; - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/turf/simulated/floor/plating, -/area/houseboat) -"dN" = ( -/obj/structure/catwalk, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dO" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/effect/floor_decal/rust, -/turf/simulated/floor/plating, -/area/houseboat) -"dP" = ( -/obj/structure/railing, -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/effect/floor_decal/rust, -/turf/simulated/floor/plating, -/area/houseboat) -"dR" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dS" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 5 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dT" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 4 - }, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dU" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/visible/supply{ - icon_state = "map-supply"; - dir = 1 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dV" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"dW" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"dX" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - icon_state = "intact-supply"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers, -/turf/simulated/floor/plating, -/area/houseboat) -"dY" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/houseboat) -"dZ" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/turf/simulated/floor/plating, -/area/houseboat) -"ea" = ( -/obj/structure/catwalk, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"eb" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/effect/floor_decal/rust, -/turf/simulated/floor/plating, -/area/houseboat) -"ec" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/elite, -/turf/simulated/floor/wood, -/area/houseboat) -"ed" = ( -/obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp, -/turf/simulated/floor/wood, -/area/houseboat) -"ee" = ( -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/power/fractal_reactor/fluff/converter, -/turf/simulated/floor/plating, -/area/houseboat) -"ef" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"eg" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 5 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"eh" = ( -/obj/machinery/atmospherics/unary/freezer{ - dir = 2; - icon_state = "freezer_1"; - use_power = 1; - power_setting = 20; - set_temperature = 73 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"ei" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"ej" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/yellow, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/centralarea) "ek" = ( -/obj/effect/floor_decal/rust, -/turf/simulated/floor/plating, -/area/houseboat) +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) "el" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"em" = ( +/obj/machinery/door/airlock/alien/blue, /obj/structure/cable/cyan{ d1 = 1; d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/plating, -/area/houseboat) -"em" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/turf/simulated/floor/plating, -/area/houseboat) +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) "en" = ( -/obj/item/weapon/bedsheet/captaindouble, -/obj/structure/bed/double, -/turf/simulated/floor/wood, -/area/houseboat) +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/structure/railing, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) "eo" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/houseboat) +/obj/structure/catwalk, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) "ep" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/obj/structure/catwalk, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 }, -/turf/simulated/shuttle/wall/voidcraft/blue{ - hard_corner = 1; - icon_state = "void-hc"; - name = "small craft wall hc"; - stripe_color = "#45b3d8" - }, -/area/houseboat) +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) "eq" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 +/obj/structure/catwalk, +/obj/structure/cable/cyan{ + icon_state = "0-2" }, -/obj/effect/floor_decal/rust, -/turf/simulated/floor/plating, -/area/houseboat) -"er" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"es" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/yellow{ - icon_state = "intact"; - dir = 5 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"eu" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/reinforced, -/area/houseboat) -"ev" = ( -/obj/structure/bed/chair/office/dark, -/turf/simulated/floor/wood, -/area/houseboat) -"ew" = ( -/obj/machinery/atmospherics/pipe/simple/visible/yellow{ - icon_state = "intact"; - dir = 8 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"ex" = ( -/turf/simulated/shuttle/wall/voidcraft/blue, -/area/houseboat) -"ey" = ( -/turf/unsimulated/wall, -/area/space) -"ez" = ( -/obj/structure/window/reinforced, -/turf/unsimulated/wall, -/area/space) -"eA" = ( -/turf/simulated/shuttle/wall, -/area/shuttle/cruiser/cruiser) -"eB" = ( -/obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "cruiser_shuttle_bay_sensor"; - pixel_x = -11; +/obj/machinery/power/apc/alarms_hidden{ + dir = 1; + name = "north bump"; pixel_y = 28 }, -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1380; - id_tag = "cruiser_shuttle_bay"; - pixel_x = 0; - pixel_y = 28; - tag_door = "cruiser_shuttle_bay_hatch" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/computer/shuttle_control/cruiser_shuttle, -/turf/simulated/floor/reinforced, -/area/houseboat) -"eC" = ( -/turf/simulated/floor/holofloor/beach/sand, -/area/houseboat/holodeck/beach) -"eD" = ( -/obj/structure/window/reinforced{ +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"er" = ( +/obj/effect/floor_decal/techfloor{ dir = 8 }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/unsimulated/wall, -/area/space) -"eE" = ( -/obj/structure/flora/grass/both, -/turf/simulated/floor/holofloor/snow, -/area/houseboat/holodeck/snow) -"eF" = ( -/turf/simulated/floor/holofloor/snow, -/area/houseboat/holodeck/snow) -"eG" = ( -/obj/structure/flora/ausbushes/fullgrass, -/turf/simulated/floor/holofloor/desert, -/area/houseboat/holodeck/desert) -"eH" = ( -/turf/simulated/floor/holofloor/desert, -/area/houseboat/holodeck/desert) -"eI" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/unsimulated/wall, -/area/space) -"eK" = ( -/obj/structure/catwalk, -/obj/machinery/vending/tool, -/turf/simulated/floor/plating, -/area/houseboat) -"eL" = ( -/obj/structure/catwalk, -/obj/machinery/vending/engivend, -/turf/simulated/floor/plating, -/area/houseboat) -"eM" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible, -/turf/simulated/floor/plating, -/area/houseboat) -"eN" = ( -/obj/machinery/computer/shuttle_control/cruiser_shuttle, -/turf/simulated/shuttle/floor/black, -/area/shuttle/cruiser/cruiser) -"eP" = ( -/obj/effect/overlay/palmtree_r, -/turf/simulated/floor/holofloor/beach/sand, -/area/houseboat/holodeck/beach) -"eQ" = ( -/obj/item/weapon/beach_ball, -/turf/simulated/floor/holofloor/beach/sand, -/area/houseboat/holodeck/beach) -"eR" = ( -/obj/effect/overlay/palmtree_l, -/obj/effect/overlay/coconut, -/turf/simulated/floor/holofloor/beach/sand, -/area/houseboat/holodeck/beach) -"eS" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/simulated/floor/holofloor/desert, -/area/houseboat/holodeck/desert) -"eW" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/tank/nitrogen, -/turf/simulated/floor/plating, -/area/houseboat) -"eX" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"eY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"es" = ( /obj/machinery/light{ icon_state = "tube1"; dir = 4 }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/cruiser/cruiser) -"eZ" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"et" = ( +/obj/structure/railing, /obj/structure/railing{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/visible, -/turf/simulated/floor/plating, -/area/houseboat) +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"eu" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"ev" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ew" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ex" = ( +/obj/structure/catwalk, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ey" = ( +/obj/structure/catwalk, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ez" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"eA" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"eB" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"eC" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"eD" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eE" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"eF" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eG" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eH" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"eI" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"eJ" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eK" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eL" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eM" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/midshipshangars) +"eN" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eO" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eP" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eQ" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eR" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eS" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eT" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eU" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eV" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/midshipshangars) +"eW" = ( +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"eX" = ( +/obj/item/device/flashlight/lamp, +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"eY" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"eZ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) "fa" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"fb" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"fc" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"fd" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"fe" = ( +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/midshipshangars) +"ff" = ( +/obj/item/weapon/bedsheet/captaindouble, +/obj/structure/bed/double, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fg" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fi" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"fj" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"fk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fl" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fm" = ( +/obj/machinery/door/airlock/alien/blue, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"fn" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fq" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 8 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fr" = ( +/obj/structure/bed/chair/office/dark, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"ft" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fu" = ( +/obj/structure/bed/chair/office/dark, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fv" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 4 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fx" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "aroship_boatbay"; + pixel_x = 0; + pixel_y = 28; + tag_door = null + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fy" = ( +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"fz" = ( +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fA" = ( +/obj/item/device/flashlight/lamp, +/obj/structure/table/alien/blue, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/ship/aro/midshipshangars) +"fB" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"fC" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/midshipshangars) +"fD" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/engineering) +"fE" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/ship/aro/engineering) +"fF" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/engineering) +"fG" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/engineering) +"fH" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/shuttle/aroboat) +"fI" = ( +/obj/structure/fans/hardlight, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + icon_state = "alienplatinghalf"; + dir = 1 + }, +/area/shuttle/aroboat) +"fJ" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fK" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + icon_state = "map_vent_out"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fL" = ( +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fM" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fN" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + icon_state = "map_scrubber_on"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fO" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 5 + }, +/obj/machinery/alarm/alarms_hidden{ + pixel_y = 25 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fP" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"fQ" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/obj/machinery/computer/shuttle_control/explore/aroboat, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"fR" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 5 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"fS" = ( /obj/effect/floor_decal/techfloor/orange{ icon_state = "techfloororange_edges"; dir = 5 @@ -1868,86 +2879,97 @@ dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"fb" = ( -/obj/structure/bed/chair/shuttle{ - dir = 1 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/cruiser/cruiser) -"fc" = ( +/area/ship/aro/midshipshangars) +"fT" = ( /obj/effect/floor_decal/techfloor/orange{ icon_state = "techfloororange_edges"; dir = 9 }, /obj/effect/floor_decal/corner_techfloor_grid, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"fd" = ( -/turf/unsimulated/beach/sand{ - icon_state = "beach" +/area/ship/aro/midshipshangars) +"fU" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 }, -/area/houseboat/holodeck/beach) -"fe" = ( -/obj/structure/flora/tree/dead, -/turf/simulated/floor/holofloor/snow, -/area/houseboat/holodeck/snow) -"ff" = ( -/obj/structure/flora/tree/pine, -/turf/simulated/floor/holofloor/snow, -/area/houseboat/holodeck/snow) -"fh" = ( -/obj/structure/railing{ - icon_state = "railing0"; +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/visible, -/turf/simulated/floor/plating, -/area/houseboat) -"fi" = ( -/obj/machinery/atmospherics/pipe/tank/oxygen{ - icon_state = "o2_map"; - dir = 4 +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 }, -/turf/simulated/floor/plating, -/area/houseboat) -"fj" = ( -/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fY" = ( /obj/structure/cable/cyan{ d1 = 1; d2 = 2; icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/visible{ +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"fZ" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"ga" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ dir = 4 }, -/turf/simulated/floor/plating, -/area/houseboat) -"fk" = ( -/obj/machinery/atmospherics/pipe/tank/air{ - icon_state = "air_map"; +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gb" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ dir = 8 }, -/turf/simulated/floor/plating, -/area/houseboat) -"fl" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gc" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller{ frequency = 1380; - id_tag = "cruiser_shuttle"; + id_tag = "aroboat_docker"; pixel_x = 25; pixel_y = 0; - tag_door = "cruiser_shuttle_hatch" + tag_door = "aroboat_doors" }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/cruiser/cruiser) -"fm" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gd" = ( /obj/machinery/light{ icon_state = "tube1"; dir = 8 }, /turf/simulated/floor/reinforced, -/area/houseboat) -"fn" = ( +/area/ship/aro/midshipshangars) +"ge" = ( /obj/effect/floor_decal/techfloor/orange/corner{ icon_state = "techfloororange_corners"; dir = 4 @@ -1956,17 +2978,20 @@ /obj/effect/floor_decal/corner_techfloor_grid{ dir = 9 }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"fo" = ( +/area/ship/aro/midshipshangars) +"gf" = ( /obj/effect/floor_decal/techfloor/orange, /obj/effect/floor_decal/techfloor/orange{ icon_state = "techfloororange_edges"; dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"fp" = ( +/area/ship/aro/midshipshangars) +"gg" = ( /obj/effect/floor_decal/techfloor/orange/corner{ icon_state = "techfloororange_corners"; dir = 1 @@ -1979,555 +3004,440 @@ icon_state = "corner_techfloor_grid"; dir = 6 }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/obj/mecha/working/hoverpod/gunpod/agile, /turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"fq" = ( +/area/ship/aro/midshipshangars) +"gh" = ( /obj/machinery/light{ icon_state = "tube1"; dir = 4 }, /turf/simulated/floor/reinforced, -/area/houseboat) -"fr" = ( +/area/ship/aro/midshipshangars) +"gi" = ( /obj/structure/railing{ icon_state = "railing0"; dir = 4 }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"fs" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 8 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"ft" = ( -/obj/structure/catwalk, -/obj/structure/cable/cyan{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"fu" = ( -/turf/simulated/shuttle/floor/black, -/area/shuttle/cruiser/cruiser) -"fv" = ( -/obj/structure/catwalk, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/table/steel_reinforced, -/obj/item/weapon/rcd, -/obj/item/weapon/rcd_ammo, -/obj/item/weapon/rcd_ammo, -/turf/simulated/floor/plating, -/area/houseboat) -"fw" = ( -/turf/simulated/floor/holofloor/beach/water, -/area/houseboat/holodeck/beach) -"fx" = ( -/obj/structure/flora/grass/green, -/turf/simulated/floor/holofloor/snow, -/area/houseboat/holodeck/snow) -"fy" = ( -/obj/structure/catwalk, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/portable_atmospherics/powered/pump, -/turf/simulated/floor/plating, -/area/houseboat) -"fz" = ( -/obj/structure/cable/cyan{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"fA" = ( -/obj/machinery/power/fractal_reactor/fluff/converter, -/obj/structure/cable/cyan, -/turf/simulated/floor/plating, -/area/houseboat) -"fB" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/cable/cyan{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"fC" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = null; - locked = 1; - name = "Shuttle Hatch" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/cruiser/cruiser) -"fD" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "cruiser_shuttle_hatch"; - locked = 1; - name = "Shuttle Hatch" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/cruiser/cruiser) -"fE" = ( -/obj/effect/floor_decal/techfloor/orange{ - icon_state = "techfloororange_edges"; - dir = 6 - }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"fF" = ( -/obj/effect/floor_decal/techfloor/orange{ - icon_state = "techfloororange_edges"; +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/techfloor{ dir = 10 }, -/obj/effect/floor_decal/corner_techfloor_grid{ - dir = 4 - }, -/turf/simulated/floor/tiled/techfloor, -/area/houseboat) -"fG" = ( -/obj/structure/railing{ - icon_state = "railing0"; - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"fH" = ( -/turf/simulated/floor/plating, -/area/houseboat) -"fI" = ( -/obj/structure/catwalk, -/obj/structure/cable/green{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate, -/turf/simulated/floor/plating, -/area/houseboat) -"fJ" = ( -/obj/structure/catwalk, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/table/steel_reinforced, -/obj/machinery/recharger, -/turf/simulated/floor/plating, -/area/houseboat) -"fK" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/cruiser/cruiser) -"fL" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/unsimulated/wall, -/area/space) -"fM" = ( -/obj/machinery/atmospherics/unary/heater, -/turf/simulated/floor/plating, -/area/houseboat) -"fN" = ( -/obj/structure/catwalk, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/portable_atmospherics/powered/pump, -/turf/simulated/floor/plating, -/area/houseboat) -"fO" = ( -/obj/structure/catwalk, -/obj/structure/cable/green{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/telecomms/relay/preset/houseboat{ - toggled = 0 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"fP" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/houseboat) -"fQ" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/cable/green{ +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gk" = ( +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gm" = ( +/obj/structure/cable/cyan{ d1 = 1; d2 = 2; icon_state = "1-2" }, -/turf/simulated/floor/plating, -/area/houseboat) -"fR" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/simulated/floor/reinforced, -/area/shuttle/cruiser/cruiser) -"fS" = ( -/obj/structure/flora/ausbushes/brflowers, -/obj/effect/floor_decal/spline/fancy/wood/corner, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"fT" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood{ +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"gn" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; dir = 6 }, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"fU" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/holofloor/desert, -/area/houseboat/holodeck/picnic) -"fV" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood{ +/turf/simulated/floor/tiled/techfloor/grid, +/area/ship/aro/engineering) +"go" = ( +/obj/structure/railing{ dir = 8 }, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"fW" = ( -/turf/simulated/floor/holofloor/space, -/area/houseboat/holodeck/space) -"fX" = ( -/obj/structure/bed/holobed, -/turf/simulated/floor/holofloor/wood, -/area/houseboat/holodeck/bunking) -"fY" = ( -/turf/simulated/floor/holofloor/wood, -/area/houseboat/holodeck/bunking) -"fZ" = ( -/obj/structure/flora/ausbushes/brflowers, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 4 +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gp" = ( +/obj/machinery/door/airlock/alien/blue{ + frequency = 1380; + id_tag = "aroboat_doors" }, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"ga" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/holostool, -/turf/simulated/floor/holofloor/desert, -/area/houseboat/holodeck/picnic) -"gb" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced{ +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gq" = ( +/obj/effect/floor_decal/techfloor/corner{ dir = 1 }, -/turf/simulated/shuttle/plating/airless, -/area/space) -"gc" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 4 - }, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"gd" = ( -/obj/structure/table/woodentable/holotable, -/turf/simulated/floor/holofloor/desert, -/area/houseboat/holodeck/picnic) -"ge" = ( -/turf/simulated/floor/holofloor/desert, -/area/houseboat/holodeck/picnic) -"gf" = ( -/obj/structure/flora/ausbushes/brflowers, -/obj/effect/floor_decal/spline/fancy/wood{ +/obj/effect/floor_decal/techfloor/corner{ + icon_state = "techfloor_corners"; dir = 8 }, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"gg" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/space, -/area/space) -"gh" = ( -/obj/structure/holostool, -/turf/simulated/floor/holofloor/wood, -/area/houseboat/holodeck/bunking) -"gi" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gr" = ( +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/techfloor/corner{ + dir = 4 + }, +/obj/effect/shuttle_landmark/shuttle_initializer/aroboat{ + shuttle_restricted = "aronai_boat" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gs" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 6 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"gt" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 10 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"gu" = ( +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gv" = ( /obj/structure/railing{ dir = 1 }, -/obj/machinery/atmospherics/unary/freezer{ - dir = 2; - icon_state = "freezer_1"; - use_power = 1; - power_setting = 20; - set_temperature = 73 - }, -/turf/simulated/floor/plating, -/area/houseboat) -"gj" = ( -/obj/structure/flora/ausbushes/brflowers, -/obj/effect/floor_decal/spline/fancy/wood/corner{ - dir = 1 - }, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"gk" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 1 - }, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"gl" = ( -/obj/structure/flora/ausbushes/brflowers, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 1 - }, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"gm" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood/corner{ - dir = 4 - }, -/turf/simulated/floor/holofloor/grass, -/area/houseboat/holodeck/picnic) -"gn" = ( -/obj/structure/table/woodentable/holotable, -/turf/simulated/floor/holofloor/wood, -/area/houseboat/holodeck/bunking) -"go" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/turf/unsimulated/wall, -/area/space) -"gp" = ( -/turf/simulated/floor/holofloor/wood, -/area/houseboat/holodeck/gaming) -"gq" = ( -/obj/effect/floor_decal/corner/red{ - dir = 5 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gr" = ( -/obj/effect/floor_decal/corner/red/full{ - dir = 8 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gs" = ( -/obj/structure/holohoop, -/obj/effect/floor_decal/corner/red{ - dir = 5 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gt" = ( -/obj/effect/floor_decal/corner/red/full{ - dir = 1 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gu" = ( -/obj/structure/table/holotable, -/obj/item/clothing/head/helmet/thunderdome, -/obj/item/clothing/suit/armor/tdome/red, -/obj/item/clothing/under/color/red, -/obj/item/weapon/holo/esword/red, -/obj/effect/floor_decal/corner/red{ - dir = 5 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/thunderdome) -"gv" = ( -/obj/effect/floor_decal/corner/red{ - dir = 5 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/thunderdome) +/obj/machinery/atmospherics/pipe/simple/visible/universal, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) "gw" = ( -/obj/structure/bed/chair/holochair, -/turf/simulated/floor/holofloor/wood, -/area/houseboat/holodeck/gaming) +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/table/alien/blue, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) "gx" = ( -/obj/effect/floor_decal/corner/red{ - dir = 10 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gy" = ( -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/thunderdome) -"gz" = ( -/obj/structure/table/woodentable/holotable, -/turf/simulated/floor/holofloor/wood, -/area/houseboat/holodeck/gaming) -"gA" = ( -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gB" = ( -/obj/item/weapon/beach_ball/holoball, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gC" = ( -/obj/structure/bed/chair/holochair{ +/obj/structure/railing{ dir = 1 }, -/turf/simulated/floor/holofloor/wood, -/area/houseboat/holodeck/gaming) -"gD" = ( -/obj/effect/floor_decal/corner/green{ - dir = 5 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gE" = ( -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gF" = ( -/obj/effect/floor_decal/corner/green/full, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gG" = ( -/obj/structure/holohoop{ - dir = 1 - }, -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gH" = ( -/obj/effect/floor_decal/corner/green/full{ - dir = 4 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/basketball) -"gI" = ( -/obj/structure/table/holotable, -/obj/item/clothing/head/helmet/thunderdome, -/obj/item/clothing/suit/armor/tdome/green, -/obj/item/clothing/under/color/green, -/obj/item/weapon/holo/esword/green, -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/thunderdome) -"gJ" = ( -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, -/turf/simulated/floor/holofloor/tiled, -/area/houseboat/holodeck/thunderdome) -"gK" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/unsimulated/wall, -/area/space) -"gL" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/unsimulated/wall, -/area/space) -"gM" = ( -/turf/simulated/floor/holofloor/reinforced, -/area/houseboat/holodeck/off) -"gN" = ( -/obj/structure/cable/green{ +/obj/structure/cable/cyan{ d1 = 1; - d2 = 8; - icon_state = "1-8" + d2 = 2; + icon_state = "1-2" }, -/turf/simulated/floor/plating, -/area/houseboat) -"gQ" = ( -/obj/machinery/power/fractal_reactor/fluff/smes, -/obj/structure/cable/green{ +/obj/structure/cable/cyan{ + d1 = 2; d2 = 4; - icon_state = "0-4" + icon_state = "2-4" }, -/turf/simulated/floor/plating, -/area/houseboat) -"gR" = ( -/obj/machinery/power/fractal_reactor/fluff/smes, -/obj/structure/cable/green{ +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gy" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gz" = ( +/obj/structure/cable/cyan{ icon_state = "0-8" }, -/turf/simulated/floor/plating, -/area/houseboat) -"gS" = ( -/obj/structure/cable/green{ +/obj/machinery/power/apc/alarms_hidden{ + dir = 4; + name = "east bump"; + pixel_x = 28 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gA" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gB" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/aroboat) +"gC" = ( +/obj/machinery/atmospherics/binary/pump/on{ + icon_state = "map_on"; + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gD" = ( +/obj/machinery/atmospherics/binary/pump/on, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gE" = ( +/obj/structure/cable/cyan{ d1 = 1; d2 = 4; icon_state = "1-4" }, -/turf/simulated/floor/plating, -/area/houseboat) +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gF" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gG" = ( +/obj/machinery/power/smes/buildable/hybrid, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gH" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/pink{ + icon_state = "0-1"; + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gI" = ( +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "arobackleft"; + name = "exterior shutters"; + pixel_x = 28 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"gJ" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 4 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gK" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/blue, +/obj/machinery/light, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gL" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + icon_state = "air_map"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gM" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/empty, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gN" = ( +/obj/structure/table/alien/blue, +/obj/structure/cable/cyan, +/obj/machinery/power/apc/alarms_hidden{ + name = "south bump"; + pixel_y = -28 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engines) +"gO" = ( +/obj/structure/table/alien/blue, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gP" = ( +/obj/machinery/light, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gQ" = ( +/obj/structure/cable/pink{ + icon_state = "1-2"; + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/blue, +/area/ship/aro/engineering) +"gR" = ( +/obj/machinery/button/remote/blast_door{ + dir = 4; + id = "arobackright"; + name = "exterior shutters"; + pixel_x = -28 + }, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"gS" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/simulated/floor/reinforced, +/area/shuttle/aroboat) +"gT" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/engines) +"gU" = ( +/obj/structure/cable/pink{ + icon_state = "2-5"; + dir = 1 + }, +/turf/simulated/shuttle/wall/alien/blue, +/area/ship/aro/engines) +"gV" = ( +/obj/structure/shuttle/engine/heater, +/turf/simulated/shuttle/floor/alienplating/external, +/area/ship/aro/engines) +"gW" = ( +/obj/machinery/door/blast/regular{ + dir = 8; + icon_state = "pdoor1"; + id = "arobackleft" + }, +/obj/structure/fans/hardlight, +/turf/simulated/shuttle/floor/alienplating/blue/half, +/area/ship/aro/midshipshangars) +"gX" = ( +/obj/machinery/ion_engine{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/external, +/area/ship/aro/engines) +"gY" = ( +/obj/machinery/door/blast/regular{ + dir = 8; + icon_state = "pdoor1"; + id = "arobackright" + }, +/obj/structure/fans/hardlight, +/turf/simulated/shuttle/floor/alienplating/blue/half, +/area/ship/aro/midshipshangars) +"gZ" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "aronai_aft"; + name = "Near Ship - Aft" + }, +/turf/space, +/area/space) +"ha" = ( +/obj/effect/overmap/visitable/ship/aro, +/turf/space, +/area/space) +"iU" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/crisis_drone, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"lD" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/effect/floor_decal/industrial/danger/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"tu" = ( +/obj/machinery/atmospherics/binary/pump, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"uO" = ( +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"uZ" = ( +/obj/effect/floor_decal/techfloor/orange, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"xu" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"CW" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"HK" = ( +/obj/effect/floor_decal/techfloor/orange, +/obj/structure/table/rack/shelf/steel, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Lp" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/purple, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"Md" = ( +/obj/machinery/atmospherics/portables_connector, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/reinforced, +/area/ship/aro/midshipshangars) +"PJ" = ( +/obj/mecha/working/hoverpod/gunpod/agile, +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) +"TU" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/effect/floor_decal/industrial/danger/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/aro/midshipshangars) (1,1,1) = {" aa @@ -2810,7 +3720,7 @@ aa aa aa aa -aa +ha aa "} (3,1,1) = {" @@ -5006,7 +5916,7 @@ aa aa aa aa -aa +cC aa aa aa @@ -9997,15 +10907,15 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +ek +ek +ek +ek +ek +ek +ek aa aa aa @@ -10137,18 +11047,18 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek aa aa aa @@ -10277,21 +11187,21 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +ek +ek +ek +ek +fy +iU +lD +uZ +fy +fy +fy +ek +eV aa aa aa @@ -10416,24 +11326,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +ek +ek +ek +ek +ek +ek +Md +tu +Lp +PJ +uO +fy +fy +fy +fP +gW aa aa aa @@ -10557,25 +11467,25 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +ek +ek +eO +fe +ek +ek +fy +fy +fy +fS +ge +gs +fy +fy +fy +fP +gW aa aa aa @@ -10698,26 +11608,26 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +eu +eF +eF +eP +eF +ek +fn +fy +fy +fy +fy +gf +fy +fy +fy +fy +fP +gW aa aa aa @@ -10836,30 +11746,30 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bt +bt +bt +bt +ek +en +ev +eG +eG +eQ +eG +el +fo +fy +fy +fy +fy +gf +fy +fy +fy +fy +fP +gW aa aa aa @@ -10977,31 +11887,31 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bt +bt +bt +bt +bt +ek +eo +ew +eo +eo +eR +eo +fm +fp +fy +fy +fy +fy +gf +fy +fy +fy +fy +fP +gW aa aa aa @@ -11113,37 +12023,37 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bt +bt +bt +bN +bt +bt +bt +bt +cH +cH +cH +ek +eo +ew +eo +eK +eS +eJ +ek +fq +fy +fy +fy +fy +gf +fy +fy +fy +fy +fP +gW aa aa aa @@ -11249,43 +12159,43 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bt +bt +bN +bN +bN +bt +bt +cQ +da +cH +cQ +bt +dE +dN +cH +cH +cH +ek +eo +ew +eo +eL +eT +fe +ek +ek +fy +fy +fy +fT +gg +gt +fy +fy +fy +fP +gW aa aa aa @@ -11387,47 +12297,47 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bt +bt +bN +bN +bu +co +cd +cd +cd +cD +bt +bt +bt +cF +bt +bu +dF +dO +cH +cH +cH +ek +ep +ew +eo +eL +eU +ek +ek +ek +ek +Md +tu +Lp +CW +uO +fy +fy +fy +fP +gW aa aa aa @@ -11525,51 +12435,51 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +aB +aB +aB +bt +bu +bF +bO +bW +cd +cp +bP +bP +cA +cE +bt +bt +db +cH +ds +bv +dG +dP +di +cH +cH +ek +eq +ex +eo +eL +eV +ek +ek +ek +ek +ek +fy +xu +TU +HK +fy +gI +fy +ek +eV aa aa aa @@ -11661,57 +12571,57 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +aB +aB +aM +aM +aM +aV +aV +bb +bj +bt +bx +bG +bP +bP +bP +bP +bP +bP +cB +bu +bt +cH +cH +cH +dt +bu +bt +bt +bt +bt +bt +ek +eo +ey +eo +eM +ek +ff +ek +ff +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek aa aa aa @@ -11799,61 +12709,61 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ac +ai +ai +ai +aB +aE +aN +aN +aN +aW +aY +bc +bk +bt +by +bG +bQ +bX +ce +bP +bP +bP +bP +cF +cH +cR +cH +dk +du +bt +dH +dQ +dU +ea +ee +ek +eo +ey +eo +ek +eW +fg +ek +fr +fz +fD +fE +fU +gi +gu +gu +gJ +gT +gV +gX aa aa aa @@ -11940,62 +12850,62 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ac +ad +aj +ap +av +aB +aF +aO +aT +aT +aT +aO +bd +bl +bt +bz +bH +bR +bY +cf +cq +cu +cz +bu +bu +cK +cS +dc +dl +dv +bv +dI +dG +dV +dP +cH +ek +eo +ey +eo +ek +eX +fh +ek +fs +fA +fD +fJ +fV +gj +gv +gC +gK +gT +gV +gX aa aa aa @@ -12081,63 +12991,63 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ac +ac +ae +ak +aq +aw +aB +aG +aP +aT +aT +aT +aZ +bd +bm +bu +bt +bt +bt +bZ +cg +bZ +bt +bt +bt +cG +cL +cT +dd +dm +dw +bt +bt +bt +bt +bt +bt +ek +ek +ez +ek +ek +ek +eC +ek +eC +ek +fE +fK +fW +gk +gw +gu +gL +gT +gV +gX aa aa aa @@ -12223,63 +13133,63 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ac +ac +af +al +ar +ax +aC +aH +aO +aT +aT +aT +aO +be +bn +bv +bA +bA +bA +bA +ch +bA +bA +bv +bA +bA +cM +cU +de +dn +dx +bA +bv +bA +dW +bA +ef +el +er +eA +eH +el +er +fi +er +fi +fB +fF +fL +fX +gl +gv +gD +gM +gT +gT +gT aa aa aa @@ -12339,6 +13249,7 @@ aa aa aa aa +ab aa aa aa @@ -12364,6 +13275,63 @@ aa aa aa aa +ac +ac +ag +al +as +ay +aD +aI +aO +aT +aT +aT +aO +bf +bo +bw +bB +bI +bB +bB +ci +bB +bB +bw +bB +bB +cN +cU +df +dn +dy +bB +bw +dR +bB +eb +bB +em +es +eB +eI +em +es +fj +eI +fj +fC +fG +fM +fY +gm +gx +gE +gN +gT +gT +gT aa aa aa @@ -12385,65 +13353,7 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +gZ aa aa aa @@ -12507,63 +13417,63 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ac +ac +ah +am +at +az +aB +aJ +aQ +aT +aT +aT +aO +bg +bp +bu +bt +bt +bt +ca +cj +ca +bt +bt +bt +cH +cO +cV +dg +do +dz +bt +bt +bt +bt +cF +bt +ek +ek +eC +ek +ek +ek +eC +ek +eC +ek +fE +fN +fZ +gk +gy +gF +gO +gT +gV +gX aa aa aa @@ -12650,62 +13560,62 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ac +ad +an +au +aA +aB +aK +aO +aT +aT +aT +aO +bg +bq +bt +bC +bJ +bS +cb +ck +bL +cv +bL +bu +bu +cP +cW +dh +dp +dA +cF +dJ +bt +dX +ec +eg +ek +eo +ew +eo +ek +eX +fk +ek +ft +fA +fD +fO +ga +gn +gy +gG +gP +gT +gV +gX aa aa aa @@ -12793,61 +13703,61 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ac +ao +ao +ao +aB +aL +aR +aU +aU +aX +ba +bh +br +bt +bD +bK +bK +bK +cl +bL +bL +bL +bL +cF +cH +cX +cH +dq +dB +bu +bt +bt +bt +bt +bt +ek +eo +ew +eo +ek +eW +fl +ek +fu +fz +fD +fE +fU +go +gz +gH +gQ +gU +gV +gX aa aa aa @@ -12939,57 +13849,57 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +aB +aB +aS +aS +aS +aV +aV +bi +bs +bt +bE +bL +bT +bL +cm +cr +cw +bL +bL +bu +bt +cH +cH +cH +dC +bt +dK +dS +dY +dS +eh +ek +eo +ew +eo +eM +ek +ff +ek +ff +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek aa aa aa @@ -13087,51 +13997,51 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +aB +aB +aB +bt +bt +bM +bU +cc +cn +cs +cx +bL +bL +cI +bt +bt +di +cH +cH +cF +bP +bP +bP +bP +ei +ek +eo +ew +eo +eL +eV +ek +ek +ek +ek +ek +fy +fy +gd +fy +fy +gR +fy +ek +eV aa aa aa @@ -13233,47 +14143,47 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bt +bt +bV +bV +bu +ct +cy +bL +bL +cI +bt +bt +bt +dr +bt +bu +dL +dT +bP +ed +bP +ek +ep +ew +eo +eL +eY +ek +ek +ek +ek +fy +fy +fy +fy +fy +fy +fy +fy +fP +gY aa aa aa @@ -13379,43 +14289,43 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bt +bt +bV +bV +bV +bt +bt +cY +dj +cH +dD +bt +dM +bt +dr +bt +dr +ek +eo +ew +eo +eL +eZ +fe +ek +ek +fy +fy +fP +fP +fP +fP +fP +fy +fy +fP +gY aa aa aa @@ -13526,38 +14436,38 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +cJ +bu +bt +bt +bV +bt +bt +bt +bt +dZ +bt +ej +ek +eo +ew +eo +eN +fa +eF +ek +fv +fy +fH +fH +fH +gp +fH +fH +fH +fy +fP +gY aa aa aa @@ -13675,31 +14585,31 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bt +bt +bt +bt +bt +ek +eo +ew +eo +eo +eR +eo +fm +fp +fy +fI +fQ +gb +gq +gA +fH +gS +fy +fP +gY aa aa aa @@ -13818,30 +14728,30 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +bt +bt +bt +bt +ek +et +eD +eG +eG +fb +eG +el +fw +fy +fI +fR +gc +gr +gB +fH +gS +fy +fP +gY aa aa aa @@ -13964,26 +14874,26 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +eE +eJ +eJ +fc +eJ +ek +fx +fy +fH +fH +fH +gp +fH +fH +fH +fy +fP +gY aa aa aa @@ -14107,25 +15017,25 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +ek +ek +fd +fe +ek +ek +fy +fy +fP +fP +fP +fP +fP +fy +fy +fP +gY aa aa aa @@ -14250,24 +15160,24 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +ek +ek +ek +ek +ek +ek +fy +fy +fy +fy +fy +fy +fy +fy +fP +gY aa aa aa @@ -14395,21 +15305,21 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +ek +ek +ek +ek +ek +ek +fy +fy +gh +fy +fy +fy +fy +ek +eV aa aa aa @@ -14507,18 +15417,6 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -ab -ab -ab -aa -aa -aa aa aa aa @@ -14551,6 +15449,18 @@ aa aa aa aa +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek +ek aa aa aa @@ -14647,18 +15557,6 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab aa aa aa @@ -14695,6 +15593,18 @@ aa aa aa aa +ek +ek +ek +ek +ek +ek +ek +ek +ek +aa +aa +aa aa aa aa @@ -14787,21 +15697,21 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -dg -dg -fm -dg -dg -dg -dg -ab -af +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -14926,24 +15836,24 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -ab -ab -dg -dg -dg -dg -dg -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15067,25 +15977,25 @@ aa aa aa aa -ab -ab -ab -ab -af -ek -ab -ab -dg -dg -dg -fa -fn -fE -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15208,26 +16118,26 @@ aa aa aa aa -ab -ab -ab -dL -ab -eb -eq -ab -eu -dg -dg -dg -dg -fo -dg -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15346,30 +16256,30 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -af -dK -dm -dF -dm -ba -dg -dg -dg -dg -dg -fo -dg -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15487,31 +16397,31 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -dk -dD -dM -dS -dF -dm -ba -dg -dg -dg -dg -dg -fo -dg -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15623,37 +16533,37 @@ aa aa aa aa -ab -ab -ab -at -ab -ab -ab -ab -cJ -cR -cR -ab -dl -dm -dm -dR -dF -dm -ab -eu -dg -dg -dg -dg -fo -dg -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15759,43 +16669,43 @@ aa aa aa aa -ab -ab -at -at -at -ab -ab -cm -cs -aN -cm -ab -bF -aT -cJ -cS -cS -ab -dm -dm -dm -dU -ef -em -df -ab -dg -dg -dg -fc -fp -fF -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -15897,47 +16807,47 @@ aa aa aa aa -ab -ab -at -at -ab -bP -aT -aT -aT -cg -ab -ab -ab -cu -ab -ab -cz -aT -cK -cT -cT -ab -dn -dm -dN -dT -ee -ab -ab -ab -ab -dg -dg -dg -dg -dg -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16035,51 +16945,51 @@ aa aa aa aa -ab -ab -ab -ab -ab -br -by -bE -aT -bQ -aT -aT -aT -ch -ab -ab -bX -aN -bX -ba -aT -aT -cJ -cT -cT -ab -dp -dE -dH -dX -af -ab -ab -ab -ab -ab -dg -dg -fq -dg -dg -dg -dg -ab -af +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16171,57 +17081,57 @@ aa aa aa aa -ab -ab -at -at -at -ab -af -aK -aP -ab -bh -ap -aT -aT -aT -aT -aT -aT -ce -af -ab -aN -aN -aN -aN -ab -aT -cH -cJ -cU -cX -ab -do -dm -dF -dV -ab -en -ab -en -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16309,61 +17219,61 @@ aa aa aa aa -ab -ab -ab -ab -af -aq -ai -ai -ai -al -aH -aL -aQ -ab -bi -ap -bz -bF -aT -aT -aT -aT -aT -ba -aN -aN -aN -aN -aN -af -ab -ab -ab -ab -ab -ab -do -dm -dF -ab -ec -eo -ab -ev -ec -ab -ex -fi -fs -fA -fH -fM -ab -gb -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16450,62 +17360,62 @@ aa aa aa aa -ab -af -ah -ai -ai -al -ai -ag -ag -ag -ag -ag -aL -aR -ab -bj -bs -bA -bG -bL -bR -bW -cc -af -af -ck -aN -aN -aN -aN -aN -cA -aN -cL -ab -ab -ab -do -dm -dF -ab -ed -ai -ab -ai -ed -ab -eW -fh -fr -fG -fH -fH -ab -gb -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16591,63 +17501,63 @@ aa aa aa aa -ab -ae -ag -ag -ag -ag -am -ai -ag -az -aC -az -ag -aL -aS -ab -ab -ab -ab -bH -bH -bH -ab -ab -ab -ci -aN -co -co -aN -cw -af -ab -ab -ab -ab -ab -ab -dq -cu -ab -ab -ab -cu -ab -cu -ab -ab -eK -eX -fv -fJ -gi -gQ -ab -gb -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16732,64 +17642,64 @@ aa (101,1,1) = {" aa aa -ab -ab -ae -ag -ag -aj -ag -am -ai -ag -aA -aD -aA -ag -aL -aT -ba -aN -aN -aN -aN -aN -aN -bX -aJ -aN -aN -cl -cn -bv -cv -aN -aN -aJ -aN -cM -aN -bX -aJ -aN -aN -bX -aJ -aN -aN -aN -aN -bX -aJ -ea -fj -ft -fI -fQ -gN -ab -gb -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -16874,64 +17784,64 @@ aa (102,1,1) = {" aa aa -ab -ab -ae -ag -ag -aj -ag -am -ai -ag -aA -aA -aA -ag -aL -aT -ba -bk -bt -aN -aN -aN -aN -aN -aJ -aN -aN -cl -cp -bv -cv -aN -aN -aJ -bk -aN -aN -aN -aJ -bk -aN -aN -aJ -bk -aN -aN -aN -aN -aJ -ea -fj -dG -fO -fQ -gS -ab -gb -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17017,63 +17927,63 @@ aa aa aa aa -ab -ae -ag -ag -ag -ag -am -ai -ag -aB -aB -aB -ag -aL -aU -ab -ab -ab -ab -bH -bH -bH -ab -ab -ab -ci -aN -cq -cq -aN -cw -af -ab -af -cN -cV -cY -ab -dr -cu -ab -ab -ab -cu -ab -cu -ab -ab -eL -eX -fy -fN -gi -gR -ab -gb -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17160,62 +18070,62 @@ aa aa aa aa -ab -af -ai -ai -ai -an -ai -ag -ag -ag -ag -ag -aL -aV -ab -bl -bu -bB -bv -bv -bv -bB -bv -af -af -ck -aN -aN -aN -aN -ba -cB -ab -cO -cW -cZ -ab -ds -dm -dm -ab -ed -ai -ab -ai -ed -ab -eM -eZ -fB -fP -fH -fH -ab -gb -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17303,61 +18213,61 @@ aa aa aa aa -ab -ab -ab -ab -af -ar -au -ai -ai -an -aI -aL -aW -ab -bm -bv -bv -bv -bv -bv -bv -bv -bv -ba -aN -aN -aN -aN -aN -ab -ab -ab -ab -ab -ab -ab -ds -dm -dm -ab -ec -eo -ab -ev -ec -ab -ab -fk -fz -fA -fH -fM -ab -gb -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17449,57 +18359,57 @@ aa aa aa aa -ab -ab -av -av -av -ab -af -aM -aX -ab -bn -bv -bC -bv -bM -bS -bY -bv -bv -af -ab -aN -aN -aN -aN -ab -aT -cI -cP -cI -aW -ab -dt -dG -dm -dY -ab -en -ab -en -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -gg +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17597,51 +18507,51 @@ aa aa aa aa -ab -ab -ab -ab -ab -bw -bD -bI -bN -bT -bZ -bv -bv -cj -ab -ab -bk -aN -bk -ba -aT -aT -aT -aT -aT -ab -ds -dF -dm -dW -af -ab -ab -ab -ab -ab -dg -dg -fm -dg -dg -dg -dg -ab -af +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17743,47 +18653,47 @@ aa aa aa aa -ab -ab -av -av -ab -bU -ca -bv -bv -cj -ab -ab -ab -cu -ab -ab -aT -aT -aT -aT -aT -df -dv -dF -dm -dW -eh -ab -ab -ab -ab -dg -dg -dg -dg -dg -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -17889,43 +18799,43 @@ aa aa aa aa -ab -ab -av -av -av -ab -ab -cr -ct -aN -cx -ab -cC -ab -cu -ab -cu -ab -du -dH -dE -dZ -eg -er -ab -ab -dg -dg -aN -aN -aN -aN -aN -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18037,37 +18947,37 @@ aa aa aa aa -ab -ab -ab -av -ab -ab -ab -ab -cQ -ab -da -ab -dm -dF -dm -dm -ei -dm -ab -eu -dg -eA -eA -eA -fC -eA -eA -eA -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18185,31 +19095,31 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -dw -dI -dO -dm -ei -dm -ba -dg -dg -eA -eN -fb -fu -fb -fK -fR -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18328,30 +19238,30 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -af -dP -ea -el -ea -ba -dg -dg -eA -eY -fl -fu -fb -fK -fR -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18474,26 +19384,26 @@ aa aa aa aa -ab -ab -ab -ab -af -ej -es -ab -eB -dg -eA -eA -eA -fD -eA -eA -eA -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18617,25 +19527,25 @@ aa aa aa aa -ab -ab -ab -ab -ep -ew -ab -ex -dg -dg -aN -aN -aN -aN -aN -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18760,24 +19670,24 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -ex -ex -dg -dg -dg -dg -dg -dg -dg -dg -aN -cy +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -18905,21 +19815,21 @@ aa aa aa aa -ab -ab -ab -ab -ab -ex -dg -dg -fq -dg -dg -dg -dg -ab -af +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -19049,18 +19959,18 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -19193,15 +20103,15 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -ab -ab -ab +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -19430,16 +20340,16 @@ aa (120,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -19572,16 +20482,6 @@ aa (121,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac aa aa aa @@ -19619,25 +20519,35 @@ aa aa aa aa -ey -gL -gL -gL -gL -gL -ey -gL -gL -gL -gL -gL -ey -gL -gL -gL -gL -gL -ey +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -19714,16 +20624,6 @@ aa (122,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac aa aa aa @@ -19761,25 +20661,35 @@ aa aa aa aa -ez -eC -eP -fd -fw -fw -fL -fS -fZ -gc -gc -gj -fL -gp -gp -gp -gp -gp -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -19856,16 +20766,6 @@ aa (123,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac aa aa aa @@ -19888,40 +20788,50 @@ aa aa aa aa -ab -ab -at -at -at -at -at -ab -ab aa aa aa aa aa aa -ez -eC -eQ -fd -fw -fw -fL -fT -ga -gd -ga -gk -fL -gp -gw -gz -gC -gp -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cZ +aa +aa +aa aa aa aa @@ -19998,16 +20908,6 @@ aa (124,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac aa aa aa @@ -20030,40 +20930,50 @@ aa aa aa aa -ab -cD -cD -cD -cD -db -dg -dx -ab aa aa aa aa aa aa -ez -eC -eC -fd -fw -fw -fL -fU -ga -gd -ga -gl -fL -gp -gw -gz -gC -gp -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -20140,72 +21050,72 @@ aa (125,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -aa -aa -ab -ab -ab -ab -ab -aa -ab -ab -ab -ab -ab -ab -ab aa aa aa aa aa aa -ab -cE -cD -cD -cD -db -dh -dy -ab aa aa aa aa aa aa -ez -eC -eC -fd -fw -fw -fL -fU -fU -ge -fU -gk -fL -gp -gw -gz -gC -gp -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -20282,72 +21192,72 @@ aa (126,1,1) = {" aa aa -ac -ad -ac -ac -ac -ac -ab -ab -ab -ab -ab -ab -aF -ab -aN -aY -bb -ab -aa -ab -bJ -bJ -bJ -bJ -bJ -cf aa aa aa aa aa aa -cy -ap -ap -cD -cD -db -di -dz -ab aa aa aa aa aa aa -ez -eC -eR -fd -fw -fw -fL -fV -fV -gf -gf -gm -fL -gp -gp -gp -gp -gp -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -20424,72 +21334,72 @@ aa (127,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ak -ao -as -aw -ap -aE -af -ab -aO -ab -bc -ab -ab -ab -bJ -bJ -bJ -bJ -bJ -cf aa aa aa aa aa aa -cy -ap -ap -ap -ap -dc -ab -ab -ab aa aa aa aa aa aa -ey -eD -eD -eD -eD -eD -ey -eD -eD -eD -eD -eD -ey -eD -eD -eD -eD -eD -ey +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -20566,72 +21476,72 @@ aa (128,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ak -ap -ap -ap -ap -ap -ap -aJ -aN -aN -aN -aN -aN -aJ -bJ -bJ -bJ -bJ -bJ -cf aa aa aa aa aa aa -cy -ap -ap -ap -ap -dd -cD -dA -ab aa aa aa aa aa aa -ez -eE -eF -eF -eF -eF -fL -fW -fW -fW -fW -fW -fL -gq -gx -gA -gD -gE -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -20708,72 +21618,72 @@ aa (129,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ak -ap -ap -ax -as -ap -aG -aJ -aN -aN -bd -aN -aN -aJ -bJ -bJ -bJ -bJ -bJ -cf aa aa aa aa aa aa -cy -ap -ap -ap -ap -dd -cD -dB -ab aa aa aa aa aa aa -ez -eF -eF -fe -eF -eF -fL -fW -fW -fW -fW -fW -fL -gr -gx -gA -gD -gF -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -20850,72 +21760,72 @@ aa (130,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ak -ao -as -ay -as -ap -af -ab -aO -ab -ab -ab -bc -ab -bJ -bJ -bJ -bJ -bJ -cf aa aa aa aa aa aa -cy -ap -ap -ap -ap -de -ab -ab -ab aa aa aa aa aa aa -ez -eF -eF -eF -fx -eF -fL -fW -fW -fW -fW -fW -fL -gs -gx -gB -gD -gG -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -20992,72 +21902,72 @@ aa (131,1,1) = {" aa aa -ac -ad -ac -ac -ac -ac -ab -ab -ab -ab -ab -ab -ab -ab -ab -ap -be -be -ap -ab -bK -bO -bV -cb -cd -ab aa aa aa aa aa aa -cy -ap -ap -cD -cD -db -dj -dj -ab aa aa aa aa aa aa -ez -eF -eF -ff -eF -eF -fL -fW -fW -fW -fW -fW -fL -gt -gx -gA -gD -gH -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -21134,72 +22044,72 @@ aa (132,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -aa -aa -aa -ab -aZ -bf -bo -bx -ab -ab -ab -ab -ab -ab -ab aa aa aa aa aa aa -ab -cF -cD -cD -cD -db -cG -dC -ab aa aa aa aa aa aa -ez -eF -eF -eF -eF -eF -fL -fW -fW -fW -fW -fW -fL -gq -gx -gA -gD -gE -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -21276,26 +22186,6 @@ aa (133,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -aa -aa -aa -ab -aZ -bf -bp -bx -ab aa aa aa @@ -21308,46 +22198,66 @@ aa aa aa aa -ab -cG -cG -cD -cD -db -cG -cG -ab aa aa aa aa aa aa -ey -eD -eD -eD -eD -eD -ey -eD -eD -eD -eD -eD -ey -eD -eD -eD -eD -eD -ey -gL -gL -gL -gL -gL -ey +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -21418,26 +22328,6 @@ aa (134,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -aa -aa -aa -ab -aE -bg -bq -ap -ab aa aa aa @@ -21450,46 +22340,66 @@ aa aa aa aa -ab -ab -av -av -av -av -av -ab -ab aa aa aa aa aa aa -ez -eG -eH -eH -eH -eH -fL -fX -fX -fX -fX -fX -go -gu -gy -gy -gy -gI -go -gM -gM -gM -gM -gM -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -21560,26 +22470,6 @@ aa (135,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -aa -aa -aa -ab -ab -ab -ab -ab -ab aa aa aa @@ -21607,31 +22497,51 @@ aa aa aa aa -ez -eH -eH -eS -eH -eH -fL -fY -fY -fY -fY -fY -go -gv -gy -gy -gy -gJ -go -gM -gM -gM -gM -gM -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -21702,16 +22612,6 @@ aa (136,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac aa aa aa @@ -21749,31 +22649,41 @@ aa aa aa aa -ez -eH -eH -eH -eH -eH -fL -fY -fY -fY -gh -gn -go -gv -gy -gy -gy -gJ -go -gM -gM -gM -gM -gM -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -21844,16 +22754,6 @@ aa (137,1,1) = {" aa aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac aa aa aa @@ -21891,31 +22791,41 @@ aa aa aa aa -ez -eH -eH -eH -eH -eH -fL -fY -fY -fY -gh -gn -go -gv -gy -gy -gy -gJ -go -gM -gM -gM -gM -gM -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -22033,31 +22943,31 @@ aa aa aa aa -ez -eH -eS -eH -eH -eG -fL -fY -fY -fY -fY -fY -go -gu -gy -gy -gy -gI -go -gM -gM -gM -gM -gM -gK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -22175,31 +23085,31 @@ aa aa aa aa -ey -eI -eI -eI -eI -eI -ey -eI -eI -eI -eI -eI -ey -eI -eI -eI -eI -eI -ey -eI -eI -eI -eI -eI -ey +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa diff --git a/maps/tether/submaps/om_ships/cruiser.dm b/maps/tether/submaps/om_ships/cruiser.dm new file mode 100644 index 0000000000..5cfae746ca --- /dev/null +++ b/maps/tether/submaps/om_ships/cruiser.dm @@ -0,0 +1,133 @@ +// Compile in the map for CI testing if we're testing compileability of all the maps +#if MAP_TEST +#include "cruiser.dmm" +#endif + +//////// Mothership areas //////// +/area/mothership + requires_power = 1 + flags = RAD_SHIELDED + base_turf = /turf/space + icon_state = "blue-red2" + +/area/mothership/breakroom + name = "Warship - Breakroom" + +/area/mothership/hydroponics + name = "Warship - Hydroponics" + +/area/mothership/kitchen + name = "Warship - Kitchen" + +/area/mothership/eva + name = "Warship - EVA" + +/area/mothership/bathroom1 + name = "Warship - Bathroom 1" + +/area/mothership/bathroom2 + name = "Warship - Bathroom 2" + +/area/mothership/dorm1 + name = "Warship - Dorm 1" + +/area/mothership/dorm2 + name = "Warship - Dorm 2" + +/area/mothership/dorm3 + name = "Warship - Dorm 3" + +/area/mothership/dorm4 + name = "Warship - Dorm 4" + +/area/mothership/dorm5 + name = "Warship - Dorm 5" + +/area/mothership/dorm6 + name = "Warship - Dorm 6" + +/area/mothership/chemistry + name = "Warship - Chemistry" + +/area/mothership/surgery + name = "Warship - Surgery" + +/area/mothership/vault + name = "Warship - Vault" + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/mothership/teleporter + name = "Warship - Teleporter Room" + +/area/mothership/security + name = "Warship - Security Equipment" + +/area/mothership/treatment + name = "Warship - Treatment Center" + +/area/mothership/medical + name = "Warship - Medical Equipment" + +/area/mothership/resleeving + name = "Warship - Resleeving" + +/area/mothership/morgue + name = "Warship - Morgue" + +/area/mothership/rnd + name = "Warship - Research" + +/area/mothership/robotics + name = "Warship - Robotics" + +/area/mothership/sechallway + name = "Warship - Security Hallway" + +/area/mothership/processing + name = "Warship - Processing" + +/area/mothership/warden + name = "Warship - Warden" + +/area/mothership/armory + name = "Warship - Armory" + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/mothership/bridge + name = "Warship - Bridge" + +/area/mothership/holodeck + name = "Warship - Holodeck Controls" +/area/mothership/holodeck/holo + name = "Warship - Holodeck" + icon_state = "dk_yellow" + +/area/mothership/cryotube + name = "Warship - Cryo chamber" + +/area/mothership/engineering + name = "Warship - Engineering" + +/area/mothership/hallway + name = "Warship - Main Hallway" + +/area/mothership/telecomms1 + name = "Warship - Hangar 1" + has_gravity = 0 + +/area/mothership/telecomms2 + name = "Warship - Hangar 2" + has_gravity = 0 + +/datum/map_template/om_ships/cruiser + name = "OM Ship - NDV Tabiranth (New Z)" + desc = "A large NT cruiser." + mappath = 'cruiser.dmm' + +/obj/effect/overmap/visitable/ship/cruiser + name = "NDV Tabiranth" + desc = "A large military cruiser pinging NT IFF. An automated message warns unauthorized vessels from getting close." + color = "#00aaff" //Bluey + vessel_mass = 15000 + vessel_size = SHIP_SIZE_LARGE + initial_generic_waypoints = list("cruiser_fore", "cruiser_aft", "cruiser_port", "cruiser_starboard", "ws_port_dock_1", "ws_port_dock_2", "ws_starboard_dock_1", "ws_starboard_dock_2") diff --git a/maps/tether/submaps/om_ships/cruiser.dmm b/maps/tether/submaps/om_ships/cruiser.dmm new file mode 100644 index 0000000000..f4d2cf35ce --- /dev/null +++ b/maps/tether/submaps/om_ships/cruiser.dmm @@ -0,0 +1,31045 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/space) +"ab" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/breakroom) +"ac" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 4; + icon_state = "pdoor0"; + id = "ship-lounge"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/breakroom) +"ad" = ( +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_8_outer"; + req_one_access = list(101) + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1380; + master_tag = "ws_dock_8"; + name = "exterior access button"; + pixel_x = -26; + pixel_y = 5; + req_one_access = list(101) + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/breakroom) +"ae" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/breakroom) +"af" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "cruiser_fore"; + name = "Vessel fore" + }, +/turf/space, +/area/space) +"ag" = ( +/obj/machinery/porta_turret/industrial/military, +/turf/simulated/floor/reinforced/airless{ + name = "outer hull" + }, +/area/mothership/breakroom) +"ah" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/breakroom) +"ai" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + frequency = 1380; + id_tag = "ws_dock_8_pump" + }, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "ws_dock_8"; + pixel_x = -32; + req_one_access = list(101); + tag_airpump = "ws_dock_8_pump"; + tag_chamber_sensor = "ws_dock_8_sensor"; + tag_exterior_door = "ws_dock_8_outer"; + tag_interior_door = "ws_dock_8_inner" + }, +/obj/machinery/airlock_sensor{ + frequency = 1380; + id_tag = "ws_dock_8_sensor"; + pixel_x = 25; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/breakroom) +"aj" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/breakroom) +"ak" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/breakroom) +"al" = ( +/obj/effect/floor_decal/spline/fancy/wood, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/breakroom) +"am" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + frequency = 1380; + id_tag = "ws_dock_1_pump" + }, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/obj/machinery/airlock_sensor{ + frequency = 1380; + id_tag = "ws_dock_1_sensor"; + pixel_x = -25; + pixel_y = 0 + }, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "ws_dock_1"; + pixel_x = 32; + req_one_access = list(101); + tag_airpump = "ws_dock_1_pump"; + tag_chamber_sensor = "ws_dock_1_sensor"; + tag_exterior_door = "ws_dock_1_outer"; + tag_interior_door = "ws_dock_1_inner" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/breakroom) +"an" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_8_inner"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/breakroom) +"ao" = ( +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"ap" = ( +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aq" = ( +/obj/machinery/status_display{ + pixel_y = 29 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"ar" = ( +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"as" = ( +/obj/machinery/alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"at" = ( +/obj/machinery/media/jukebox, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"au" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 1; + icon_state = "pdoor0"; + id = "ship-lounge"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/breakroom) +"av" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aw" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"ax" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"ay" = ( +/obj/structure/bed/chair/wood{ + icon_state = "wooden_chair"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"az" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aA" = ( +/obj/structure/bed/chair/wood{ + icon_state = "wooden_chair"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aB" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aC" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 1; + icon_state = "pdoor0"; + id = "ship-lounge"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/breakroom) +"aD" = ( +/obj/structure/bed/chair/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aE" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/book/codex, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aF" = ( +/obj/structure/bed/chair/wood{ + icon_state = "wooden_chair"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aG" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aI" = ( +/obj/structure/bed/chair/wood{ + icon_state = "wooden_chair"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aJ" = ( +/obj/structure/bed/chair/wood{ + icon_state = "wooden_chair"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aK" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aL" = ( +/obj/machinery/vending/coffee{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aM" = ( +/obj/machinery/vending/fitness{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aN" = ( +/obj/machinery/vending/cola{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aO" = ( +/obj/machinery/vending/snack{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aP" = ( +/obj/machinery/vending/sovietsoda{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aQ" = ( +/obj/structure/closet/crate/freezer/rations, +/obj/random/mre, +/obj/random/mre, +/obj/random/mre, +/obj/random/mre, +/obj/random/mre, +/obj/random/mre, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aR" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/light, +/obj/machinery/button/remote/blast_door{ + id = "ship-lounge"; + name = "Blast Doors Controls"; + pixel_y = -28 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aS" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aT" = ( +/obj/machinery/vending/boozeomat{ + density = 0; + pixel_x = 0; + pixel_y = -32 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aU" = ( +/obj/machinery/vending/food/arojoan{ + density = 0; + pixel_x = 0; + pixel_y = -32 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aW" = ( +/obj/machinery/light, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"aX" = ( +/obj/machinery/vending/dinnerware{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aY" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/chemical_dispenser/bar_alc/full, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"aZ" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/chemical_dispenser/bar_soft/full, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"ba" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/chemical_dispenser/bar_coffee/full, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"bb" = ( +/obj/structure/closet/crate/bin, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"bc" = ( +/obj/machinery/porta_turret/industrial/military, +/turf/simulated/floor/reinforced/airless{ + name = "outer hull" + }, +/area/mothership/bridge) +"bd" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/hydroponics) +"be" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/hydroponics) +"bf" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/voidcraft, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/hydroponics) +"bg" = ( +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/voidcraft, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/hydroponics) +"bh" = ( +/obj/structure/sign/department/bar, +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/kitchen) +"bi" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/kitchen) +"bj" = ( +/obj/machinery/door/window/northleft, +/obj/machinery/door/window/southleft, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/spline/fancy/wood{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/kitchen) +"bk" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/kitchen) +"bl" = ( +/obj/machinery/biogenerator, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bm" = ( +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/material/minihoe, +/obj/item/weapon/material/minihoe, +/obj/item/weapon/material/knife, +/obj/item/weapon/material/knife, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bn" = ( +/obj/machinery/portable_atmospherics/hydroponics, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bo" = ( +/obj/machinery/portable_atmospherics/hydroponics, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bp" = ( +/obj/machinery/portable_atmospherics/hydroponics, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bq" = ( +/obj/structure/sink/kitchen, +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/hydroponics) +"br" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bs" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1; + icon_state = "map" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bv" = ( +/obj/structure/sink/kitchen, +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/kitchen) +"bw" = ( +/obj/machinery/chem_master/condimaster, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"bx" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/microwave, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"by" = ( +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"bz" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/reagent_containers/food/condiment/small/peppermill{ + pixel_x = 3 + }, +/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{ + pixel_x = -3; + pixel_y = 0 + }, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"bA" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/book/manual/chef_recipes, +/obj/item/weapon/reagent_containers/food/condiment/enzyme{ + layer = 5 + }, +/obj/item/weapon/reagent_containers/food/condiment/enzyme{ + layer = 5 + }, +/obj/item/weapon/material/knife/butch, +/obj/item/weapon/material/kitchen/rollingpin, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"bB" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/reagentgrinder, +/obj/item/weapon/storage/box/beakers, +/obj/machinery/button/remote/blast_door{ + id = "ship-kitchen"; + name = "Blast Doors Controls"; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"bC" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 1; + icon_state = "pdoor0"; + id = "ship-hydroponics"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/hydroponics) +"bD" = ( +/obj/machinery/seed_storage/xenobotany{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bE" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bF" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bG" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bH" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/hydroponics) +"bI" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bJ" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bK" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bM" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/kitchen) +"bN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"bO" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"bP" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"bQ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 1; + icon_state = "pdoor0"; + id = "ship-kitchen"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/kitchen) +"bR" = ( +/obj/machinery/vending/hydronutrients{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bS" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bU" = ( +/obj/machinery/door/airlock/multi_tile/metal{ + dir = 2 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/hydroponics) +"bV" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bW" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bX" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"bY" = ( +/obj/machinery/door/airlock/multi_tile/metal{ + dir = 2 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/kitchen) +"bZ" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"ca" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"cb" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"cc" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"cd" = ( +/obj/machinery/seed_extractor, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"ce" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/light, +/obj/machinery/alarm{ + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/obj/machinery/button/remote/blast_door{ + id = "ship-hydroponics"; + name = "Blast Doors Controls"; + pixel_x = 20; + pixel_y = -28 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"cf" = ( +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23; + pixel_y = 0 + }, +/obj/structure/closet/crate/bin, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"cg" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"ch" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"ci" = ( +/obj/machinery/light, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/hydroponics) +"cj" = ( +/obj/machinery/smartfridge, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/kitchen) +"ck" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"cl" = ( +/obj/machinery/cooker/cereal, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"cm" = ( +/obj/machinery/cooker/fryer, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"cn" = ( +/obj/machinery/cooker/oven, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"co" = ( +/obj/machinery/cooker/grill, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"cp" = ( +/obj/machinery/cooker/candy, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/kitchen) +"cq" = ( +/turf/simulated/floor/reinforced/airless{ + name = "outer hull" + }, +/area/mothership/bridge) +"cr" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/eva) +"cs" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/eva) +"cw" = ( +/obj/item/clothing/suit/space/void/security/alt, +/obj/item/clothing/head/helmet/space/void/security/alt, +/obj/item/weapon/tank/oxygen, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/mask/breath, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/tank/jetpack/oxygen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cx" = ( +/obj/item/clothing/suit/space/void/atmos, +/obj/item/clothing/head/helmet/space/void/atmos, +/obj/item/weapon/tank/oxygen/red, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/mask/breath, +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/tank/jetpack/oxygen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cy" = ( +/obj/item/clothing/suit/space/void/medical/alt, +/obj/item/clothing/head/helmet/space/void/medical/emt, +/obj/item/weapon/tank/oxygen, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/mask/breath, +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/tank/jetpack/oxygen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cz" = ( +/obj/machinery/suit_cycler, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cA" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/device/multitool, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cB" = ( +/obj/structure/table/steel_reinforced, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cC" = ( +/obj/machinery/status_display{ + pixel_y = 29 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cE" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cF" = ( +/obj/machinery/status_display{ + pixel_y = 29 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cG" = ( +/obj/structure/table/steel_reinforced, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/item/device/radio/off, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cH" = ( +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_7_outer"; + req_one_access = list(101) + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1380; + master_tag = "ws_dock_7"; + name = "exterior access button"; + pixel_x = -5; + pixel_y = 26; + req_one_access = list(101) + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/eva) +"cI" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 4; + frequency = 1380; + id_tag = "ws_dock_7_pump" + }, +/obj/machinery/light/small, +/obj/machinery/airlock_sensor{ + frequency = 1380; + id_tag = "ws_dock_7_sensor"; + pixel_x = 0; + pixel_y = -25 + }, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "ws_dock_7"; + pixel_y = 32; + req_one_access = list(101); + tag_airpump = "ws_dock_7_pump"; + tag_chamber_sensor = "ws_dock_7_sensor"; + tag_exterior_door = "ws_dock_7_outer"; + tag_interior_door = "ws_dock_7_inner" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/eva) +"cJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_7_inner"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/eva) +"cK" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1380; + master_tag = "ws_dock_7"; + name = "interior access button"; + pixel_x = -28; + pixel_y = -26; + req_one_access = list(101) + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cM" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cN" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/voidcraft/vertical, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/eva) +"cO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cP" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold4w/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cQ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cR" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cS" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1380; + master_tag = "ws_dock_2"; + name = "interior access button"; + pixel_x = 28; + pixel_y = -26; + req_one_access = list(101) + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cT" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + frequency = 1380; + id_tag = "ws_dock_2_pump" + }, +/obj/machinery/light/small, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "ws_dock_2"; + pixel_y = 32; + req_one_access = list(101); + tag_airpump = "ws_dock_2_pump"; + tag_chamber_sensor = "ws_dock_2_sensor"; + tag_exterior_door = "ws_dock_2_outer"; + tag_interior_door = "ws_dock_2_inner" + }, +/obj/machinery/airlock_sensor{ + frequency = 1380; + id_tag = "ws_dock_2_sensor"; + pixel_x = 0; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/eva) +"cU" = ( +/obj/item/clothing/suit/space/void/security/alt, +/obj/item/clothing/head/helmet/space/void/security/alt, +/obj/item/weapon/tank/oxygen, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/mask/breath, +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/tank/jetpack/oxygen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cV" = ( +/obj/item/clothing/suit/space/void/engineering/salvage, +/obj/item/clothing/head/helmet/space/void/engineering/salvage, +/obj/item/weapon/tank/oxygen/red, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/mask/breath, +/obj/machinery/light, +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/tank/jetpack/oxygen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cW" = ( +/obj/item/clothing/suit/space/void/exploration, +/obj/item/clothing/head/helmet/space/void/exploration, +/obj/item/weapon/tank/oxygen, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/mask/breath, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/tank/jetpack/oxygen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cX" = ( +/obj/structure/dispenser/oxygen{ + oxygentanks = 40 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cY" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"cZ" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/weapon/storage/briefcase/inflatable, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"da" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"db" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"dc" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"dd" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/eva) +"de" = ( +/obj/structure/sign/department/eva, +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/eva) +"df" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/bathroom1) +"dg" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/bathroom1) +"dh" = ( +/obj/structure/sink{ + pixel_y = 32 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/bathroom1) +"di" = ( +/obj/machinery/door/airlock/voidcraft/vertical{ + glass = 0; + opacity = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bathroom1) +"dj" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dk" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dl" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dm" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dn" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"do" = ( +/obj/machinery/door/airlock/voidcraft/vertical{ + glass = 0; + opacity = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bathroom2) +"dp" = ( +/obj/structure/sink{ + pixel_y = 32 + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/bathroom2) +"dq" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/bathroom2) +"dr" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/bathroom2) +"ds" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/bathroom1) +"dt" = ( +/obj/machinery/shower{ + dir = 4; + icon_state = "shower"; + pixel_x = 2; + pixel_y = 0 + }, +/obj/machinery/door/window/survival_pod, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/structure/curtain/open/shower, +/turf/simulated/floor/tiled/white, +/area/mothership/bathroom1) +"du" = ( +/obj/machinery/alarm{ + alarm_id = "pen_nine"; + breach_detection = 0; + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/bathroom1) +"dv" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/bathroom1) +"dw" = ( +/obj/machinery/status_display{ + pixel_x = -32; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dx" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/porta_turret/industrial/teleport_defense{ + auto_repair = 1; + check_access = 0; + check_weapons = 1; + name = "anti-boarding turret"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dy" = ( +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dz" = ( +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dA" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dB" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dD" = ( +/obj/machinery/alarm{ + alarm_id = "pen_nine"; + breach_detection = 0; + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dE" = ( +/obj/machinery/status_display{ + pixel_x = 32; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dF" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/bathroom2) +"dG" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/bathroom2) +"dH" = ( +/obj/machinery/alarm{ + alarm_id = "pen_nine"; + breach_detection = 0; + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/bathroom2) +"dI" = ( +/obj/machinery/door/window/survival_pod{ + dir = 8 + }, +/obj/machinery/shower{ + dir = 8; + icon_state = "shower"; + pixel_x = 2; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/obj/structure/curtain/open/shower, +/turf/simulated/floor/tiled/white, +/area/mothership/bathroom2) +"dJ" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/surgery) +"dK" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 4; + icon_state = "pdoor0"; + id = "ship-med-surgery"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/surgery) +"dL" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm1) +"dM" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm1) +"dN" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dO" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/teleporter) +"dP" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/teleporter) +"dQ" = ( +/obj/machinery/door/airlock/multi_tile/metal, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/teleporter) +"dR" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/teleporter) +"dS" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dT" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"dU" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm2) +"dV" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/security) +"dW" = ( +/obj/structure/closet/crate/medical, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu13, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"dX" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"dY" = ( +/obj/structure/closet/secure_closet/medical2, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"dZ" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/floor/wood, +/area/mothership/dorm1) +"ea" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/machinery/status_display{ + pixel_y = 29 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm1) +"eb" = ( +/obj/structure/closet/wardrobe/ert, +/obj/item/weapon/storage/box/survival/comp{ + starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/toolbox/emergency, +/turf/simulated/floor/wood, +/area/mothership/dorm1) +"ec" = ( +/obj/machinery/button/remote/blast_door{ + id = "ship-vault"; + name = "Vault Blast Door Controls"; + pixel_y = 28; + req_one_access = list(108) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"ed" = ( +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"ee" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"ef" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eg" = ( +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eh" = ( +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/shield_capacitor/advanced{ + anchored = 1 + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"ei" = ( +/obj/structure/closet/wardrobe/ert, +/obj/item/weapon/storage/box/survival/comp{ + starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/toolbox/emergency, +/turf/simulated/floor/wood, +/area/mothership/dorm2) +"ej" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/machinery/status_display{ + pixel_y = 29 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm2) +"ek" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/floor/wood, +/area/mothership/dorm2) +"el" = ( +/obj/structure/table/rack/shelf/steel, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"em" = ( +/obj/machinery/vending/security, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"en" = ( +/obj/item/clothing/head/helmet/solgov, +/obj/item/clothing/head/helmet/solgov, +/obj/item/clothing/head/helmet/solgov, +/obj/item/clothing/head/helmet/solgov, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"eo" = ( +/obj/structure/closet/crate/medical, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/stack/nanopaste/advanced, +/obj/item/device/mmi/digital/posibrain, +/obj/item/device/mmi, +/obj/item/weapon/book/manual/robotics_cyborgs, +/obj/item/device/robotanalyzer, +/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/weapon/reagent_containers/spray/cleaner{ + desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; + name = "Surgery Cleaner"; + pixel_x = 2; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"ep" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/button/remote/blast_door{ + id = "ship-med-surgery"; + name = "Blast Doors Controls"; + pixel_y = -28 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"eq" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"er" = ( +/obj/item/weapon/bedsheet/captaindouble, +/obj/structure/bed/double/padded, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/machinery/button/remote/airlock{ + id = "ship-dorm1-door"; + name = "Dorm 1 Lock"; + pixel_x = 6; + pixel_y = -26; + specialfunctions = 4 + }, +/obj/structure/curtain/open/bed, +/turf/simulated/floor/wood, +/area/mothership/dorm1) +"es" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/machinery/alarm{ + alarm_id = "pen_nine"; + breach_detection = 0; + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/light/small, +/turf/simulated/floor/wood, +/area/mothership/dorm1) +"et" = ( +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm1) +"eu" = ( +/obj/machinery/door/airlock/voidcraft/vertical{ + glass = 0; + id_tag = "ship-dorm1-door"; + opacity = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/dorm1) +"ev" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"ew" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"ex" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"ey" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"ez" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eA" = ( +/obj/structure/cable/cyan, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/shield_gen/external/advanced{ + anchored = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eB" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"eC" = ( +/obj/machinery/door/airlock/voidcraft/vertical{ + glass = 0; + id_tag = "ship-dorm2-door"; + opacity = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/dorm2) +"eD" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm2) +"eE" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/machinery/light/small, +/obj/machinery/alarm{ + alarm_id = "pen_nine"; + breach_detection = 0; + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm2) +"eF" = ( +/obj/item/weapon/bedsheet/captaindouble, +/obj/structure/bed/double/padded, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/obj/machinery/button/remote/airlock{ + id = "ship-dorm2-door"; + name = "Dorm 2 Lock"; + pixel_x = -6; + pixel_y = -26; + specialfunctions = 4 + }, +/obj/structure/curtain/open/bed, +/turf/simulated/floor/wood, +/area/mothership/dorm2) +"eG" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/storage/box/flashbangs{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23; + pixel_y = 0 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/item/clothing/accessory/storage/pouches/large/blue, +/obj/item/clothing/accessory/storage/pouches/large/blue, +/obj/item/clothing/accessory/storage/pouches/large/blue, +/obj/item/clothing/accessory/storage/pouches/large/blue, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"eH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"eI" = ( +/obj/item/clothing/suit/armor/pcarrier/blue/sol, +/obj/item/clothing/suit/armor/pcarrier/blue/sol, +/obj/item/clothing/suit/armor/pcarrier/blue/sol, +/obj/item/clothing/suit/armor/pcarrier/blue/sol, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"eJ" = ( +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/surgery) +"eK" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/chemistry) +"eL" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/chemistry) +"eM" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/alarm{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"eN" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/teleport/hub, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eO" = ( +/obj/machinery/teleport/station, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eP" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eQ" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Warship"; + tele_network = "centcom" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eR" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/obj/machinery/alarm{ + alarm_id = "pen_nine"; + breach_detection = 0; + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eS" = ( +/obj/structure/cable/cyan, +/obj/machinery/shield_capacitor/advanced{ + anchored = 1; + dir = 1 + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"eT" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/security) +"eU" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/security, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/security) +"eV" = ( +/obj/machinery/oxygen_pump/anesthetic, +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/surgery) +"eW" = ( +/obj/structure/medical_stand, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"eX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"eY" = ( +/obj/machinery/chemical_dispenser/full, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"eZ" = ( +/obj/machinery/chem_master, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"fa" = ( +/obj/machinery/chemical_dispenser/ert, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"fb" = ( +/obj/structure/closet/hydrant{ + pixel_x = -32 + }, +/obj/item/clothing/suit/fire/firefighter, +/obj/item/clothing/mask/gas, +/obj/item/device/flashlight, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/weapon/extinguisher, +/obj/item/weapon/extinguisher, +/obj/item/clothing/head/hardhat/red, +/obj/item/weapon/storage/toolbox/emergency, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"fc" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"fd" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/vault) +"fe" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"ff" = ( +/obj/structure/closet/hydrant{ + pixel_x = 32 + }, +/obj/item/clothing/suit/fire/firefighter, +/obj/item/clothing/mask/gas, +/obj/item/device/flashlight, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/weapon/extinguisher, +/obj/item/weapon/extinguisher, +/obj/item/clothing/head/hardhat/red, +/obj/item/weapon/storage/toolbox/emergency, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"fg" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/storage/lockbox, +/obj/item/clothing/mask/gas{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/gas{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/mask/gas{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/glasses/hud/security, +/obj/item/clothing/glasses/hud/security, +/obj/item/clothing/glasses/hud/security, +/obj/item/clothing/glasses/hud/security, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fh" = ( +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_vest, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/obj/item/clothing/accessory/storage/black_drop_pouches, +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fi" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fj" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/table/bench/steel, +/obj/effect/landmark{ + name = "Commando" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fk" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/table/bench/steel, +/obj/effect/landmark{ + name = "Commando" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fm" = ( +/obj/item/device/holowarrant, +/obj/structure/closet/secure_closet/nanotrasen_security, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fo" = ( +/obj/machinery/optable, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"fp" = ( +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"fq" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"fr" = ( +/obj/structure/table/steel_reinforced, +/obj/fiftyspawner/phoron, +/obj/machinery/reagentgrinder, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"fs" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"ft" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/weapon/reagent_containers/dropper, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"fu" = ( +/obj/structure/sign/department/chem, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/chemistry) +"fv" = ( +/obj/structure/closet/crate/secure/gear{ + req_one_access = list(108) + }, +/obj/item/stack/telecrystal{ + amount = 240 + }, +/obj/item/stack/telecrystal{ + amount = 240 + }, +/obj/item/stack/telecrystal{ + amount = 240 + }, +/obj/item/stack/telecrystal{ + amount = 240 + }, +/obj/item/stack/telecrystal{ + amount = 240 + }, +/obj/item/stack/telecrystal{ + amount = 240 + }, +/obj/item/stack/telecrystal{ + amount = 240 + }, +/obj/item/stack/telecrystal{ + amount = 240 + }, +/obj/item/weapon/card/mining_point_card{ + mine_points = 50000 + }, +/obj/item/weapon/card/mining_point_card{ + mine_points = 50000 + }, +/obj/item/weapon/card/mining_point_card{ + mine_points = 50000 + }, +/obj/item/weapon/card/mining_point_card{ + mine_points = 50000 + }, +/obj/item/weapon/card/mining_point_card{ + mine_points = 50000 + }, +/obj/item/weapon/card/mining_point_card{ + mine_points = 50000 + }, +/obj/item/weapon/card/mining_point_card/survey{ + name = "survey point card"; + survey_points = 5000 + }, +/obj/item/weapon/card/mining_point_card/survey{ + name = "survey point card"; + survey_points = 5000 + }, +/obj/item/weapon/card/mining_point_card/survey{ + name = "survey point card"; + survey_points = 5000 + }, +/obj/item/weapon/card/mining_point_card/survey{ + name = "survey point card"; + survey_points = 5000 + }, +/obj/item/weapon/card/mining_point_card/survey{ + name = "survey point card"; + survey_points = 5000 + }, +/obj/item/weapon/card/mining_point_card/survey{ + name = "survey point card"; + survey_points = 5000 + }, +/obj/item/device/survivalcapsule/military, +/obj/item/device/survivalcapsule/military, +/obj/item/weapon/storage/secure/briefcase/money{ + desc = "An sleek tidy briefcase."; + name = "secure briefcase" + }, +/obj/item/weapon/storage/secure/briefcase/money{ + desc = "An sleek tidy briefcase."; + name = "secure briefcase" + }, +/obj/item/weapon/storage/secure/briefcase/money{ + desc = "An sleek tidy briefcase."; + name = "secure briefcase" + }, +/obj/item/weapon/storage/secure/briefcase/money{ + desc = "An sleek tidy briefcase."; + name = "secure briefcase" + }, +/obj/item/weapon/storage/secure/briefcase/money{ + desc = "An sleek tidy briefcase."; + name = "secure briefcase" + }, +/obj/item/weapon/storage/secure/briefcase/money{ + desc = "An sleek tidy briefcase."; + name = "secure briefcase" + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"fw" = ( +/obj/machinery/syndicate_beacon/virgo{ + charges = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"fx" = ( +/obj/machinery/mineral/equipment_vendor, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"fy" = ( +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/smes/buildable/hybrid{ + charge = 1e+007; + cur_coils = 4; + input_attempt = 1; + input_level = 1e+006; + output_level = 2e+006; + RCon = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"fz" = ( +/obj/structure/prop/alien/computer/hybrid{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"fA" = ( +/obj/structure/closet/crate/secure/weapon{ + req_one_access = list(108) + }, +/obj/item/clothing/suit/space/void/merc/fire, +/obj/item/clothing/head/helmet/space/void/merc/fire, +/obj/item/clothing/suit/space/void/merc, +/obj/item/clothing/head/helmet/space/void/merc, +/obj/item/clothing/suit/space/void/merc, +/obj/item/clothing/head/helmet/space/void/merc, +/obj/item/clothing/suit/space/void/merc/odst, +/obj/item/clothing/head/helmet/space/void/merc/odst, +/obj/item/clothing/suit/space/void/security/fluff/hos, +/obj/item/clothing/head/helmet/space/void/security/fluff/hos, +/obj/item/weapon/tank/oxygen/yellow, +/obj/item/weapon/tank/vox, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"fB" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/alarm{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"fC" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fE" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/table/bench/steel, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/landmark{ + name = "Commando" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fF" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/table/bench/steel, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/landmark{ + name = "Commando" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fG" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fH" = ( +/obj/item/device/holowarrant, +/obj/structure/closet/secure_closet/nanotrasen_security, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fJ" = ( +/obj/machinery/computer/operating{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"fK" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"fL" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 12; + pixel_y = 8 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"fM" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/table/steel_reinforced, +/obj/machinery/chemical_dispenser/biochemistry/full, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"fN" = ( +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"fO" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"fP" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/door/window/westleft, +/obj/machinery/door/window/eastright, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/chemistry) +"fQ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"fR" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/vault/bolted{ + id_tag = "ship-vault-door"; + req_one_access = list(109) + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/regular{ + destroy_hits = 100; + id = "ship-vault"; + name = "Vault" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/vault) +"fS" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"fT" = ( +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"fU" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"fV" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"fW" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/storage/box/evidence, +/obj/item/weapon/storage/box/handcuffs{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fX" = ( +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fY" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"fZ" = ( +/obj/structure/table/bench/steel, +/obj/effect/landmark{ + name = "Commando" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"ga" = ( +/obj/item/device/holowarrant, +/obj/structure/closet/secure_closet/nanotrasen_security, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"gb" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/firstaid/surgery, +/obj/item/weapon/reagent_containers/spray/cleaner{ + desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; + name = "Surgery Cleaner"; + pixel_x = 2; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"gc" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/box/gloves, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"gd" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/mothership/surgery) +"ge" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/box/pillbottles, +/obj/item/weapon/storage/box/pillbottles, +/obj/item/weapon/storage/box/beakers, +/obj/item/weapon/storage/box/syringes, +/obj/item/weapon/storage/box/syringes, +/obj/item/weapon/tool/screwdriver, +/obj/item/weapon/storage/box/pillbottles, +/obj/item/weapon/storage/box/pillbottles, +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"gf" = ( +/obj/structure/closet/crate/bin, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"gg" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/chemistry) +"gh" = ( +/obj/structure/closet/crate/secure/weapon{ + req_one_access = list(108) + }, +/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, +/obj/item/ammo_casing/microbattery/medical/corpse_mend, +/obj/item/ammo_casing/microbattery/medical/corpse_mend, +/obj/item/slime_extract/pink, +/obj/item/slime_extract/pink, +/obj/item/slime_extract/pink, +/obj/item/slime_extract/pink, +/obj/item/slime_extract/pink, +/obj/item/slime_extract/pink, +/obj/item/weapon/cell/slime{ + description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; + icon = 'icons/obj/power.dmi'; + icon_state = "icell"; + maxcharge = 20000; + name = "slime core cell" + }, +/obj/item/weapon/cell/slime{ + description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; + icon = 'icons/obj/power.dmi'; + icon_state = "icell"; + maxcharge = 20000; + name = "slime core cell" + }, +/obj/item/weapon/cell/slime{ + description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; + icon = 'icons/obj/power.dmi'; + icon_state = "icell"; + maxcharge = 20000; + name = "slime core cell" + }, +/obj/item/weapon/cell/slime{ + description_info = "This 'cell' holds a max charge of 20k and self recharges over time."; + icon = 'icons/obj/power.dmi'; + icon_state = "icell"; + maxcharge = 20000; + name = "slime core cell" + }, +/obj/item/slime_extract/pink, +/obj/item/slime_extract/pink, +/obj/item/weapon/deadringer, +/obj/item/weapon/deadringer, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"gi" = ( +/obj/structure/closet/crate/secure/weapon{ + req_one_access = list(108) + }, +/obj/item/weapon/gun/energy/modular/cannon, +/obj/item/weapon/gun/energy/modular/carbine, +/obj/item/weapon/gun/energy/modular/pistol, +/obj/item/weapon/gun/energy/medigun, +/obj/item/weapon/gun/energy/captain, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"gj" = ( +/obj/machinery/mineral/equipment_vendor/survey, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"gk" = ( +/obj/machinery/power/fractal_reactor/fluff/converter, +/obj/structure/cable, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"gl" = ( +/obj/structure/closet/crate/secure/gear{ + req_one_access = list(108) + }, +/obj/item/rig_module/chem_dispenser/injector/advanced, +/obj/item/rig_module/vision/multi, +/obj/item/weapon/rig/military/equipped, +/obj/item/weapon/rig/pmc/commander, +/obj/item/weapon/rig/pmc/medical, +/obj/item/weapon/rig/pmc/engineer, +/obj/item/weapon/rig/pmc/security, +/obj/item/weapon/rig/pmc/security, +/obj/item/weapon/rig/light/ninja, +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"gm" = ( +/obj/structure/closet/crate/secure/gear{ + req_one_access = list(108) + }, +/obj/item/device/subspaceradio, +/obj/item/weapon/storage/firstaid/insiderepair, +/obj/item/weapon/storage/firstaid/combat, +/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy{ + name = "Super Heavy Demolitions kit" + }, +/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ + name = "Heavy Demolitions kit" + }, +/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ + name = "Heavy Demolitions kit" + }, +/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ + name = "Heavy Demolitions kit" + }, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/plastique, +/obj/item/weapon/storage/box/emps{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/weapon/cell/device/weapon/recharge/alien, +/obj/item/weapon/material/knife/machete/deluxe{ + default_material = "durasteel" + }, +/obj/item/clothing/accessory/holster/machete, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/vault) +"gn" = ( +/obj/structure/closet/secure_closet/explorer, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"go" = ( +/obj/structure/closet/secure_closet/nanotrasen_commander, +/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hos, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"gp" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 1; + icon_state = "pdoor0"; + id = "ship-sec-equip"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/security) +"gq" = ( +/obj/structure/sign/department/operational, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/surgery) +"gr" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/surgery) +"gs" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/surgery) +"gt" = ( +/obj/machinery/smartfridge, +/turf/simulated/floor/plating, +/area/mothership/chemistry) +"gu" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/chemistry) +"gv" = ( +/obj/structure/sign/department/medbay, +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/chemistry) +"gw" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"gx" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/vault) +"gy" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"gz" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/landmark{ + name = "Commando" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"gA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/landmark{ + name = "Commando" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"gB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"gC" = ( +/obj/machinery/recharger, +/obj/structure/table/steel_reinforced, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"gD" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/cell_charger, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"gE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"gF" = ( +/obj/structure/closet/secure_closet/detective, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"gG" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/treatment) +"gH" = ( +/obj/machinery/vending/blood, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gI" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/button/remote/blast_door{ + id = "ship-med-treatment"; + name = "Blast Doors Controls"; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gJ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gK" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gL" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gM" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gN" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gO" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/treatment) +"gP" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"gQ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/porta_turret/industrial/teleport_defense{ + auto_repair = 1; + check_access = 0; + check_weapons = 1; + name = "anti-boarding turret"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"gR" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"gT" = ( +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/security) +"gU" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 1; + icon_state = "pdoor0"; + id = "ship-med-treatment"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/treatment) +"gV" = ( +/obj/structure/closet/crate/freezer, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gW" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gX" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"gZ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"ha" = ( +/obj/machinery/door/airlock/multi_tile/metal{ + dir = 2; + req_one_access = list(5) + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/treatment) +"hb" = ( +/obj/machinery/status_display{ + pixel_y = -29 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"hc" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"hd" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1; + icon_state = "map" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"he" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"hf" = ( +/obj/machinery/status_display{ + pixel_y = -29 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"hg" = ( +/obj/machinery/door/airlock/multi_tile/metal{ + dir = 2; + req_one_access = list(1) + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/security) +"hh" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"hi" = ( +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/closet/secure_closet/pathfinder, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"hj" = ( +/obj/structure/closet/bombcloset/double, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/light, +/obj/machinery/recharger/wallcharger{ + pixel_x = 3; + pixel_y = -29 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"hk" = ( +/obj/structure/closet/wardrobe/red, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/recharger/wallcharger{ + pixel_x = 3; + pixel_y = -29 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"hl" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"hm" = ( +/obj/structure/table/steel_reinforced, +/obj/item/device/retail_scanner/security, +/obj/item/device/retail_scanner/security, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 0; + pixel_y = -30 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"hn" = ( +/obj/structure/table/steel_reinforced, +/obj/item/clothing/accessory/badge/holo/cord, +/obj/item/clothing/accessory/badge/holo/cord, +/obj/item/clothing/accessory/badge/holo/cord, +/obj/item/clothing/accessory/badge/holo/cord, +/obj/item/clothing/accessory/badge/holo, +/obj/item/clothing/accessory/badge/holo, +/obj/item/clothing/accessory/badge/holo, +/obj/item/clothing/accessory/badge/holo, +/obj/machinery/button/remote/blast_door{ + id = "ship-sec-equip"; + name = "Blast Doors Controls"; + pixel_y = -28 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/security) +"ho" = ( +/obj/structure/filingcabinet/chestdrawer{ + name = "Scan Records" + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hp" = ( +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hr" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hs" = ( +/obj/machinery/body_scanconsole, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"ht" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hu" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm3) +"hv" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm3) +"hw" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm4) +"hx" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm4) +"hy" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/sechallway) +"hz" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/sechallway) +"hA" = ( +/obj/machinery/door/airlock/security, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/sechallway) +"hB" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/processing) +"hC" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/processing) +"hD" = ( +/obj/machinery/door/airlock/security, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/processing) +"hE" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/recharger, +/obj/item/weapon/tool/screwdriver, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hF" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hG" = ( +/obj/machinery/atmospherics/unary/cryo_cell, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hH" = ( +/obj/item/weapon/bedsheet/captaindouble, +/obj/structure/bed/double/padded, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/machinery/button/remote/airlock{ + id = "ship-dorm3-door"; + name = "Dorm 3 Lock"; + pixel_x = 6; + pixel_y = 26; + specialfunctions = 4 + }, +/obj/structure/curtain/open/bed, +/turf/simulated/floor/wood, +/area/mothership/dorm3) +"hI" = ( +/obj/structure/bed/chair/office/dark, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm3) +"hJ" = ( +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm3) +"hK" = ( +/obj/machinery/door/airlock/voidcraft/vertical{ + glass = 0; + id_tag = "ship-dorm3-door"; + opacity = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/dorm3) +"hL" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"hM" = ( +/obj/machinery/door/airlock/voidcraft/vertical{ + glass = 0; + id_tag = "ship-dorm4-door"; + opacity = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/dorm4) +"hN" = ( +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm4) +"hO" = ( +/obj/structure/bed/chair/office/dark, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm4) +"hP" = ( +/obj/item/weapon/bedsheet/captaindouble, +/obj/structure/bed/double/padded, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/obj/machinery/button/remote/airlock{ + id = "ship-dorm4-door"; + name = "Dorm 4 Lock"; + pixel_x = -6; + pixel_y = 26; + specialfunctions = 4 + }, +/obj/structure/curtain/open/bed, +/turf/simulated/floor/wood, +/area/mothership/dorm4) +"hQ" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"hR" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"hS" = ( +/obj/structure/closet/crate/bin, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"hT" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/folder/red{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/weapon/folder/red, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"hU" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"hV" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/box/evidence, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"hW" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"hX" = ( +/obj/structure/table/steel_reinforced, +/obj/item/device/defib_kit/compact/combat/loaded, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hY" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"hZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"ia" = ( +/obj/machinery/sleep_console{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"ib" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"ic" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"id" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"ie" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/floor/wood, +/area/mothership/dorm3) +"if" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/machinery/status_display{ + pixel_y = -29 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm3) +"ig" = ( +/obj/structure/closet/wardrobe/ert, +/obj/item/weapon/storage/box/survival/comp{ + starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/toolbox/emergency, +/turf/simulated/floor/wood, +/area/mothership/dorm3) +"ih" = ( +/obj/structure/closet/wardrobe/ert, +/obj/item/weapon/storage/box/survival/comp{ + starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/toolbox/emergency, +/turf/simulated/floor/wood, +/area/mothership/dorm4) +"ii" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/machinery/status_display{ + pixel_y = -29 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm4) +"ij" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/floor/wood, +/area/mothership/dorm4) +"ik" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"il" = ( +/obj/structure/sign/department/interrogation, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/processing) +"im" = ( +/obj/structure/table/steel_reinforced, +/obj/item/device/camera, +/obj/item/device/retail_scanner/security, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"in" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"io" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"ip" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iq" = ( +/obj/structure/closet/crate/bin, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"ir" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"is" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"it" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"iu" = ( +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 12; + pixel_y = 8 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/treatment) +"iv" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/morgue) +"iw" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/engineering) +"ix" = ( +/obj/machinery/door_timer/cell_1{ + id = "Cell M1"; + pixel_x = -32 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"iy" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"iz" = ( +/obj/machinery/door/airlock/security, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/processing) +"iA" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iC" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iD" = ( +/obj/structure/table/steel_reinforced, +/obj/item/device/flashlight/lamp, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iE" = ( +/obj/machinery/alarm{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iF" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/treatment) +"iG" = ( +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/treatment) +"iH" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/treatment) +"iI" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/box/bodybags, +/obj/item/weapon/storage/box/bodybags{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/morgue) +"iJ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/morgue) +"iK" = ( +/obj/structure/morgue{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/morgue) +"iL" = ( +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/corner/lightorange{ + icon_state = "corner_white"; + dir = 5 + }, +/obj/effect/floor_decal/borderfloor/shifted{ + icon_state = "borderfloor_shifted"; + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border/shifted{ + icon_state = "bordercolor_shifted"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/sechallway) +"iM" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet, +/obj/effect/floor_decal/corner/lightorange{ + icon_state = "corner_white"; + dir = 5 + }, +/obj/effect/floor_decal/borderfloor/shifted{ + icon_state = "borderfloor_shifted"; + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border/shifted{ + icon_state = "bordercolor_shifted"; + dir = 1 + }, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/sechallway) +"iN" = ( +/obj/structure/closet/secure_closet/brig{ + id = "Cell M1" + }, +/obj/effect/floor_decal/corner/lightorange{ + icon_state = "corner_white"; + dir = 5 + }, +/obj/effect/floor_decal/borderfloor/shifted{ + icon_state = "borderfloor_shifted"; + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange/border/shifted{ + icon_state = "bordercolor_shifted"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/sechallway) +"iO" = ( +/obj/machinery/door/firedoor/glass, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "ship-sec-cell1"; + name = "Security Blast Doors"; + opacity = 0 + }, +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/mothership/sechallway) +"iP" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"iQ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"iR" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + cell_type = /obj/item/weapon/cell/super; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iS" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iT" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iU" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"iV" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/resleeving) +"iW" = ( +/obj/machinery/computer/transhuman/resleeving{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"iX" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/computer/id_restorer{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"iY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"iZ" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"ja" = ( +/obj/machinery/atmospherics/unary/cryo_cell, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jb" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/item/weapon/reagent_containers/glass/bottle/biomass, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jc" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jd" = ( +/obj/machinery/vending/medical, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"je" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/morgue) +"jf" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + cell_type = /obj/item/weapon/cell/super; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/morgue) +"jg" = ( +/turf/simulated/floor/tiled/techfloor, +/area/mothership/morgue) +"jh" = ( +/obj/machinery/camera/network/ert{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"ji" = ( +/obj/machinery/door/firedoor/glass, +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/door/window/brigdoor/southleft{ + dir = 4; + id = "Cell M1"; + name = "Cell 1"; + req_access = list(2) + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "ship-sec-cell1"; + name = "Security Blast Doors"; + opacity = 0 + }, +/turf/simulated/floor/tiled/dark, +/area/mothership/sechallway) +"jj" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/alarm{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"jk" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"jl" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"jm" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/weapon/pen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"jn" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/processing) +"jp" = ( +/obj/machinery/computer/transhuman/designer{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jq" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jr" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"js" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"ju" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jv" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 4; + icon_state = "map" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jw" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jx" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/medical, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/morgue) +"jy" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/morgue) +"jz" = ( +/obj/structure/closet/walllocker{ + name = "Janitor Locker"; + pixel_x = 32 + }, +/obj/item/weapon/storage/box/lights/mixed, +/obj/item/weapon/storage/box/lights/mixed, +/obj/item/weapon/mop, +/obj/item/weapon/reagent_containers/glass/bucket, +/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/weapon/reagent_containers/spray/cleaner, +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/weapon/grenade/chem_grenade/cleaner, +/obj/item/weapon/soap/nanotrasen, +/obj/item/weapon/soap/deluxe, +/obj/item/weapon/soap, +/obj/item/weapon/rig/ert/janitor, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"jA" = ( +/obj/machinery/door_timer/cell_2{ + id = "Cell M2"; + pixel_x = -32 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"jB" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/structure/cable/cyan, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"jC" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/warden) +"jD" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/warden) +"jE" = ( +/obj/machinery/door/airlock/security, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/warden) +"jF" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "cruiser_port"; + name = "Vessel port" + }, +/turf/space, +/area/space) +"jG" = ( +/obj/machinery/vending/loadout/uniform, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jH" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jJ" = ( +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jK" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jL" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jM" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/morgue) +"jN" = ( +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/borderfloor/shifted{ + icon_state = "borderfloor_shifted"; + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange{ + icon_state = "corner_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/lightorange/border/shifted{ + icon_state = "bordercolor_shifted"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/sechallway) +"jO" = ( +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet, +/obj/effect/floor_decal/borderfloor/shifted{ + icon_state = "borderfloor_shifted"; + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange{ + icon_state = "corner_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/lightorange/border/shifted{ + icon_state = "bordercolor_shifted"; + dir = 1 + }, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/sechallway) +"jP" = ( +/obj/structure/closet/secure_closet/brig{ + id = "Cell M2" + }, +/obj/effect/floor_decal/borderfloor/shifted{ + icon_state = "borderfloor_shifted"; + dir = 1 + }, +/obj/effect/floor_decal/corner/lightorange{ + icon_state = "corner_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/lightorange/border/shifted{ + icon_state = "bordercolor_shifted"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/sechallway) +"jQ" = ( +/obj/machinery/door/firedoor/glass, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "ship-sec-cell2"; + name = "Security Blast Doors"; + opacity = 0 + }, +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/mothership/sechallway) +"jR" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"jS" = ( +/obj/machinery/photocopier, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"jT" = ( +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"jU" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"jV" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"jW" = ( +/obj/structure/closet/crate/bin, +/obj/machinery/button/remote/blast_door{ + dir = 4; + id = "ship-sec-cell1"; + name = "Cell 1 Blast Doors"; + pixel_x = 28; + pixel_y = 6; + req_one_access = list(2) + }, +/obj/machinery/button/remote/blast_door{ + dir = 4; + id = "ship-sec-cell2"; + name = "Cell 2 Blast Doors"; + pixel_x = 28; + pixel_y = -6; + req_one_access = list(2) + }, +/obj/machinery/button/remote/blast_door{ + id = "ship-sec-warden"; + name = "Blast Doors Controls"; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"jX" = ( +/obj/machinery/organ_printer/flesh, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jY" = ( +/obj/item/weapon/storage/firstaid/regular{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/bodybag/cryobag{ + pixel_x = 5 + }, +/obj/item/bodybag/cryobag{ + pixel_x = 5 + }, +/obj/item/weapon/storage/firstaid/o2{ + layer = 2.8; + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/weapon/storage/box/masks{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/weapon/storage/box/gloves{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/fire{ + layer = 2.9; + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/weapon/storage/firstaid/adv{ + pixel_x = -2 + }, +/obj/item/weapon/reagent_containers/blood/empty, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/structure/closet/medical_wall{ + pixel_y = -32 + }, +/obj/item/weapon/storage/box/body_record_disk, +/obj/item/weapon/storage/firstaid/insiderepair, +/obj/item/weapon/storage/firstaid/clotting, +/obj/item/weapon/storage/firstaid/bonemed, +/obj/item/weapon/storage/firstaid/adv{ + pixel_x = -2 + }, +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fitnessflask/glucose, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"jZ" = ( +/obj/machinery/transhuman/synthprinter, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"ka" = ( +/obj/machinery/clonepod/transhuman/full, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"kb" = ( +/obj/machinery/transhuman/resleever, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"kc" = ( +/obj/structure/closet/crate/bin, +/turf/simulated/floor/tiled/white, +/area/mothership/resleeving) +"kd" = ( +/obj/structure/sign/department/morgue, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/morgue) +"ke" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/morgue) +"kf" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/morgue) +"kg" = ( +/obj/machinery/door/firedoor/glass, +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/door/window/brigdoor/southleft{ + dir = 4; + id = "Cell M2"; + name = "Cell 2"; + req_access = list(2) + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "ship-sec-cell2"; + name = "Security Blast Doors"; + opacity = 0 + }, +/turf/simulated/floor/tiled/dark, +/area/mothership/sechallway) +"kh" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"ki" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"kj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"kk" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 1; + icon_state = "pdoor0"; + id = "ship-sec-warden"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/warden) +"kl" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/medical) +"km" = ( +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/medical) +"kn" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/medical) +"ko" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/sechallway) +"kp" = ( +/obj/machinery/door/airlock/security, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/warden) +"kq" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"kr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"ks" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"kt" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/stamp/ward, +/obj/item/weapon/stamp/denied{ + pixel_x = 5 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"ku" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"kv" = ( +/obj/machinery/vending/medical, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kw" = ( +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"ky" = ( +/obj/item/weapon/storage/firstaid/adv{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/storage/firstaid/adv, +/obj/structure/table/steel_reinforced, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kz" = ( +/obj/item/weapon/storage/firstaid/toxin{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/storage/firstaid/toxin, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kA" = ( +/obj/item/weapon/storage/firstaid/combat{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/storage/firstaid/combat, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kB" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 8; + icon_state = "map" + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kC" = ( +/obj/machinery/atmospherics/unary/freezer{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kD" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/floor/wood, +/area/mothership/dorm5) +"kE" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/machinery/status_display{ + pixel_y = 29 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm5) +"kF" = ( +/obj/structure/closet/wardrobe/ert, +/obj/item/weapon/storage/box/survival/comp{ + starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/toolbox/emergency, +/turf/simulated/floor/wood, +/area/mothership/dorm5) +"kG" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm5) +"kH" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm6) +"kI" = ( +/obj/structure/closet/wardrobe/ert, +/obj/item/weapon/storage/box/survival/comp{ + starts_with = list(/obj/item/weapon/tool/prybar/red,/obj/item/clothing/glasses/goggles,/obj/item/weapon/reagent_containers/hypospray/autoinjector,/obj/item/stack/medical/bruise_pack,/obj/item/device/flashlight/glowstick,/obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency/oxygen/engi) + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/toolbox/emergency, +/turf/simulated/floor/wood, +/area/mothership/dorm6) +"kJ" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/elite, +/obj/machinery/status_display{ + pixel_y = 29 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm6) +"kK" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/floor/wood, +/area/mothership/dorm6) +"kL" = ( +/obj/item/weapon/gun/projectile/shotgun/pump/combat{ + ammo_type = /obj/item/ammo_casing/a12g/beanbag; + desc = "Built for close quarters combat, the Hesphaistos Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. This one has 'Property of the Warden' inscribed on the stock."; + name = "warden's shotgun" + }, +/obj/item/weapon/book/manual/security_space_law, +/obj/structure/closet/secure_closet/nanotrasen_warden, +/obj/machinery/power/apc{ + alarms_hidden = 1; + cell_type = /obj/item/weapon/cell/super; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"kM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"kN" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/weapon/clipboard, +/obj/item/weapon/folder/red, +/obj/item/weapon/pen, +/obj/item/device/radio{ + pixel_x = -4 + }, +/obj/item/weapon/hand_labeler, +/obj/item/weapon/tool/wrench, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"kO" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 1; + icon_state = "pdoor0"; + id = "ship-med-equip"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/medical) +"kP" = ( +/obj/structure/closet/secure_closet/medical3, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kQ" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kS" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kT" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/oxygen/prechilled, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"kU" = ( +/obj/item/weapon/bedsheet/captaindouble, +/obj/structure/bed/double/padded, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/machinery/button/remote/airlock{ + id = "ship-dorm5-door"; + name = "Dorm 5 Lock"; + pixel_x = 6; + pixel_y = -26; + specialfunctions = 4 + }, +/obj/structure/curtain/open/bed, +/turf/simulated/floor/wood, +/area/mothership/dorm5) +"kV" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/light/small, +/turf/simulated/floor/wood, +/area/mothership/dorm5) +"kW" = ( +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm5) +"kX" = ( +/obj/machinery/door/airlock/voidcraft/vertical{ + glass = 0; + id_tag = "ship-dorm5-door"; + opacity = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/dorm5) +"kY" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"kZ" = ( +/obj/machinery/door/airlock/voidcraft/vertical{ + glass = 0; + id_tag = "ship-dorm6-door"; + opacity = 1 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/dorm6) +"la" = ( +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/wood, +/area/mothership/dorm6) +"lb" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/light/small, +/turf/simulated/floor/wood, +/area/mothership/dorm6) +"lc" = ( +/obj/item/weapon/bedsheet/captaindouble, +/obj/structure/bed/double/padded, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/obj/machinery/button/remote/airlock{ + id = "ship-dorm6-door"; + name = "Dorm 6 Lock"; + pixel_x = -6; + pixel_y = -26; + specialfunctions = 4 + }, +/obj/structure/curtain/open/bed, +/turf/simulated/floor/wood, +/area/mothership/dorm6) +"ld" = ( +/obj/structure/table/steel_reinforced, +/obj/item/device/retail_scanner/security, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"le" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"lf" = ( +/obj/machinery/computer/secure_data{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"lg" = ( +/obj/machinery/computer/prisoner{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/warden) +"lh" = ( +/obj/structure/closet/secure_closet/CMO, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"li" = ( +/obj/item/weapon/storage/firstaid/fire{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/storage/firstaid/fire, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lj" = ( +/obj/item/weapon/storage/firstaid/o2{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/storage/firstaid/o2, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lk" = ( +/obj/item/weapon/storage/firstaid/regular{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/storage/firstaid/regular, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"ll" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lm" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm5) +"ln" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/dorm6) +"lo" = ( +/obj/structure/sign/department/armory, +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/armory) +"lp" = ( +/obj/machinery/door/airlock/highsecurity{ + req_one_access = list(103) + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/armory) +"lq" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/armory) +"lr" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/armory) +"ls" = ( +/obj/machinery/door/airlock/highsecurity{ + req_one_access = list(103) + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/armory) +"lt" = ( +/obj/structure/closet/secure_closet/sar, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lu" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lv" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lx" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"ly" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/medical) +"lz" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"lA" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"lB" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/regular{ + destroy_hits = 100; + id = "ship-armory"; + name = "Armory" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/armory) +"lC" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lD" = ( +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/ammo_magazine/m9mm/large/preban, +/obj/item/weapon/gun/projectile/p92x, +/obj/item/weapon/gun/projectile/p92x, +/obj/item/weapon/gun/projectile/p92x, +/obj/item/weapon/gun/projectile/p92x, +/obj/structure/closet/secure_closet/guncabinet{ + req_one_access = list(103) + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lE" = ( +/obj/item/ammo_magazine/m9mm/compact, +/obj/item/ammo_magazine/m9mm/compact, +/obj/item/ammo_magazine/m9mm/compact, +/obj/item/ammo_magazine/m9mm/compact, +/obj/item/ammo_magazine/m9mm/compact, +/obj/item/ammo_magazine/m9mm/compact, +/obj/item/ammo_magazine/m9mm/compact/flash, +/obj/item/ammo_magazine/m9mm/compact/flash, +/obj/item/ammo_magazine/m9mm/compact/flash, +/obj/item/ammo_magazine/m9mm/compact/rubber, +/obj/item/ammo_magazine/m9mm/compact/rubber, +/obj/item/ammo_magazine/m9mm/compact/rubber, +/obj/item/ammo_magazine/m9mm/compact/practice, +/obj/item/ammo_magazine/m9mm/compact/practice, +/obj/item/ammo_magazine/m9mm/compact/practice, +/obj/item/weapon/gun/projectile/pistol, +/obj/item/weapon/gun/projectile/pistol, +/obj/item/weapon/gun/projectile/pistol, +/obj/structure/closet/secure_closet/guncabinet{ + req_one_access = list(103) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lF" = ( +/obj/item/weapon/gun/energy/frontier/locked/carbine, +/obj/item/weapon/gun/energy/frontier/locked/carbine, +/obj/item/weapon/gun/energy/frontier/locked/carbine, +/obj/item/weapon/gun/energy/frontier/locked/carbine, +/obj/item/weapon/gun/energy/frontier/locked/holdout, +/obj/item/weapon/gun/energy/frontier/locked/holdout, +/obj/item/weapon/gun/energy/frontier/locked/holdout, +/obj/item/weapon/gun/energy/frontier/locked/holdout, +/obj/structure/closet/secure_closet/guncabinet{ + req_one_access = list(103) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lG" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lH" = ( +/obj/machinery/vending/nifsoft_shop{ + categories = 111; + emagged = 1; + name = "Hacked NIFSoft Shop"; + prices = list() + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lI" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/cell_charger, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/obj/item/weapon/cell/hyper, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lJ" = ( +/obj/machinery/disposal, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lK" = ( +/obj/machinery/button/remote/blast_door{ + id = "ship-med-equip"; + name = "Blast Doors Controls"; + pixel_y = -28 + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lL" = ( +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/white_vest, +/obj/item/clothing/accessory/storage/white_drop_pouches, +/obj/item/clothing/accessory/storage/white_drop_pouches, +/obj/item/clothing/accessory/storage/white_drop_pouches, +/obj/item/clothing/accessory/storage/white_drop_pouches, +/obj/item/weapon/storage/backpack/dufflebag/syndie/med, +/obj/item/weapon/storage/backpack/dufflebag/syndie/med, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lM" = ( +/obj/item/device/healthanalyzer/advanced, +/obj/item/device/healthanalyzer/advanced, +/obj/item/device/healthanalyzer/advanced, +/obj/item/device/healthanalyzer/advanced, +/obj/item/weapon/reagent_containers/hypospray, +/obj/item/weapon/reagent_containers/hypospray, +/obj/item/weapon/reagent_containers/hypospray, +/obj/item/weapon/reagent_containers/hypospray, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lN" = ( +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/weapon/storage/belt/medical/emt, +/obj/item/device/defib_kit/compact/combat/loaded, +/obj/item/device/defib_kit/compact/combat/loaded, +/obj/structure/table/rack/shelf/steel, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lO" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/mothership/medical) +"lP" = ( +/obj/machinery/door/airlock/multi_tile/metal{ + dir = 2 + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/medical) +"lQ" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/porta_turret/industrial/teleport_defense{ + auto_repair = 1; + check_access = 0; + check_weapons = 1; + name = "anti-boarding turret"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"lR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"lS" = ( +/obj/machinery/door/airlock/multi_tile/metal/mait{ + dir = 2; + req_one_access = list(103) + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + destroy_hits = 100; + id = "ship-armory"; + name = "Armory" + }, +/obj/machinery/button/remote/blast_door{ + id = "ship-armory"; + name = "Blast Doors Controls"; + pixel_x = 0; + pixel_y = -28 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/armory) +"lT" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lU" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lW" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lX" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/tool/crowbar, +/obj/item/weapon/tool/screwdriver, +/obj/item/weapon/tool/wrench, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"lY" = ( +/obj/machinery/door/airlock/research, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/medical) +"lZ" = ( +/obj/machinery/door/airlock/research, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/medical) +"ma" = ( +/obj/structure/sign/department/medbay, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/medical) +"mb" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/bridge) +"mc" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/bridge) +"md" = ( +/obj/item/weapon/storage/box/flashshells, +/obj/item/weapon/storage/box/flashshells, +/obj/item/weapon/storage/box/stunshells, +/obj/item/weapon/storage/box/stunshells, +/obj/item/weapon/storage/box/beanbags, +/obj/item/weapon/storage/box/beanbags, +/obj/item/weapon/storage/box/empshells/large, +/obj/item/weapon/storage/box/empshells/large, +/obj/item/weapon/storage/box/shotgunammo/large, +/obj/item/weapon/storage/box/shotgunammo/large, +/obj/item/weapon/storage/box/shotgunammo/large, +/obj/item/weapon/storage/box/shotgunammo/large, +/obj/item/weapon/storage/box/shotgunshells/large, +/obj/item/weapon/storage/box/shotgunshells/large, +/obj/item/weapon/storage/box/shotgunshells/large, +/obj/item/weapon/storage/box/shotgunshells/large, +/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/item/weapon/gun/projectile/shotgun/pump/combat, +/obj/structure/closet/secure_closet/guncabinet{ + req_one_access = list(103) + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"me" = ( +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/energy/sword, +/obj/item/weapon/melee/energy/sword, +/obj/item/weapon/melee/energy/sword, +/obj/item/weapon/melee/energy/sword, +/obj/item/weapon/melee/energy/sword, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/shield/energy, +/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/weapon/material/knife/tacknife/survival, +/obj/item/weapon/material/knife/machete, +/obj/item/weapon/material/knife/machete, +/obj/item/weapon/material/knife/machete, +/obj/item/clothing/accessory/holster/machete, +/obj/item/clothing/accessory/holster/machete, +/obj/item/clothing/accessory/holster/machete, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mf" = ( +/obj/structure/closet/crate/secure/weapon{ + req_one_access = list(108) + }, +/obj/item/weapon/storage/box/frags, +/obj/item/weapon/storage/box/frags, +/obj/item/weapon/storage/box/teargas, +/obj/item/weapon/storage/box/teargas, +/obj/item/weapon/storage/box/empslite, +/obj/item/weapon/storage/box/empslite, +/obj/item/weapon/storage/box/smokes, +/obj/item/weapon/storage/box/smokes, +/obj/item/weapon/storage/box/flashbangs, +/obj/item/weapon/storage/box/flashbangs, +/obj/item/weapon/gun/launcher/grenade, +/obj/item/weapon/gun/launcher/grenade, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mg" = ( +/obj/item/rig_module/grenade_launcher/smoke, +/obj/item/rig_module/cleaner_launcher, +/obj/item/rig_module/grenade_launcher, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mh" = ( +/obj/item/rig_module/vision/multi, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mi" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/rnd) +"mj" = ( +/obj/machinery/r_n_d/destructive_analyzer, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mk" = ( +/obj/machinery/computer/rdconsole/core, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"ml" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mm" = ( +/obj/machinery/pros_fabricator, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mn" = ( +/obj/machinery/autolathe{ + desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; + hacked = 1; + name = "Centcom Autolathe" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mo" = ( +/obj/machinery/mecha_part_fabricator, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mp" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mq" = ( +/obj/machinery/status_display{ + pixel_y = 29 + }, +/obj/machinery/computer/card/centcom, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"mr" = ( +/obj/machinery/pointdefense_control{ + id_tag = "warship_pd" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"ms" = ( +/obj/machinery/computer/ship/helm, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"mt" = ( +/obj/structure/sign/department/armory, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/armory) +"mu" = ( +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545/ap, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/ammo_magazine/m545, +/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/item/weapon/gun/projectile/automatic/sts35, +/obj/structure/closet/secure_closet/guncabinet{ + req_one_access = list(103) + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mv" = ( +/obj/item/clothing/suit/armor/vest/ert/command, +/obj/item/clothing/head/helmet/ert/command, +/obj/item/weapon/storage/backpack/ert/commander, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mw" = ( +/obj/structure/closet/crate/secure/weapon{ + req_one_access = list(108) + }, +/obj/item/weapon/rig/ert/assetprotection, +/obj/item/weapon/rig/ert/assetprotection, +/obj/item/clothing/glasses/thermal, +/obj/item/clothing/glasses/thermal, +/obj/item/clothing/suit/armor/pcarrier/merc, +/obj/item/clothing/suit/armor/pcarrier/merc, +/obj/item/clothing/head/helmet/merc, +/obj/item/clothing/head/helmet/merc, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/obj/item/weapon/storage/box/syndie_kit/combat_armor, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mx" = ( +/obj/item/rig_module/mounted, +/obj/item/rig_module/mounted, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"my" = ( +/obj/structure/table/rack/steel, +/obj/machinery/door/window/survival_pod{ + dir = 8; + req_one_access = list(103) + }, +/obj/structure/window/reinforced/survival_pod{ + dir = 1 + }, +/obj/item/weapon/rig/ert, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mz" = ( +/obj/structure/reagent_dispensers/acid{ + density = 0; + pixel_x = -30; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mA" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mC" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mD" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/door/window/westleft, +/obj/machinery/door/window/eastright, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/rnd) +"mE" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"mG" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"mH" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"mI" = ( +/obj/item/ammo_magazine/m9mmp90, +/obj/item/ammo_magazine/m9mmp90, +/obj/item/ammo_magazine/m9mmp90, +/obj/item/ammo_magazine/m9mmp90, +/obj/item/ammo_magazine/m9mmp90, +/obj/item/ammo_magazine/m9mmp90, +/obj/item/ammo_magazine/m9mmp90, +/obj/item/ammo_magazine/m9mmp90, +/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/weapon/gun/projectile/automatic/p90, +/obj/item/ammo_magazine/m9mmt/flash, +/obj/item/ammo_magazine/m9mmt/flash, +/obj/item/ammo_magazine/m9mmt/flash, +/obj/item/ammo_magazine/m9mmt/flash, +/obj/item/ammo_magazine/m9mmt/rubber, +/obj/item/ammo_magazine/m9mmt/rubber, +/obj/item/ammo_magazine/m9mmt/rubber, +/obj/item/ammo_magazine/m9mmt/rubber, +/obj/structure/closet/secure_closet/guncabinet{ + req_one_access = list(103) + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mJ" = ( +/obj/item/clothing/suit/armor/vest/ert/security, +/obj/item/clothing/suit/armor/vest/ert/security, +/obj/item/clothing/suit/armor/vest/ert/security, +/obj/item/clothing/head/helmet/ert/security, +/obj/item/clothing/head/helmet/ert/security, +/obj/item/clothing/head/helmet/ert/security, +/obj/item/weapon/storage/backpack/ert/security, +/obj/item/weapon/storage/backpack/ert/security, +/obj/item/weapon/storage/backpack/ert/security, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mK" = ( +/obj/structure/closet/crate/secure/weapon{ + req_one_access = list(108) + }, +/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/weapon/gun/projectile/automatic/l6_saw, +/obj/item/ammo_magazine/m545saw, +/obj/item/ammo_magazine/m545saw, +/obj/item/ammo_magazine/m545saw, +/obj/item/ammo_magazine/m545saw, +/obj/item/ammo_magazine/m545saw/ap, +/obj/item/ammo_magazine/m545saw/ap, +/obj/item/ammo_magazine/m545saw/ap, +/obj/item/ammo_magazine/m545saw/ap, +/obj/item/ammo_magazine/m545saw/ap, +/obj/item/ammo_magazine/m545saw/ap, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mL" = ( +/obj/item/rig_module/mounted/egun, +/obj/item/rig_module/mounted/egun, +/obj/item/rig_module/mounted/egun, +/obj/item/rig_module/mounted/egun, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mM" = ( +/obj/structure/table/rack/steel, +/obj/machinery/door/window/survival_pod{ + dir = 8; + req_one_access = list(103) + }, +/obj/item/weapon/rig/ert/security, +/obj/item/weapon/rig/ert/security, +/obj/item/weapon/rig/ert/security, +/obj/item/weapon/rig/ert/security, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"mO" = ( +/obj/machinery/r_n_d/circuit_imprinter, +/obj/item/weapon/reagent_containers/glass/beaker/sulphuric, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mP" = ( +/obj/machinery/r_n_d/protolathe, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mQ" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/cell_charger, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mR" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/recharger, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mS" = ( +/obj/structure/closet{ + name = "materials" + }, +/obj/fiftyspawner/diamond, +/obj/fiftyspawner/gold, +/obj/fiftyspawner/phoron, +/obj/fiftyspawner/plasteel, +/obj/fiftyspawner/plastic, +/obj/fiftyspawner/osmium, +/obj/fiftyspawner/silver, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/steel, +/obj/fiftyspawner/uranium, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/durasteel, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"mT" = ( +/obj/structure/sign/department/rnd, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/rnd) +"mU" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable/cyan, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"mV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"mW" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"mX" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"mY" = ( +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"mZ" = ( +/obj/item/weapon/gun/energy/laser, +/obj/item/weapon/gun/energy/laser, +/obj/item/weapon/gun/energy/laser, +/obj/item/weapon/gun/energy/laser, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/structure/closet/secure_closet/guncabinet{ + req_one_access = list(103) + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"na" = ( +/obj/item/clothing/suit/armor/vest/ert/engineer, +/obj/item/clothing/suit/armor/vest/ert/engineer, +/obj/item/clothing/head/helmet/ert/engineer, +/obj/item/clothing/head/helmet/ert/engineer, +/obj/item/weapon/storage/backpack/ert/engineer, +/obj/item/weapon/storage/backpack/ert/engineer, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nb" = ( +/obj/structure/closet/crate/secure/weapon{ + req_one_access = list(108) + }, +/obj/item/weapon/gun/energy/pulse_rifle, +/obj/item/weapon/gun/energy/pulse_rifle, +/obj/item/weapon/gun/energy/pulse_rifle, +/obj/item/weapon/gun/energy/pulse_rifle, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/gun/energy/protector, +/obj/item/weapon/gun/energy/protector, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nc" = ( +/obj/item/rig_module/device/anomaly_scanner, +/obj/item/rig_module/device/anomaly_scanner, +/obj/item/rig_module/device/rcd, +/obj/item/rig_module/device/rcd, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nd" = ( +/obj/structure/table/rack/steel, +/obj/machinery/door/window/survival_pod{ + dir = 8; + req_one_access = list(103) + }, +/obj/item/weapon/rig/ert/engineer, +/obj/item/weapon/rig/ert/engineer, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nf" = ( +/obj/machinery/vending/robotics, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"ng" = ( +/obj/machinery/vending/cart, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nh" = ( +/obj/structure/closet/secure_closet/RD, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"ni" = ( +/obj/structure/closet/secure_closet/scientist, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nj" = ( +/obj/structure/closet{ + name = "mechanical equipment" + }, +/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/weapon/storage/toolbox/syndicate/powertools, +/obj/item/clothing/head/welding{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/clothing/head/welding{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/clothing/glasses/welding, +/obj/item/clothing/glasses/welding, +/obj/item/weapon/storage/belt/utility, +/obj/item/device/multitool{ + pixel_x = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/device/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/device/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/device/flash/synthetic, +/obj/item/device/flash/synthetic, +/obj/item/device/flash/synthetic, +/obj/item/device/flash/synthetic, +/obj/item/device/healthanalyzer, +/obj/item/device/healthanalyzer, +/obj/item/weapon/storage/firstaid/regular{ + empty = 1; + name = "First-Aid (empty)" + }, +/obj/item/weapon/storage/firstaid/regular{ + empty = 1; + name = "First-Aid (empty)" + }, +/obj/item/weapon/cell/high{ + charge = 100; + maxcharge = 15000; + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/weapon/cell/high{ + charge = 100; + maxcharge = 15000; + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/weapon/cell/high{ + charge = 100; + maxcharge = 15000; + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/weapon/cell/high{ + charge = 100; + maxcharge = 15000; + pixel_x = 5; + pixel_y = -5 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nk" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/rnd) +"nl" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"nm" = ( +/obj/machinery/door/airlock/command{ + req_one_access = list(101) + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/bridge) +"nn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"no" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"np" = ( +/obj/item/modular_computer/console/preset/ert{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"nq" = ( +/obj/item/modular_computer/console/preset/ert{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"nr" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"ns" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"nt" = ( +/obj/machinery/door/airlock/command{ + req_one_access = list(101) + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/bridge) +"nu" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"nv" = ( +/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/weapon/gun/energy/gun/nuclear, +/obj/item/weapon/gun/energy/gun/nuclear, +/obj/structure/closet/secure_closet/guncabinet{ + req_one_access = list(103) + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nw" = ( +/obj/item/clothing/suit/armor/vest/ert/medical, +/obj/item/clothing/suit/armor/vest/ert/medical, +/obj/item/clothing/head/helmet/ert/medical, +/obj/item/clothing/head/helmet/ert/medical, +/obj/item/weapon/storage/backpack/ert/medical, +/obj/item/weapon/storage/backpack/ert/medical, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nx" = ( +/obj/structure/closet/crate/secure/weapon{ + req_one_access = list(108) + }, +/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/weapon/gun/projectile/automatic/z8, +/obj/item/weapon/gun/projectile/heavysniper, +/obj/item/weapon/storage/box/sniperammo, +/obj/item/weapon/storage/box/sniperammo, +/obj/item/ammo_magazine/m762, +/obj/item/ammo_magazine/m762, +/obj/item/ammo_magazine/m762, +/obj/item/ammo_magazine/m762, +/obj/item/ammo_magazine/m762/ap, +/obj/item/ammo_magazine/m762/ap, +/obj/item/ammo_magazine/m762/ap, +/obj/item/ammo_magazine/m762/ap, +/obj/item/ammo_magazine/m762/ap, +/obj/item/ammo_magazine/m762/ap, +/obj/item/weapon/storage/box/sniperammo, +/obj/item/weapon/storage/box/sniperammo, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"ny" = ( +/obj/item/rig_module/device/healthscanner, +/obj/item/rig_module/device/healthscanner, +/obj/item/rig_module/sprinter, +/obj/item/rig_module/sprinter, +/obj/item/rig_module/sprinter, +/obj/item/rig_module/sprinter, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nz" = ( +/obj/structure/table/rack/steel, +/obj/machinery/door/window/survival_pod{ + dir = 8; + req_one_access = list(103) + }, +/obj/structure/window/reinforced/survival_pod, +/obj/item/weapon/rig/ert/medical, +/obj/item/weapon/rig/ert/medical, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nA" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nB" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nD" = ( +/obj/machinery/door/airlock/research, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/rnd) +"nE" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"nF" = ( +/obj/structure/sign/department/bridge, +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/bridge) +"nG" = ( +/obj/machinery/computer/communications{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"nH" = ( +/obj/machinery/computer/message_monitor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"nI" = ( +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/item/weapon/cell/device/weapon, +/obj/structure/closet/secure_closet/guncabinet{ + req_one_access = list(103) + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nJ" = ( +/obj/item/clothing/glasses/graviton, +/obj/item/clothing/glasses/graviton, +/obj/item/clothing/glasses/graviton, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/item/clothing/glasses/night, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/weapon/storage/belt/security/tactical, +/obj/item/clothing/mask/gas/explorer, +/obj/item/clothing/mask/gas/explorer, +/obj/item/clothing/mask/gas/explorer, +/obj/item/clothing/mask/gas/explorer, +/obj/item/clothing/mask/gas/explorer, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nK" = ( +/obj/structure/closet/crate/secure/weapon{ + req_one_access = list(108) + }, +/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid, +/obj/item/weapon/storage/secure/briefcase/nsfw_pack_hybrid_combat, +/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/weapon/gun/energy/ionrifle/pistol, +/obj/item/weapon/gun/energy/ionrifle, +/obj/item/weapon/gun/energy/ionrifle, +/obj/item/weapon/gun/energy/netgun, +/obj/item/weapon/gun/energy/xray, +/obj/item/weapon/gun/energy/xray, +/obj/item/weapon/gun/energy/gun/burst, +/obj/item/weapon/gun/energy/gun/burst, +/obj/item/weapon/gun/energy/sniperrifle, +/obj/item/weapon/gun/energy/sniperrifle, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nL" = ( +/obj/item/rig_module/rescue_pharm, +/obj/item/rig_module/rescue_pharm, +/obj/item/rig_module/chem_dispenser/injector, +/obj/item/rig_module/chem_dispenser/injector, +/obj/item/rig_module/chem_dispenser/combat, +/obj/item/rig_module/chem_dispenser/combat, +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nM" = ( +/obj/item/rig_module/device/drill, +/obj/item/rig_module/device/drill, +/obj/item/rig_module/device/plasmacutter, +/obj/item/rig_module/device/plasmacutter, +/obj/item/rig_module/device/orescanner, +/obj/item/rig_module/device/orescanner, +/obj/structure/table/rack/shelf/steel, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nN" = ( +/obj/structure/closet/crate/bin, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nO" = ( +/obj/item/device/defib_kit/jumper_kit, +/obj/structure/table/steel_reinforced, +/obj/item/device/robotanalyzer, +/obj/machinery/light, +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nP" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nQ" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nR" = ( +/obj/structure/closet/wardrobe/science_white, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nS" = ( +/obj/structure/closet/wardrobe/robotics_black, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/rnd) +"nT" = ( +/obj/machinery/computer/supplycomp{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"nU" = ( +/obj/machinery/computer/robotics{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"nV" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"nW" = ( +/obj/machinery/door/airlock/highsecurity{ + req_one_access = list(103) + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/armory) +"nX" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nY" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"nZ" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"oa" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"ob" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"oc" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 0; + pixel_y = -30 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"od" = ( +/obj/machinery/vending/security, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/armory) +"oe" = ( +/obj/machinery/door/blast/regular{ + dir = 4; + id = "ship-mechbay"; + name = "Mech Bay" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/rnd) +"of" = ( +/obj/machinery/door/blast/regular{ + dir = 4; + id = "ship-mechbay"; + name = "Mech Bay" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/rnd) +"og" = ( +/obj/machinery/door/blast/regular{ + dir = 4; + id = "ship-mechbay"; + name = "Mech Bay" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/button/remote/blast_door{ + id = "ship-mechbay"; + name = "Mech Bay Controls"; + pixel_x = 28 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/rnd) +"oh" = ( +/obj/structure/fireaxecabinet{ + pixel_y = -32 + }, +/obj/machinery/turretid/stun{ + check_access = 0; + check_weapons = 1; + control_area = /area/mothership/hallway; + name = "anti-boarding turret controls"; + pixel_x = -32; + req_access = list(101) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"oi" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/obj/structure/bed/chair/bay/shuttle{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"oj" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/bed/chair/bay/shuttle{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"ok" = ( +/obj/machinery/button/remote/airlock{ + id = "ship-vault-door"; + name = "Vault Lock"; + pixel_x = -6; + pixel_y = -26; + req_one_access = list(108); + specialfunctions = 4 + }, +/obj/machinery/turretid/lethal{ + ailock = 1; + check_synth = 0; + check_weapons = 1; + control_area = /area/mothership/bridge; + name = "defense turret controls"; + pixel_x = 32; + req_access = list(101) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"ol" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/holodeck) +"om" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/robotics) +"on" = ( +/obj/structure/closet/toolcloset, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oo" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"op" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oq" = ( +/obj/machinery/mech_recharger, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/floor/bluegrid, +/area/mothership/robotics) +"or" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/floor/bluegrid, +/area/mothership/robotics) +"os" = ( +/obj/machinery/mech_recharger, +/obj/structure/ghost_pod/manual/lost_drone/dogborg, +/turf/simulated/floor/bluegrid, +/area/mothership/robotics) +"ot" = ( +/obj/structure/ghost_pod/manual/lost_drone/dogborg, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"ou" = ( +/obj/machinery/door/blast/regular{ + id = "ship-mechbay-inner"; + name = "Mech Bay" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/button/remote/blast_door{ + id = "ship-mechbay-inner"; + name = "Mech Bay Controls"; + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/robotics) +"ov" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"ow" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/holodeck) +"ox" = ( +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23; + pixel_y = 0 + }, +/obj/structure/closet/crate/bin, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/holodeck) +"oy" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 4 + }, +/obj/machinery/status_display{ + pixel_y = 32 + }, +/obj/machinery/computer/HolodeckControl/holodorm/warship, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/holodeck) +"oz" = ( +/turf/simulated/floor/reinforced{ + name = "Holodeck Projector Floor" + }, +/area/mothership/holodeck/holo) +"oA" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + density = 0; + destroy_hits = 1000; + dir = 1; + icon_state = "pdoor0"; + id = "ship-holodeck"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/plating, +/area/mothership/holodeck) +"oB" = ( +/obj/structure/closet/excavation, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oC" = ( +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oE" = ( +/turf/simulated/floor/bluegrid, +/area/mothership/robotics) +"oF" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oG" = ( +/obj/machinery/door/blast/regular{ + id = "ship-mechbay-inner"; + name = "Mech Bay" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/robotics) +"oH" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 8; + icon_state = "map" + }, +/obj/machinery/porta_turret/industrial/teleport_defense{ + auto_repair = 1; + check_access = 0; + check_weapons = 1; + name = "anti-boarding turret"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"oI" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 4; + icon_state = "map" + }, +/obj/machinery/porta_turret/industrial/teleport_defense{ + auto_repair = 1; + check_access = 0; + check_weapons = 1; + name = "anti-boarding turret"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"oJ" = ( +/obj/machinery/button/remote/airlock{ + id = "ship-holodeck-door"; + name = "Holodeck Lock"; + pixel_x = -26; + pixel_y = -6; + specialfunctions = 4 + }, +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "ship-holodeck"; + name = "Blast Door Controls"; + pixel_x = -28; + pixel_y = 6 + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/holodeck) +"oK" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/holodeck) +"oL" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oM" = ( +/obj/machinery/cryopod/robot, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oN" = ( +/obj/machinery/computer/cryopod/robot{ + dir = 1; + pixel_y = -28 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oO" = ( +/obj/machinery/mech_recharger, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/turf/simulated/floor/bluegrid, +/area/mothership/robotics) +"oP" = ( +/obj/machinery/light, +/turf/simulated/floor/bluegrid, +/area/mothership/robotics) +"oQ" = ( +/obj/machinery/mech_recharger, +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/turf/simulated/floor/bluegrid, +/area/mothership/robotics) +"oR" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28 + }, +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/robotics) +"oS" = ( +/obj/machinery/door/blast/regular{ + id = "ship-mechbay-inner"; + name = "Mech Bay" + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/robotics) +"oT" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"oU" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"oV" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"oW" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"oX" = ( +/obj/machinery/vending/fitness{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"oY" = ( +/obj/machinery/vending/coffee{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"oZ" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/obj/machinery/alarm{ + alarm_id = "pen_nine"; + breach_detection = 0; + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"pa" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"pb" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/voidcraft/vertical{ + id_tag = "ship-holodeck-door"; + opacity = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/holodeck) +"pc" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/holodeck) +"pd" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -24 + }, +/obj/structure/closet/secure_closet/personal, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/item/weapon/storage/box/survival/space, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/holodeck) +"pe" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/telecomms1) +"pk" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/cryotube) +"pq" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/telecomms2) +"pr" = ( +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_6_outer"; + req_one_access = list(101) + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1380; + master_tag = "ws_dock_6"; + name = "exterior access button"; + pixel_x = -5; + pixel_y = -26; + req_one_access = list(101) + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/telecomms1) +"ps" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 4; + frequency = 1380; + id_tag = "ws_dock_6_pump" + }, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/obj/machinery/airlock_sensor{ + frequency = 1380; + id_tag = "ws_dock_6_sensor"; + pixel_x = 0; + pixel_y = 25 + }, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "ws_dock_6"; + pixel_y = -32; + req_one_access = list(101); + tag_airpump = "ws_dock_6_pump"; + tag_chamber_sensor = "ws_dock_6_sensor"; + tag_exterior_door = "ws_dock_6_outer"; + tag_interior_door = "ws_dock_6_inner" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/telecomms1) +"pt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_6_inner"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/telecomms1) +"pu" = ( +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1380; + master_tag = "ws_dock_6"; + name = "interior access button"; + pixel_x = -28; + pixel_y = 26; + req_one_access = list(101) + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms1) +"pv" = ( +/obj/machinery/telecomms/receiver/preset_cent, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms1) +"px" = ( +/obj/machinery/telecomms/broadcaster/preset_cent, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms1) +"py" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, +/obj/structure/cable/cyan{ + d1 = 0; + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms1) +"pz" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms1) +"pA" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms1) +"pB" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/highsecurity{ + req_one_access = list(101) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/telecomms1) +"pC" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 4; + icon_state = "map" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"pD" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/cryotube) +"pE" = ( +/obj/machinery/vending/loadout/accessory, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"pF" = ( +/obj/machinery/vending/loadout/clothing, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"pG" = ( +/obj/machinery/vending/loadout/overwear, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"pH" = ( +/obj/machinery/vending/loadout/uniform, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"pI" = ( +/obj/machinery/vending/loadout/costume, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"pJ" = ( +/obj/machinery/vending/loadout/loadout_misc, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"pK" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/highsecurity{ + req_one_access = list(101) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/telecomms2) +"pL" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms2) +"pM" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms2) +"pN" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms2) +"pO" = ( +/obj/machinery/telecomms/server/presets/centcomm, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms2) +"pP" = ( +/obj/machinery/account_database{ + name = "CentComm Accounts database" + }, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms2) +"pQ" = ( +/obj/machinery/ntnet_relay, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms2) +"pR" = ( +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1380; + master_tag = "ws_dock_3"; + name = "interior access button"; + pixel_x = 28; + pixel_y = 26; + req_one_access = list(101) + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms2) +"pS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_3_inner"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/telecomms2) +"pT" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + frequency = 1380; + id_tag = "ws_dock_3_pump" + }, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/obj/machinery/airlock_sensor{ + frequency = 1380; + id_tag = "ws_dock_3_sensor"; + pixel_x = 0; + pixel_y = 25 + }, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "ws_dock_3"; + pixel_y = -32; + req_one_access = list(101); + tag_airpump = "ws_dock_3_pump"; + tag_chamber_sensor = "ws_dock_3_sensor"; + tag_exterior_door = "ws_dock_3_outer"; + tag_interior_door = "ws_dock_3_inner" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/telecomms2) +"pU" = ( +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_3_outer"; + req_one_access = list(101) + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1380; + master_tag = "ws_dock_3"; + name = "exterior access button"; + pixel_x = 5; + pixel_y = -26; + req_one_access = list(101) + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/telecomms2) +"pV" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/telecomms1) +"pW" = ( +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23; + pixel_y = 0 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms1) +"pX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms1) +"pY" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms1) +"pZ" = ( +/obj/machinery/telecomms/hub/preset_cent, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms1) +"qb" = ( +/obj/structure/sign/department/telecoms, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/telecomms1) +"qc" = ( +/obj/structure/closet/crate/bin, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"qd" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"qe" = ( +/obj/machinery/door/airlock/voidcraft/vertical, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/cryotube) +"qf" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"qg" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"qh" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"qi" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"qj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"qk" = ( +/obj/machinery/door/airlock/voidcraft/vertical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/cryotube) +"ql" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"qm" = ( +/obj/structure/sign/department/telecoms, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/telecomms2) +"qn" = ( +/obj/machinery/computer/rdservercontrol{ + badmin = 1; + dir = 1; + name = "Master RnD Server Controller" + }, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms2) +"qo" = ( +/obj/machinery/r_n_d/server/centcom, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms2) +"qp" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms2) +"qq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms2) +"qr" = ( +/obj/machinery/alarm{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms2) +"qs" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + hard_corner = 1; + icon_state = "void-hc"; + name = "small craft wall hc"; + stripe_color = "#45b3d8" + }, +/area/mothership/telecomms2) +"qt" = ( +/obj/machinery/telecomms/bus/preset_cent, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms1) +"qu" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive, +/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay, +/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay, +/obj/structure/closet/walllocker{ + name = "Equipment Locker"; + pixel_x = -32 + }, +/obj/item/mecha_parts/mecha_equipment/crisis_drone/rad, +/obj/item/mecha_parts/mecha_equipment/crisis_drone/rad, +/obj/item/mecha_parts/mecha_equipment/repair_droid, +/obj/item/mecha_parts/mecha_equipment/repair_droid, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"qv" = ( +/obj/machinery/telecomms/processor/preset_cent, +/turf/simulated/floor/greengrid, +/area/mothership/telecomms1) +"qw" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 10 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 4 + }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/obj/mecha/combat/fighter/gunpod/loaded, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"qB" = ( +/obj/structure/sign/department/eng, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/engineering) +"qC" = ( +/obj/machinery/door/airlock/engineeringatmos, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/engineering) +"qD" = ( +/obj/structure/undies_wardrobe, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"qE" = ( +/obj/effect/floor_decal/techfloor{ + dir = 9 + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/cryotube) +"qF" = ( +/obj/effect/floor_decal/techfloor{ + dir = 1 + }, +/obj/machinery/washing_machine, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/cryotube) +"qG" = ( +/obj/effect/floor_decal/techfloor{ + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/cryotube) +"qH" = ( +/obj/machinery/vending/loadout/gadget, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"qI" = ( +/obj/machinery/door/airlock/engineeringatmos, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/engineering) +"qJ" = ( +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/engineering) +"qN" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon, +/obj/item/mecha_parts/mecha_equipment/crisis_drone, +/obj/item/mecha_parts/mecha_equipment/crisis_drone, +/obj/structure/closet/walllocker{ + name = "Equipment Locker"; + pixel_x = 32 + }, +/obj/item/mecha_parts/mecha_equipment/crisis_drone/rad, +/obj/item/mecha_parts/mecha_equipment/crisis_drone/rad, +/obj/item/mecha_parts/mecha_equipment/repair_droid, +/obj/item/mecha_parts/mecha_equipment/repair_droid, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"qR" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"qT" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"qU" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/machinery/power/thermoregulator, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"qV" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"qW" = ( +/obj/machinery/atmospherics/pipe/manifold/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"qX" = ( +/obj/machinery/gear_painter, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"qY" = ( +/obj/effect/floor_decal/techfloor{ + dir = 8 + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/cryotube) +"qZ" = ( +/obj/machinery/cryopod, +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/cryotube) +"ra" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/cryotube) +"rb" = ( +/obj/machinery/computer/cryopod{ + pixel_y = -32 + }, +/obj/effect/floor_decal/techfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/cryotube) +"rc" = ( +/obj/machinery/vending/loadout, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/cryotube) +"rd" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/obj/machinery/atmospherics/pipe/simple/visible/supply, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/alarm{ + dir = 4; + pixel_x = -23; + pixel_y = 0 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"re" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/recharger, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rf" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/computer/skills, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rg" = ( +/obj/structure/closet/crate/bin, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rh" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/obj/mecha/combat/fighter/gunpod/loaded, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"ri" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "cruiser_starboard"; + name = "Vessel starboard" + }, +/turf/space, +/area/space) +"rj" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"rk" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ + dir = 1 + }, +/obj/structure/closet/emcloset/legacy, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/box/survival/space, +/obj/item/weapon/storage/box/syndie_kit/space, +/obj/item/weapon/storage/box/syndie_kit/space, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rl" = ( +/obj/machinery/atmospherics/binary/passive_gate{ + dir = 4; + icon_state = "on"; + unlocked = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rm" = ( +/obj/machinery/atmospherics/pipe/simple/visible/universal, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rn" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/obj/machinery/atmospherics/pipe/simple/visible/supply, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"ro" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/carpet/oracarpet, +/area/mothership/engineering) +"rp" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/turf/simulated/floor/carpet/oracarpet, +/area/mothership/engineering) +"rq" = ( +/obj/machinery/computer/station_alert/all{ + dir = 8; + icon_state = "computer" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rr" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/explosive, +/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay, +/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay, +/obj/structure/closet/walllocker{ + name = "Equipment Locker"; + pixel_x = -32 + }, +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64, +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64, +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64, +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"rt" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/purple{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"ru" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan, +/obj/machinery/meter, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rv" = ( +/obj/machinery/atmospherics/binary/pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rw" = ( +/obj/machinery/atmospherics/pipe/simple/visible/universal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/red, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rx" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/portable_atmospherics/powered/pump/filled, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"ry" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/space_heater, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rz" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/pipedispenser/disposal/orderable, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rA" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/pipedispenser/orderable, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rB" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rC" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/closet/secure_closet/engineering_personal, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rD" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/structure/closet/secure_closet/engineering_personal, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rE" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rF" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/weapon/pen/multi, +/obj/item/weapon/folder/yellow_ce, +/turf/simulated/floor/carpet/oracarpet, +/area/mothership/engineering) +"rG" = ( +/turf/simulated/floor/carpet/oracarpet, +/area/mothership/engineering) +"rH" = ( +/obj/item/modular_computer/console/preset/mercenary{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rK" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/empty/nitrogen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rL" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + icon_state = "intact"; + dir = 8 + }, +/obj/machinery/atmospherics/binary/pump/high_power/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rM" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rN" = ( +/obj/machinery/atmospherics/omni/atmos_filter{ + tag_east = 2; + tag_north = 1; + tag_south = 3; + tag_west = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rO" = ( +/obj/machinery/atmospherics/tvalve/digital/mirrored{ + dir = 8; + name = "Filter Bypass" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rP" = ( +/obj/machinery/atmospherics/trinary/atmos_filter{ + dir = 4; + filter_type = 0; + filtered_out = list("phoron") + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rQ" = ( +/obj/machinery/atmospherics/trinary/atmos_filter{ + dir = 4; + filter_type = 3; + filtered_out = list("carbon_dioxide") + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rR" = ( +/obj/machinery/atmospherics/trinary/atmos_filter{ + dir = 4; + filter_type = 4; + filtered_out = list("sleeping_agent") + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rS" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rT" = ( +/obj/machinery/atmospherics/pipe/simple/visible/red{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rU" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/red{ + icon_state = "map"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rV" = ( +/obj/machinery/atmospherics/pipe/simple/visible/universal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/supply, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rW" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rX" = ( +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rY" = ( +/obj/structure/closet/secure_closet/engineering_chief, +/obj/item/weapon/rcd, +/obj/item/weapon/rcd_ammo, +/obj/item/weapon/rcd_ammo, +/obj/item/weapon/rcd_ammo, +/obj/item/weapon/rcd_ammo, +/obj/item/weapon/rcd_ammo, +/obj/item/weapon/rcd_ammo, +/obj/item/weapon/rcd_ammo, +/obj/item/weapon/rcd_ammo, +/obj/item/weapon/rig/ce/equipped, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"rZ" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 10 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 4 + }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/obj/mecha/combat/fighter/gunpod/loaded, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"sb" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sc" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sd" = ( +/obj/machinery/atmospherics/trinary/mixer{ + dir = 8; + node1_concentration = 0.21; + node2_concentration = 0.79 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"se" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/yellow, +/obj/machinery/meter, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sf" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 5 + }, +/obj/machinery/portable_atmospherics/canister/empty/oxygen, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sg" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/empty/phoron, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sh" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/empty/carbon_dioxide, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"si" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/empty/sleeping_agent, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sj" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/black{ + icon_state = "map"; + dir = 4 + }, +/obj/machinery/meter, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sk" = ( +/obj/machinery/atmospherics/unary/freezer{ + dir = 1; + icon_state = "freezer"; + use_power = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sl" = ( +/obj/machinery/atmospherics/unary/heater{ + dir = 1; + icon_state = "heater"; + use_power = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sm" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sn" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/closet/secure_closet/engineering_welding, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"so" = ( +/obj/structure/closet/radiation, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sp" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sq" = ( +/obj/machinery/door/blast/regular{ + destroy_hits = 1000; + dir = 4; + id = "ship-dronehangar1"; + name = "Drone Hangar" + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/telecomms2) +"sr" = ( +/obj/structure/closet/hydrant{ + pixel_x = -32 + }, +/obj/item/clothing/suit/fire/firefighter, +/obj/item/clothing/mask/gas, +/obj/item/device/flashlight, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/weapon/extinguisher, +/obj/item/weapon/extinguisher, +/obj/item/clothing/head/hardhat/red, +/obj/item/weapon/storage/toolbox/emergency, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"ss" = ( +/obj/machinery/vending/assist{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"st" = ( +/obj/structure/particle_accelerator/end_cap{ + anchored = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/engineering) +"su" = ( +/obj/item/stack/material/glass{ + amount = 50 + }, +/obj/item/stack/material/glass{ + amount = 50 + }, +/obj/item/stack/material/glass{ + amount = 50 + }, +/obj/item/stack/material/glass{ + amount = 50 + }, +/obj/item/stack/material/steel{ + amount = 50; + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/stack/material/steel{ + amount = 50; + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/stack/material/steel{ + amount = 50; + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/stack/material/steel{ + amount = 50; + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/stack/material/plasteel{ + amount = 50 + }, +/obj/item/stack/material/plasteel{ + amount = 50 + }, +/obj/item/stack/material/plasteel{ + amount = 50 + }, +/obj/item/stack/material/plasteel{ + amount = 50 + }, +/obj/item/stack/material/glass/reinforced{ + amount = 50 + }, +/obj/item/stack/material/glass/reinforced{ + amount = 50 + }, +/obj/item/stack/material/glass/reinforced{ + amount = 50 + }, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/storage/briefcase/inflatable{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/rods, +/obj/item/stack/rods, +/obj/item/stack/material/glass/phoronglass, +/obj/item/stack/material/glass/phoronglass, +/obj/item/stack/rods, +/obj/item/stack/rods, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/structure/closet{ + name = "materials" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sv" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sw" = ( +/obj/machinery/vending/engivend{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sx" = ( +/obj/structure/closet/hydrant{ + pixel_x = 32 + }, +/obj/item/clothing/suit/fire/firefighter, +/obj/item/clothing/mask/gas, +/obj/item/device/flashlight, +/obj/item/weapon/tank/oxygen/red, +/obj/item/weapon/tank/emergency/oxygen/double, +/obj/item/weapon/extinguisher, +/obj/item/weapon/extinguisher, +/obj/item/clothing/head/hardhat/red, +/obj/item/weapon/storage/toolbox/emergency, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 4; + icon_state = "map" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sy" = ( +/obj/machinery/vending/engineering{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sz" = ( +/obj/structure/particle_accelerator/fuel_chamber{ + anchored = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/engineering) +"sA" = ( +/obj/structure/bed/pod, +/obj/item/weapon/bedsheet/ce, +/obj/structure/curtain/open/bed, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sB" = ( +/obj/machinery/atmospherics/binary/pump/on{ + dir = 2; + target_pressure = 200 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sC" = ( +/obj/machinery/vending/tool{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"sD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_5_inner"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/engineering) +"sE" = ( +/obj/structure/particle_accelerator/power_box{ + anchored = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/engineering) +"sF" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black, +/turf/simulated/shuttle/wall/voidcraft/blue{ + name = "small craft wall"; + stripe_color = "#45b3d8" + }, +/area/mothership/engineering) +"sG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_4_inner"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/engineering) +"sH" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1380; + id_tag = "ws_dock_5_pump" + }, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/machinery/airlock_sensor{ + frequency = 1380; + id_tag = "ws_dock_5_sensor"; + pixel_x = 25; + pixel_y = 0 + }, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "ws_dock_5"; + pixel_x = -32; + req_one_access = list(101); + tag_airpump = "ws_dock_5_pump"; + tag_chamber_sensor = "ws_dock_5_sensor"; + tag_exterior_door = "ws_dock_5_outer"; + tag_interior_door = "ws_dock_5_inner" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/engineering) +"sI" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/phoronreinforced{ + dir = 1 + }, +/turf/simulated/floor/reinforced/airless, +/area/mothership/engineering) +"sK" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1380; + id_tag = "ws_dock_4_pump" + }, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/obj/machinery/airlock_sensor{ + frequency = 1380; + id_tag = "ws_dock_4_sensor"; + pixel_x = -25; + pixel_y = 0 + }, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + frequency = 1380; + id_tag = "ws_dock_4"; + pixel_x = 32; + req_one_access = list(101); + tag_airpump = "ws_dock_4_pump"; + tag_chamber_sensor = "ws_dock_4_sensor"; + tag_exterior_door = "ws_dock_4_outer"; + tag_interior_door = "ws_dock_4_inner" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/engineering) +"sL" = ( +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_5_outer"; + req_one_access = list(101) + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1380; + master_tag = "ws_dock_5"; + name = "exterior access button"; + pixel_x = -26; + pixel_y = -5; + req_one_access = list(101) + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/engineering) +"sN" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "ws_dock_6"; + landmark_tag = "ws_port_dock_2"; + name = "Cruiser Dock P2" + }, +/turf/space, +/area/space) +"sO" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "ws_dock_3"; + landmark_tag = "ws_starboard_dock_2"; + name = "Cruiser Dock S2" + }, +/turf/space, +/area/space) +"sP" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/reinforced/airless{ + name = "outer hull" + }, +/area/mothership/bridge) +"sQ" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + flags = 2; + landmark_tag = "cruiser_aft"; + name = "Vessel aft" + }, +/turf/space, +/area/space) +"tb" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 5 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"tl" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"ts" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"tA" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"tK" = ( +/obj/item/modular_computer/console/preset/mercenary{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"tW" = ( +/obj/mecha/combat/fighter/gunpod/loaded, +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"tZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"uh" = ( +/obj/machinery/pointdefense{ + id_tag = "warship_pd" + }, +/turf/simulated/floor/reinforced/airless{ + name = "outer hull" + }, +/area/mothership/bridge) +"uI" = ( +/obj/structure/bed/chair/bay/shuttle{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"uN" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"uS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_2_inner"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/eva) +"uV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/computer/gravity_control_computer{ + density = 0; + icon_keyboard = "laptop_key"; + icon_screen = "atmoslaptop"; + icon_state = "laptop" + }, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms1) +"vb" = ( +/turf/simulated/floor/reinforced/airless{ + name = "outer hull" + }, +/area/mothership/telecomms1) +"vi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms2) +"vD" = ( +/obj/mecha/combat/fighter/gunpod/loaded, +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"wm" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 6 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 1 + }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"wA" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"wO" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden, +/obj/machinery/gravity_generator{ + active_power_usage = 10; + density = 0; + effectiverange = 1; + icon_state = "beacon1"; + idle_power_usage = 2 + }, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms1) +"wT" = ( +/obj/machinery/computer/ship/sensors, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"xm" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"xn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"xE" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"xS" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/alarm{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"yi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_1_inner"; + req_one_access = list(101) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/breakroom) +"yr" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"yG" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/alarm{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"yW" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"zd" = ( +/obj/machinery/computer/timeclock{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"zv" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"zE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1380; + master_tag = "ws_dock_4"; + name = "interior access button"; + pixel_x = -28; + pixel_y = -26; + req_one_access = list(101) + }, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"Am" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1380; + master_tag = "ws_dock_5"; + name = "interior access button"; + pixel_x = 28; + pixel_y = -26; + req_one_access = list(101) + }, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/engineering) +"AL" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden, +/obj/machinery/button/remote/blast_door{ + id = "ship-dronehangar2"; + name = "Drone Hangar Controls"; + pixel_x = 0; + pixel_y = -28; + req_one_access = list(101) + }, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms1) +"AP" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Bd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/meter, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms2) +"BQ" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/obj/mecha/combat/fighter/gunpod/loaded, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"Ch" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 6 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 1 + }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"Ct" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/eva) +"Do" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"DG" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"DU" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/cannon, +/obj/item/mecha_parts/mecha_equipment/crisis_drone, +/obj/item/mecha_parts/mecha_equipment/crisis_drone, +/obj/structure/closet/walllocker{ + name = "Equipment Locker"; + pixel_x = 32 + }, +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64, +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64, +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64, +/obj/item/mecha_parts/mecha_equipment/omni_shield/fighter64, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"DX" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 5 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"Ep" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/computer/guestpass{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Ex" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/floor/reinforced/airless{ + name = "outer hull" + }, +/area/mothership/bridge) +"Ez" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"EG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"EK" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"EP" = ( +/obj/effect/overmap/visitable/ship/cruiser, +/turf/space, +/area/space) +"EQ" = ( +/obj/effect/floor_decal/industrial/outline, +/obj/mecha/combat/fighter/gunpod/loaded, +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"EV" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"FC" = ( +/obj/machinery/ion_engine, +/turf/space, +/area/mothership/engineering) +"FQ" = ( +/obj/machinery/computer/timeclock{ + pixel_y = -28 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"FW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/carpet/blue, +/area/mothership/breakroom) +"FY" = ( +/obj/machinery/door/airlock/multi_tile/metal, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/eva) +"Ge" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1; + icon_state = "map" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms1) +"Gi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1380; + master_tag = "ws_dock_8"; + name = "interior access button"; + pixel_x = 28; + pixel_y = 26; + req_one_access = list(101) + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"GT" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/purple{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"GW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/computer/gravity_control_computer{ + density = 0; + icon_keyboard = "laptop_key"; + icon_screen = "atmoslaptop"; + icon_state = "laptop" + }, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms2) +"Hl" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/teleporter) +"Hs" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"HG" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"JJ" = ( +/obj/machinery/alarm{ + alarm_id = "pen_nine"; + breach_detection = 0; + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Kc" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Kd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms1) +"Kr" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"KA" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden, +/obj/machinery/button/remote/blast_door{ + id = "ship-dronehangar1"; + name = "Drone Hangar Controls"; + pixel_x = 0; + pixel_y = -28; + req_one_access = list(101) + }, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms2) +"KO" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/alarm{ + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"MI" = ( +/obj/effect/floor_decal/industrial/outline, +/obj/mecha/combat/fighter/gunpod/loaded, +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"On" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Ox" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 9 + }, +/obj/effect/floor_decal/corner_techfloor_grid, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"OC" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"Pi" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"PC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1380; + master_tag = "ws_dock_1"; + name = "interior access button"; + pixel_x = -28; + pixel_y = 26; + req_one_access = list(101) + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/mothership/breakroom) +"PT" = ( +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_4_outer"; + req_one_access = list(101) + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1380; + master_tag = "ws_dock_4"; + name = "exterior access button"; + pixel_x = 26; + pixel_y = -5; + req_one_access = list(101) + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/engineering) +"QF" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/keycard_auth{ + pixel_x = 28 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"QH" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"QI" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "ws_dock_2"; + landmark_tag = "ws_starboard_dock_1"; + name = "Cruiser Dock S1" + }, +/turf/space, +/area/space) +"QU" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "ws_dock_7"; + landmark_tag = "ws_port_dock_1"; + name = "Cruiser Dock P1" + }, +/turf/space, +/area/space) +"RE" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"RP" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"RS" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Sa" = ( +/obj/machinery/telecomms/relay/preset/centcom, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"Sj" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden, +/obj/machinery/gravity_generator{ + active_power_usage = 10; + density = 0; + effectiverange = 1; + icon_state = "beacon1"; + idle_power_usage = 2 + }, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms2) +"Su" = ( +/obj/machinery/shipsensors{ + dir = 1; + health = 1000; + heat_reduction = 4.5; + max_health = 1000; + name = "military sensors suite" + }, +/turf/simulated/floor/reinforced/airless{ + name = "outer hull" + }, +/area/mothership/bridge) +"Sv" = ( +/turf/simulated/floor/reinforced/airless{ + name = "outer hull" + }, +/area/mothership/breakroom) +"Sx" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/alarm{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Sz" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1; + icon_state = "map" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/telecomms2) +"SE" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 8; + icon_state = "map" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"SM" = ( +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_1_outer"; + req_one_access = list(101) + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1380; + master_tag = "ws_dock_1"; + name = "exterior access button"; + pixel_x = 26; + pixel_y = 5; + req_one_access = list(101) + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/breakroom) +"SV" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Td" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Tg" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"TK" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 9 + }, +/obj/effect/floor_decal/corner_techfloor_grid, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms2) +"Ux" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" + }, +/obj/machinery/keycard_auth{ + pixel_x = -28 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/mothership/bridge) +"UD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/meter, +/turf/simulated/floor/reinforced, +/area/mothership/telecomms1) +"Wi" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"WE" = ( +/obj/machinery/door/blast/regular{ + destroy_hits = 1000; + dir = 4; + id = "ship-dronehangar2"; + name = "Drone Hangar" + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/telecomms1) +"Xh" = ( +/obj/item/modular_computer/console/preset/mercenary{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"Xy" = ( +/obj/machinery/status_display{ + pixel_y = 29 + }, +/obj/machinery/computer/ship/engines, +/turf/simulated/floor/tiled/steel_ridged, +/area/mothership/bridge) +"XQ" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/mothership/telecomms1) +"Yt" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"Yv" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"YP" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"ZL" = ( +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) +"ZS" = ( +/obj/machinery/door/airlock/alien/blue/locked{ + frequency = 1380; + id_tag = "ws_dock_2_outer"; + req_one_access = list(101) + }, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1380; + master_tag = "ws_dock_2"; + name = "exterior access button"; + pixel_x = 5; + pixel_y = 26; + req_one_access = list(101) + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor/grid, +/area/mothership/eva) +"ZZ" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/techmaint, +/area/mothership/hallway) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +EP +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +jF +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +sN +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +pe +pr +pe +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bc +cq +cq +uh +cq +cq +bc +cq +cq +uh +cq +cq +bc +cq +cq +uh +cq +cq +bc +cq +cq +uh +cq +cq +bc +cq +cq +uh +cq +cq +bc +nk +om +om +om +pe +ps +pe +bc +vb +vb +uh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dJ +dJ +dJ +dJ +dJ +dJ +dJ +dJ +dJ +gG +gU +gU +gU +gU +gG +gG +iV +iV +iV +iV +kl +kl +kO +kO +kO +kl +kl +mi +mi +mi +mi +mi +mi +mi +on +oB +oL +pV +pt +pV +pe +pe +pe +pe +pe +pV +bc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(57,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +QU +aa +aa +aa +aa +dJ +dW +eo +dJ +eV +fo +fJ +gb +gq +gH +gV +ho +hE +hX +iq +gG +iW +jp +jG +jX +kl +kv +kP +lh +lt +lJ +kl +mj +mz +mO +nf +mC +nN +mi +oo +oC +oM +pe +pu +pW +Ox +BQ +qu +rt +qw +WE +Ex +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(58,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dJ +dX +ep +dJ +eW +fp +fK +gc +gr +gI +gW +hp +hp +hY +ir +iF +iX +jq +jH +jY +kl +kw +kQ +kw +lu +lK +kl +mk +mA +mP +ng +nA +nO +mi +oo +oC +oM +pe +pv +pX +DX +qR +XQ +XQ +qR +WE +Ex +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(59,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cr +cH +cr +aa +aa +aa +dK +dY +eq +eJ +eX +fq +fL +gd +gs +gJ +gX +hq +hq +hZ +hq +iG +iY +jr +jI +iY +km +kx +kR +kx +lv +kx +lY +ml +mB +ml +ml +nB +nP +oe +op +oD +oN +pe +qt +Ge +UD +wO +uV +Kd +AL +pV +uh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(60,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bc +Su +be +bC +bC +bd +uh +cr +cI +cr +bc +df +ds +dJ +dJ +dJ +eK +eK +eK +eK +eK +eL +gK +gY +hr +hp +ia +hp +iF +iZ +js +jJ +jZ +kl +ky +kw +li +lw +lL +kl +mm +mC +mQ +nh +nC +nQ +of +oq +oE +oO +pe +px +pX +Ox +EQ +rj +rj +vD +WE +Ex +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(61,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +uh +ae +au +au +au +ae +bd +be +bD +bR +bk +cr +cs +cJ +cs +cr +df +dt +dL +dZ +er +eK +eY +fr +fM +ge +eK +gL +gY +hs +hp +ib +hp +gG +ja +jt +jJ +ka +kl +kz +kw +lj +lw +lM +kl +mn +mC +mR +ni +nC +nQ +og +or +oE +oP +pe +py +pY +DX +RE +DU +XQ +Ch +WE +Ex +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(62,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ae +ao +ao +ao +aL +bd +bl +bE +bS +cd +cr +cw +cK +cU +cr +dg +du +dL +ea +es +eK +eZ +fs +fN +gf +gt +gM +gY +hp +hp +hp +is +iF +jb +ju +jJ +kb +kl +kA +kw +lk +lw +lN +kl +mo +mC +mC +mC +nC +nR +mi +os +oE +oQ +pe +pz +pZ +qJ +qJ +qJ +qJ +qJ +qJ +qJ +qJ +qJ +qJ +qJ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(63,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ai +an +Gi +tZ +ao +aM +bd +bm +bF +bT +ce +cr +cx +cL +cV +cr +dh +dv +dL +eb +et +eK +fa +ft +fO +gg +gu +gN +gZ +ht +hF +ic +it +iH +jc +jv +jK +jc +kn +kB +kS +ll +lx +lO +lZ +mp +mC +mS +nj +nC +nS +mi +ot +oF +oR +pe +pA +qv +qJ +qT +qT +qT +rK +sb +sr +Am +sD +sH +sL +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(64,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +ab +ae +av +Do +ao +aN +bd +bn +bG +bT +bo +cr +cy +cM +cW +cr +di +ds +dM +dL +eu +eL +eK +fu +fP +eK +gv +gO +ha +gG +hG +id +iu +iF +jd +jw +jL +kc +kl +kC +kT +kl +ly +lP +ma +mi +mD +mT +nk +nD +nk +nk +ou +oG +oS +pV +pB +qb +qJ +qU +rk +ru +rL +sc +ss +sy +iw +qJ +iw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(65,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ag +ab +ao +ao +Do +ao +aO +bd +bo +bG +bT +bo +cr +cs +cN +cs +cr +dj +dw +dN +AP +dj +tA +fb +dz +dz +dz +gw +gP +hb +gG +gG +gG +gG +gG +je +jx +je +kd +iv +kl +kl +kl +dj +dz +gw +dz +dz +dz +fb +lR +RP +AP +DG +ov +oT +dz +EK +qc +qB +qV +rl +rv +rM +sd +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(66,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Sv +ae +ap +ao +Do +ao +aP +bd +bp +bG +bT +bo +cr +cz +cO +cX +cr +dk +dx +uN +xm +ev +eM +fc +Wi +fQ +Wi +dS +gQ +hc +hu +hH +ie +iv +iI +jf +jy +jM +ke +iv +kD +kU +kG +lz +dx +dS +Wi +Wi +mU +nl +nE +xS +xm +uN +oH +oU +fc +pC +qd +qC +qW +rm +rw +rN +se +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(67,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +uh +ac +ao +aw +Do +aG +aQ +bd +bo +bG +bT +bo +cr +cA +cO +cY +cr +dl +dy +dO +dP +dP +dP +fd +fd +fR +fd +gx +dz +EK +hu +hI +if +iv +iJ +jg +jg +jg +kf +iv +kE +kV +kG +EK +dz +mb +mc +mc +mb +nm +nF +mc +mc +mb +dl +dy +pk +pD +qe +pD +pD +pD +rx +rO +sf +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ae +aq +ax +FW +aH +aR +be +bq +bH +bU +be +cs +cB +cO +cZ +cr +Ep +dz +dP +ec +ew +eN +fd +fv +fS +gh +fd +On +zv +hu +hJ +ig +iv +iK +iK +iK +iK +iK +iv +kF +kW +kG +YP +ts +mc +mq +Ux +mV +nn +mG +mE +oh +mc +EK +oV +pD +pE +qf +qD +qX +pD +ry +rP +sg +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ah +aj +ar +ay +aD +aI +aS +bf +br +bI +bT +cf +cs +cC +cO +da +de +EK +dA +dP +ed +ex +eO +fd +fw +fS +gi +fd +Pi +KO +hv +hK +hu +iv +iv +iv +iv +iv +iv +iv +kG +kX +lm +xE +Yt +mc +mr +uI +mW +no +no +no +oi +mc +EK +oW +pD +pF +qg +qE +qY +pD +rz +rQ +sh +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(70,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +af +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ah +ak +ar +az +aE +az +aT +be +bs +bJ +bV +cg +FY +cD +cP +db +FY +dm +dB +dQ +ee +ey +eP +fd +fx +fS +gj +fd +zd +hd +dS +hL +Wi +Wi +Wi +Td +fe +Sx +Wi +Wi +Wi +kY +dS +he +dD +mc +ms +mG +uI +np +nG +nT +Xh +mc +Ep +oX +pD +pG +qh +qF +qZ +pD +rA +rR +si +su +sA +qJ +cq +cq +bc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +sQ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(71,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ah +ak +ar +az +az +az +aU +be +bt +bK +bW +ch +Ct +cE +cQ +dc +Ct +dn +dC +dR +ef +ez +eQ +fd +fy +fT +gk +fd +dz +EK +dy +dj +gy +ff +dz +RS +jz +Tg +dz +ff +gy +dj +dy +EK +FQ +mc +wT +mG +uI +nq +nH +nU +tK +mc +EK +oY +pD +pH +qh +qF +ra +pD +rB +rS +sj +sv +sB +sF +sP +cq +bc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(72,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ah +al +ar +aA +aF +aJ +aV +bg +bu +bL +bX +ci +cs +cF +cO +dd +cs +EK +dA +dP +eg +Hl +eR +fd +fz +fS +gl +fd +gR +EK +hw +hM +hx +hy +hy +hy +hy +hy +hy +hy +kH +kZ +ln +EK +dA +mc +Sa +uI +mX +nr +nr +nr +oj +mc +ZL +oZ +pD +pI +qi +qG +rb +pD +rB +rT +sk +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(73,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ae +aq +ax +FW +aH +aW +bh +bv +bM +bY +cj +cs +cG +cO +cZ +cr +QH +JJ +dP +eh +eA +eS +fd +fA +fU +gm +fd +dz +EK +hx +hN +ih +hy +iL +hQ +hy +jN +hQ +hy +kI +la +kH +EK +dz +mc +Xy +QF +mY +ns +mG +mH +ok +mc +YP +Kc +pD +pJ +qj +qH +rc +pD +rC +rU +sl +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(74,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +uh +ac +ao +aB +Do +aK +aX +bi +bw +bN +bZ +ck +cr +cA +cO +cY +cr +SV +wA +dO +dP +dP +dP +fd +fd +fR +fd +gx +dy +dl +hx +hO +ii +hy +iM +jh +hy +jO +jh +hy +kJ +lb +kH +dl +dy +mb +mc +mc +mb +nt +nF +mc +mc +mb +SV +Yv +pk +pD +qk +pD +pD +pD +rD +rV +sm +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(75,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Sv +ae +as +ao +Do +ao +aY +bi +bx +bN +ca +cl +cr +cz +cO +cX +cr +ZZ +dx +dS +Wi +eB +Wi +fe +fB +fV +HG +yW +dx +Kr +hx +hP +ij +hy +iN +hQ +hy +jP +hQ +hy +kK +lc +kH +lA +lQ +yW +HG +yG +Wi +nu +Wi +nV +Wi +dS +oI +pa +fe +SE +ql +qI +rd +rn +rE +rW +sn +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(76,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ag +ab +at +ao +Do +ao +ao +bj +by +bN +ca +cm +cr +cs +cN +cs +cr +dj +dE +dT +dz +dj +dz +ff +tl +dz +Tg +yr +dz +hf +hy +hy +hy +iw +iO +ji +hy +jQ +kg +iw +hy +hy +hy +gP +lR +yr +Tg +tl +dz +ff +gy +dj +dz +dy +dz +dj +dz +EK +qc +qJ +re +ro +rF +xn +so +st +sz +sE +sI +FC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(77,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ae +ab +ae +av +Do +ao +aZ +bi +bz +bN +ca +cn +cr +cy +cR +cW +cr +do +dF +dU +dU +eC +eT +dV +dV +dV +dV +dV +gT +hg +hz +hQ +hQ +ix +iP +hQ +jA +iP +hQ +hQ +hQ +hQ +lo +lB +lS +lq +mt +lr +lr +lr +lo +nW +ol +ow +ol +pb +qs +pK +qm +qJ +rf +rp +rG +xn +rX +sw +sC +iw +qJ +iw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(78,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +SM +am +yi +PC +EG +ao +ba +bi +bA +bN +ca +co +cr +cx +cL +cV +cr +dp +dG +dU +ei +eD +dV +fg +fC +fW +gn +gz +fY +hh +hA +hR +ik +iy +iQ +jj +jB +jR +hR +ko +ik +hR +lp +lC +lT +md +mu +mI +mZ +nv +nI +nX +lr +ox +oJ +pc +pq +pL +qn +qJ +rg +rq +rH +rY +sp +sx +zE +sG +sK +PT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(79,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ae +ao +ao +ao +bb +bi +bB +bO +cb +cp +cr +cw +cS +cU +cr +dq +dH +dU +ej +eE +dV +fh +fD +fX +gn +gA +fY +hi +hB +hC +il +iz +hC +hC +jC +jD +jD +kp +jD +jD +lq +lD +lU +lG +lG +lG +lG +lG +lG +nY +lr +oy +oK +pd +pq +pM +qo +qJ +qJ +qJ +qJ +qJ +qJ +qJ +qJ +qJ +qJ +qJ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(80,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +uh +ae +aC +aC +aC +ae +bi +bk +bP +cc +bk +cr +cs +uS +cs +cr +dr +dI +dU +ek +eF +dV +fi +fD +fY +fY +gB +fY +hj +hC +hS +im +iA +iR +jk +jD +jS +kh +kq +kL +ld +lr +lE +lV +me +mv +mJ +na +nw +nJ +nZ +lr +oz +oz +oz +pq +pN +qp +TK +rh +rr +GT +rZ +sq +Ex +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(81,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bc +cq +bk +bQ +bQ +bi +uh +cr +cT +cr +bc +dr +dF +dV +dV +dV +dV +fj +fE +fZ +fY +gC +fY +hk +hB +hT +in +iB +in +jl +jC +jT +ki +kr +ki +le +lq +lF +lV +mf +mw +mK +nb +nx +nK +oa +lr +oz +oz +oz +pq +pO +qq +tb +OC +Ez +Ez +OC +sq +Ex +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(82,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cr +ZS +cr +aa +aa +aa +dV +el +eG +dV +fk +fF +fZ +fY +gD +fY +hl +hD +hU +io +iC +iS +io +jE +jU +kj +ks +kM +ki +ls +lG +lW +mg +mx +mL +nc +ny +nL +ob +lr +oz +oz +oz +pq +pP +Sz +Bd +Sj +GW +vi +KA +qs +uh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(83,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dV +em +eH +eU +fl +fG +fl +fl +gE +fl +hm +hB +hV +in +iD +iT +jm +jC +jV +ki +kt +kN +lf +lq +lH +lG +lG +lG +lG +lG +lG +lG +oc +lr +oz +oz +oz +pq +pQ +qq +TK +MI +EV +EV +tW +sq +Ex +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(84,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +QI +aa +aa +aa +aa +dV +en +eI +dV +fm +fH +ga +go +gF +fY +hn +hC +hW +ip +iE +iU +jn +jD +jW +ki +ku +ki +lg +lr +lI +lX +mh +my +mM +nd +nz +nM +od +lr +oz +oz +oz +pq +pR +qr +tb +Hs +qN +Ez +wm +sq +Ex +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(85,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dV +dV +dV +dV +dV +dV +eT +gp +gp +gp +dV +hC +hC +hC +hC +hC +hC +jD +jC +kk +kk +kk +jD +lr +lr +lr +lr +lr +lr +lr +lr +lr +lr +lr +oz +oz +oz +qs +pS +qs +pq +pq +pq +pq +pq +qs +bc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bc +cq +cq +uh +cq +cq +bc +cq +cq +uh +cq +cq +bc +cq +cq +uh +cq +cq +bc +cq +cq +uh +cq +cq +bc +cq +cq +uh +cq +cq +bc +lq +oA +oA +oA +pq +pT +pq +bc +cq +cq +uh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +pq +pU +pq +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +sO +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(101,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(102,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(103,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(104,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(105,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(106,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(107,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(108,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(109,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(110,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(111,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(112,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(113,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(114,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(115,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(116,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(117,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ri +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(118,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(119,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(120,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(121,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(122,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(123,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(124,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(125,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(126,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(127,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(128,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(129,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(130,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(131,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(132,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(133,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(134,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(135,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(136,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(137,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(138,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(139,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(140,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/om_ships/hybridshuttle.dm b/maps/tether/submaps/om_ships/hybridshuttle.dm new file mode 100644 index 0000000000..e85d234223 --- /dev/null +++ b/maps/tether/submaps/om_ships/hybridshuttle.dm @@ -0,0 +1,49 @@ +// Compile in the map for CI testing if we're testing compileability of all the maps +#if MAP_TEST +#include "hybridshuttle.dmm" +#endif + +// Map template for spawning the shuttle +/datum/map_template/om_ships/hybrid + name = "OM Ship - Hybrid Shuttle" + desc = "A prototype human/alien tech hybrid shuttle." + mappath = 'hybridshuttle.dmm' + annihilate = TRUE + +// The shuttle's area(s) +/area/shuttle/blue_fo + name = "\improper Hybrid Shuttle" + icon_state = "shuttle2" + requires_power = 1 + +// The shuttle's 'shuttle' computer +/obj/machinery/computer/shuttle_control/explore/hybridshuttle + name = "short jump console" + shuttle_tag = "XN-29 Prototype Shuttle" + req_one_access = list(access_pilot) + +// A shuttle lateloader landmark +/obj/effect/shuttle_landmark/shuttle_initializer/hybridshuttle + name = "Origin - Hybrid Shuttle" + base_area = /area/space + base_turf = /turf/space + landmark_tag = "omship_spawn_hybridshuttle" + shuttle_type = /datum/shuttle/autodock/overmap/hybridshuttle + +// The 'shuttle' +/datum/shuttle/autodock/overmap/hybridshuttle + name = "XN-29 Prototype Shuttle" + current_location = "omship_spawn_hybridshuttle" + docking_controller_tag = "hybrid_shuttle_docker" + shuttle_area = /area/shuttle/blue_fo + fuel_consumption = 0 + defer_initialisation = TRUE //We're not loaded until an admin does it + +// The 'ship' +/obj/effect/overmap/visitable/ship/landable/hybridshuttle + name = "XN-29 Prototype Shuttle" + desc = "A hybrid excursion shuttle, sporting different features. Less space for equipment, but no fuel or power requirements." + color = "#00aaff" //Bluey + vessel_mass = 3000 + vessel_size = SHIP_SIZE_SMALL + shuttle = "XN-29 Prototype Shuttle" \ No newline at end of file diff --git a/maps/tether/submaps/om_ships/hybridshuttle.dmm b/maps/tether/submaps/om_ships/hybridshuttle.dmm new file mode 100644 index 0000000000..f197f819eb --- /dev/null +++ b/maps/tether/submaps/om_ships/hybridshuttle.dmm @@ -0,0 +1,1175 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ab" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/shuttle/blue_fo) +"ac" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/shuttle/blue_fo) +"ad" = ( +/obj/machinery/ion_engine, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + dir = 8 + }, +/area/shuttle/blue_fo) +"ae" = ( +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"af" = ( +/obj/machinery/ion_engine, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + dir = 4 + }, +/area/shuttle/blue_fo) +"ag" = ( +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"ah" = ( +/obj/structure/prop/alien/pod/hybrid, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"ai" = ( +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/suit/space/emergency, +/obj/item/clothing/head/helmet/space/emergency, +/obj/item/clothing/head/helmet/space/emergency, +/obj/item/clothing/head/helmet/space/emergency, +/obj/item/clothing/head/helmet/space/emergency, +/obj/structure/closet/emcloset/legacy, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"aj" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"ak" = ( +/obj/machinery/power/smes/buildable/hybrid, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"al" = ( +/obj/effect/map_effect/perma_light/brighter, +/obj/structure/bed/chair/bay/shuttle{ + icon_state = "shuttle_chair_preview"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"am" = ( +/obj/structure/bed/alien{ + icon = 'icons/obj/abductor_vr.dmi' + }, +/obj/item/weapon/bedsheet/blue, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"an" = ( +/obj/effect/map_effect/perma_light/brighter, +/obj/structure/handrail{ + icon_state = "handrail"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"ao" = ( +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"ap" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/shuttle/blue_fo) +"aq" = ( +/obj/machinery/door/airlock/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"ar" = ( +/obj/structure/fans/hardlight, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + dir = 8 + }, +/area/shuttle/blue_fo) +"as" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"at" = ( +/obj/machinery/sleep_console, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"au" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"av" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 1 + }, +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aw" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 8 + }, +/obj/structure/railing, +/turf/simulated/shuttle/floor/alien, +/area/shuttle/blue_fo) +"ax" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/structure/railing, +/turf/simulated/shuttle/floor/alien, +/area/shuttle/blue_fo) +"ay" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"az" = ( +/obj/structure/bed/chair/sofa/right{ + sofa_material = "black" + }, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aA" = ( +/obj/structure/bed/chair/sofa/left{ + sofa_material = "black" + }, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aB" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aC" = ( +/obj/structure/fans/hardlight, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + dir = 4 + }, +/area/shuttle/blue_fo) +"aD" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aE" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aF" = ( +/obj/effect/map_effect/perma_light/brighter, +/obj/item/device/perfect_tele_beacon/stationary{ + icon_state = "beacon"; + tele_name = "Hybrid Shuttle"; + tele_network = "hybridshuttle" + }, +/obj/effect/floor_decal/industrial/outline/grey, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aG" = ( +/obj/machinery/door/airlock/alien/blue, +/turf/simulated/shuttle/floor/alien, +/area/shuttle/blue_fo) +"aH" = ( +/obj/effect/map_effect/perma_light/brighter, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aI" = ( +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aJ" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aK" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aL" = ( +/obj/machinery/sleep_console, +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aM" = ( +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aN" = ( +/obj/effect/floor_decal/techfloor/orange/corner, +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aO" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 8 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/turf/simulated/shuttle/floor/alien, +/area/shuttle/blue_fo) +"aP" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/turf/simulated/shuttle/floor/alien, +/area/shuttle/blue_fo) +"aQ" = ( +/obj/structure/bed/chair/sofa/left{ + dir = 1; + icon_state = "sofaend_left"; + sofa_material = "black" + }, +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aR" = ( +/obj/structure/bed/chair/sofa/right{ + dir = 1; + icon_state = "sofaend_right"; + sofa_material = "black" + }, +/obj/effect/floor_decal/techfloor/orange, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aS" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aT" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aU" = ( +/obj/machinery/door/airlock/alien/blue, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aV" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 9 + }, +/obj/structure/closet/secure_closet/guncabinet/excursion, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aW" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aX" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/obj/machinery/recharger/wallcharger{ + pixel_x = 4; + pixel_y = 30 + }, +/obj/machinery/recharger/wallcharger{ + pixel_x = 4; + pixel_y = 20 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aY" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/obj/structure/bed/chair/bay/shuttle{ + icon_state = "shuttle_chair_preview"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"aZ" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/obj/structure/table/alien/blue, +/obj/item/device/perfect_tele/alien/bluefo{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/device/perfect_tele/alien/bluefo{ + pixel_x = -6; + pixel_y = 3 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"ba" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/obj/structure/bed/chair/bay/shuttle{ + icon_state = "shuttle_chair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bb" = ( +/obj/structure/prop/alien/computer/hybrid, +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bc" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 5 + }, +/obj/structure/bed/chair/bay/shuttle, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bd" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/obj/structure/bed/chair/bay/shuttle{ + icon_state = "shuttle_chair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"be" = ( +/obj/effect/map_effect/perma_light/brighter, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bf" = ( +/obj/structure/bed/chair/bay/shuttle{ + icon_state = "shuttle_chair_preview"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bg" = ( +/obj/structure/table/alien/blue, +/obj/item/device/perfect_tele/alien/bluefo{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/device/perfect_tele/alien/bluefo{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bh" = ( +/obj/structure/bed/chair/bay/shuttle{ + icon_state = "shuttle_chair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bi" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bj" = ( +/obj/machinery/door/airlock/alien/blue{ + frequency = 1380; + id_tag = "hybrid_shuttle_afts"; + req_one_access = list(19,43,67) + }, +/obj/structure/fans/hardlight, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"bk" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"bl" = ( +/obj/structure/table/alien/blue, +/obj/machinery/button/remote/airlock{ + id = "hybrid_shuttle_afts"; + name = "Aft Door Bolts"; + pixel_x = 6; + pixel_y = 2; + req_one_access = list(19,43,67); + specialfunctions = 4 + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "hybrid_shuttle_docker"; + pixel_x = -6; + pixel_y = 0; + req_one_access = list(19,43,67); + tag_door = "hybrid_shuttle_afts" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bm" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor/orange/corner, +/obj/effect/shuttle_landmark/shuttle_initializer/hybridshuttle, +/obj/effect/overmap/visitable/ship/landable/hybridshuttle, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"bn" = ( +/obj/machinery/mech_recharger{ + icon = 'icons/turf/shuttle_alien_blue.dmi' + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bo" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bp" = ( +/obj/effect/floor_decal/techfloor/orange{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bq" = ( +/obj/machinery/shipsensors{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating/blue/half{ + dir = 8 + }, +/area/shuttle/blue_fo) +"br" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/turf/simulated/shuttle/floor/alien, +/area/shuttle/blue_fo) +"bs" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/shuttle/floor/alien, +/area/shuttle/blue_fo) +"bt" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor/orange/corner, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"bu" = ( +/obj/effect/floor_decal/techfloor/orange, +/obj/structure/table/alien/blue, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/blue_fo) +"bv" = ( +/obj/effect/floor_decal/techfloor/orange/corner, +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"bw" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 8 + }, +/turf/simulated/shuttle/floor/alien, +/area/shuttle/blue_fo) +"bx" = ( +/obj/structure/fans/hardlight, +/obj/structure/window/reinforced/full, +/turf/simulated/shuttle/floor/alienplating/blue/half, +/area/shuttle/blue_fo) +"by" = ( +/obj/machinery/computer/shuttle_control/explore/hybridshuttle, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"bz" = ( +/obj/machinery/computer/ship/helm, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"bA" = ( +/obj/machinery/computer/ship/sensors, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"bB" = ( +/obj/machinery/computer/ship/engines{ + icon_state = "computer"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/blue_fo) +"bC" = ( +/turf/simulated/shuttle/floor/alienplating/blue/half{ + dir = 4 + }, +/area/shuttle/blue_fo) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +bq +ap +ab +ap +ar +ar +ar +ap +ab +ab +bj +ab +ap +ad +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +ap +ap +bB +ab +as +aD +aK +ab +aV +bd +bk +aD +ac +ap +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +ab +by +ae +ab +at +aE +aL +ab +aW +aI +aE +bn +br +ab +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +ab +bz +al +ab +au +aF +aM +ab +aX +be +aE +bn +bs +ab +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +ab +bA +ae +aq +av +aE +aN +aT +av +aE +aE +aE +bt +bj +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +ab +ag +ag +ab +aw +aE +aO +ab +aY +bf +bf +aE +bu +bx +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +ab +ab +ab +ab +ab +aG +ab +ab +aZ +bg +bl +be +bu +bx +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +ab +ah +am +ab +ax +aE +aP +ab +ba +bh +bh +aE +bu +bx +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +ab +ai +ae +aq +ay +aE +aN +aU +ay +aE +aE +aE +bv +bj +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +ab +aj +an +ab +az +aH +aQ +ab +bb +be +aE +bo +bw +ab +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +ab +ak +ao +ab +aA +aI +aR +ab +au +aE +aE +bo +br +ab +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +ap +ap +ag +ab +aB +aJ +aS +ab +bc +bi +bm +bp +ac +ap +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +bC +ap +ab +ap +aC +aC +aC +ap +ab +ab +bj +ab +ap +af +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/om_ships/screebarge.dm b/maps/tether/submaps/om_ships/screebarge.dm new file mode 100644 index 0000000000..317f34396b --- /dev/null +++ b/maps/tether/submaps/om_ships/screebarge.dm @@ -0,0 +1,54 @@ +// Compile in the map for CI testing if we're testing compileability of all the maps +#if MAP_TEST +#include "screebarge.dmm" +#endif + +// Map template for spawning the shuttle +/datum/map_template/om_ships/screebarge + name = "OM Ship - Battle Barge" + desc = "The BATTLE BARGE." + mappath = 'screebarge.dmm' + annihilate = TRUE + +// The shuttle's area(s) +/area/shuttle/screebarge + icon_state = "shuttle2" + requires_power = 1 +/area/shuttle/screebarge/fore + name = "\improper Battle Barge - Fore" +/area/shuttle/screebarge/mid + name = "\improper Battle Barge - Mid" +/area/shuttle/screebarge/aft + name = "\improper Battle Barge - Aft" + +// The shuttle's 'shuttle' computer +/obj/machinery/computer/shuttle_control/explore/screebarge + name = "short jump console" + shuttle_tag = "XN-29 Prototype Shuttle" + req_one_access = list(access_pilot) + +// A shuttle lateloader landmark +/obj/effect/shuttle_landmark/shuttle_initializer/screebarge + name = "Origin - Battle Barge" + base_area = /area/space + base_turf = /turf/space + landmark_tag = "omship_spawn_battlebarge" + shuttle_type = /datum/shuttle/autodock/overmap/screebarge + +// The 'shuttle' +/datum/shuttle/autodock/overmap/screebarge + name = "Battle Barge" + current_location = "omship_spawn_battlebarge" + docking_controller_tag = "battlebarge_docker" + shuttle_area = list(/area/shuttle/screebarge/fore,/area/shuttle/screebarge/mid,/area/shuttle/screebarge/aft) + fuel_consumption = 0 + defer_initialisation = TRUE //We're not loaded until an admin does it + +// The 'ship' +/obj/effect/overmap/visitable/ship/landable/screebarge + name = "Battle Barge" + desc = "Some sort of makeshift battle barge. Appears to be armed." + color = "#95c633" //Greenish + vessel_mass = 3000 + vessel_size = SHIP_SIZE_SMALL + shuttle = "Battle Barge" \ No newline at end of file diff --git a/maps/tether/submaps/om_ships/screebarge.dmm b/maps/tether/submaps/om_ships/screebarge.dmm new file mode 100644 index 0000000000..9da0368dfa --- /dev/null +++ b/maps/tether/submaps/om_ships/screebarge.dmm @@ -0,0 +1,1120 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/space) +"ab" = ( +/turf/simulated/wall/shull, +/area/shuttle/screebarge/fore) +"ac" = ( +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"ad" = ( +/obj/machinery/door/airlock/external, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"ae" = ( +/obj/structure/disposaloutlet{ + icon_state = "outlet"; + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/fore) +"af" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 1 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/fore) +"ag" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + icon_state = "pipe-s"; + dir = 1 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/fore) +"ah" = ( +/obj/machinery/power/emitter{ + icon_state = "emitter"; + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"ai" = ( +/obj/machinery/computer/ship/helm, +/obj/structure/disposalpipe/segment{ + icon_state = "pipe-s"; + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aj" = ( +/obj/machinery/computer/ship/engines, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"ak" = ( +/obj/machinery/computer/ship/sensors, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"al" = ( +/obj/structure/disposalpipe/segment{ + icon_state = "pipe-s"; + dir = 1 + }, +/obj/machinery/computer/shuttle_control/explore/screebarge, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"am" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 8 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/fore) +"an" = ( +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + icon_state = "2-4" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"ao" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + icon_state = "pipe-s"; + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"ap" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aq" = ( +/obj/structure/cable/cyan{ + icon_state = "2-4" + }, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"ar" = ( +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"as" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/fore) +"at" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"au" = ( +/obj/structure/disposalpipe/segment{ + icon_state = "pipe-s"; + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"av" = ( +/obj/machinery/power/smes/buildable{ + charge = 5e+006 + }, +/obj/structure/cable/cyan, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aw" = ( +/obj/machinery/power/apc{ + pixel_x = -28 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"ax" = ( +/obj/structure/disposalpipe/segment{ + icon_state = "pipe-c"; + dir = 1 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"ay" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + icon_state = "pipe-t"; + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"az" = ( +/obj/structure/table/standard, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aA" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + icon_state = "pipe-t"; + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aB" = ( +/obj/structure/disposalpipe/segment{ + icon_state = "conpipe-c"; + dir = 8 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aC" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aD" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "battlebarge_docker"; + pixel_x = -26; + pixel_y = -7; + tag_door = "battlebarge_foredoor" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aE" = ( +/obj/machinery/autolathe, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aF" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aG" = ( +/obj/structure/table/standard, +/obj/machinery/chemical_dispenser/full, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aH" = ( +/obj/machinery/door/airlock/external{ + icon_state = "door_locked"; + id_tag = "battlebarge_frontdoor"; + locked = 1 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aJ" = ( +/obj/machinery/power/emitter{ + icon_state = "emitter"; + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"aK" = ( +/turf/simulated/wall/shull, +/area/shuttle/screebarge/mid) +"aL" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/mid) +"aM" = ( +/obj/machinery/door/airlock/maintenance/command, +/turf/simulated/floor/tiled/steel_ridged, +/area/shuttle/screebarge/mid) +"aN" = ( +/obj/machinery/door/airlock/maintenance/command, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/shuttle/screebarge/mid) +"aO" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 8 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/mid) +"aP" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"aQ" = ( +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"aR" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"aS" = ( +/obj/machinery/sleeper{ + icon_state = "sleeper_0"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"aT" = ( +/obj/machinery/sleep_console, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"aU" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"aV" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/mid) +"aW" = ( +/obj/structure/bed/roller, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"aX" = ( +/obj/structure/cable/cyan{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"aY" = ( +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"aZ" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"ba" = ( +/obj/machinery/door/airlock/maintenance/medical, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/shuttle/screebarge/mid) +"bb" = ( +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"bc" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/firstaid/o2{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/weapon/storage/firstaid/regular{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/bodybag/cryobag, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"bd" = ( +/obj/structure/closet/crate, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"be" = ( +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"bf" = ( +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + pixel_x = 28 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"bg" = ( +/obj/machinery/door/airlock/external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "battlebarge_foredoor"; + locked = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/shuttle/screebarge/fore) +"bh" = ( +/turf/simulated/wall/shull, +/area/shuttle/screebarge/aft) +"bi" = ( +/obj/machinery/door/airlock/maintenance/engi, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/shuttle/screebarge/aft) +"bj" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bk" = ( +/obj/machinery/atmospherics/portables_connector{ + icon_state = "map_connector"; + dir = 4 + }, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/portable_atmospherics/canister/phoron, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bl" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ + icon_state = "map"; + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bm" = ( +/obj/machinery/atmospherics/binary/pump{ + icon_state = "map_off"; + dir = 4 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bn" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ + icon_state = "map"; + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bo" = ( +/obj/machinery/atmospherics/binary/pump{ + icon_state = "map_off"; + dir = 8 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bp" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ + icon_state = "map"; + dir = 1 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bq" = ( +/obj/machinery/atmospherics/portables_connector{ + icon_state = "map_connector"; + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/portable_atmospherics/canister/phoron, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"br" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bs" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light/small, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"bt" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + icon_state = "intact"; + dir = 1 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bu" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) +"bv" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + icon_state = "intact"; + dir = 6 + }, +/turf/simulated/wall/shull, +/area/shuttle/screebarge/aft) +"bw" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ + icon_state = "map"; + dir = 1 + }, +/turf/simulated/wall/shull, +/area/shuttle/screebarge/aft) +"bx" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + icon_state = "intact"; + dir = 4 + }, +/turf/simulated/wall/shull, +/area/shuttle/screebarge/aft) +"by" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow, +/turf/simulated/wall/shull, +/area/shuttle/screebarge/aft) +"bz" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + icon_state = "intact"; + dir = 10 + }, +/turf/simulated/wall/shull, +/area/shuttle/screebarge/aft) +"bA" = ( +/obj/machinery/atmospherics/unary/engine{ + dir = 1 + }, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/screebarge/aft) +"bB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/shuttle_landmark/shuttle_initializer/screebarge, +/obj/effect/overmap/visitable/ship/landable/screebarge, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"bC" = ( +/obj/machinery/door/airlock/external{ + icon_state = "door_locked"; + id_tag = "battlebarge_aftdoor"; + locked = 1 + }, +/obj/machinery/button/remote/airlock{ + desiredstate = 1; + id = "battlebarge_aftdoor"; + pixel_y = 26; + specialfunctions = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/shuttle/screebarge/mid) +"bD" = ( +/obj/machinery/button/remote/airlock{ + pixel_x = 26; + pixel_y = 5; + id = "battlebarge_frontdoor"; + desiredstate = 1; + specialfunctions = 4 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/screebarge/fore) +"bE" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"bF" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/screebarge/mid) +"bG" = ( +/obj/machinery/light/small, +/turf/simulated/floor/plating, +/area/shuttle/screebarge/aft) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +am +am +ab +ab +bg +aK +aO +aO +aO +aK +bC +bh +bh +bh +bh +bh +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +af +ah +an +at +aw +aD +bB +aL +aP +aP +aP +bE +aQ +bh +bk +bk +bv +bA +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ae +ag +ai +ao +au +ax +ac +aI +aM +aQ +aQ +aX +aU +aU +bi +bl +br +bw +bA +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aj +ap +ac +ay +aE +aI +aL +aR +aR +aZ +bd +bd +bj +bm +bG +bx +bh +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +ac +aH +bD +ad +ac +aq +av +az +aF +bs +aL +aL +aL +ba +aL +aL +bh +bn +bt +by +bA +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ak +ap +ac +aA +aG +ac +aL +aS +aW +aZ +aW +aS +bj +bo +bG +bx +bh +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +ae +ag +al +ao +au +aB +ac +ac +aL +aT +aX +bb +be +aT +bj +bp +bu +bw +bA +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +af +aJ +ar +at +aC +aC +at +aN +aU +aY +bc +bf +bF +bh +bq +bq +bz +bA +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +as +as +ab +ab +ab +aK +aV +aV +aV +aK +aK +bh +bh +bh +bh +bh +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/om_ships/vespa.dm b/maps/tether/submaps/om_ships/vespa.dm new file mode 100644 index 0000000000..ff8c460777 --- /dev/null +++ b/maps/tether/submaps/om_ships/vespa.dm @@ -0,0 +1,149 @@ +// Compile in the map for CI testing if we're testing compileability of all the maps +#if MAP_TEST +#include "vespa.dmm" +#endif + +// Map template for spawning the shuttle +/datum/map_template/om_ships/vespa + name = "OM Ship - Vespa (New Z)" + desc = "The Vespa, a Hephaestus Industries vessel." + mappath = 'vespa.dmm' + +// The shuttle's area(s) +/area/ship/expe + name = "\improper Event Ship (Use a Subtype!)" + icon_state = "shuttle2" + requires_power = 1 + dynamic_lighting = 1 + +/area/ship/expe/engineering + name = "\improper Exp Ship - Engineering" +/area/ship/expe/engineeringpower + name = "\improper Exp Ship - Engineering Power Station" +/area/ship/expe/engineeringequipment + name = "\improper Exp Ship - Engineering Equipment Room" +/area/ship/expe/engineeringstorage + name = "\improper Exp Ship - Engineering Storage Room" +/area/ship/expe/hangar + name = "\improper Exp Ship - Hangar" +/area/ship/expe/hangarcontrol + name = "\improper Exp Ship - Exploration Equipment Room" +/area/ship/expe/cabin1 + name = "\improper Exp Ship - Cabin 1" +/area/ship/expe/cabin2 + name = "\improper Exp Ship - Cabin 2" +/area/ship/expe/cabin3 + name = "\improper Exp Ship - Cabin 3" +/area/ship/expe/cabin4 + name = "\improper Exp Ship - Cabin 4" +/area/ship/expe/cabin5 + name = "\improper Exp Ship - Cabin 5" +/area/ship/expe/cabin6 + name = "\improper Exp Ship - Cabin 6" +/area/ship/expe/cabin7 + name = "\improper Exp Ship - Cabin 7" +/area/ship/expe/cabin8 + name = "\improper Exp Ship - Cabin 8" +/area/ship/expe/cabin9 + name = "\improper Exp Ship - Cabin 9" +/area/ship/expe/corridor1 + name = "\improper Exp Ship - Corridor" +/area/ship/expe/corridor2 + name = "\improper Exp Ship - Corridor" +/area/ship/expe/corridor3 + name = "\improper Exp Ship - Corridor" +/area/ship/expe/corridor4 + name = "\improper Exp Ship - Corridor" +/area/ship/expe/corridor5 + name = "\improper Exp Ship - Corridor" +/area/ship/expe/corridor6 + name = "\improper Exp Ship - Corridor" +/area/ship/expe/sm + name = "\improper Exp Ship - Supermatter" +/area/ship/expe/smstorage + name = "\improper Exp Ship - Supermatter Storage" +/area/ship/expe/medical + name = "\improper Exp Ship - Medical" +/area/ship/expe/medical1 + name = "\improper Exp Ship - Medical Pacient Room" +/area/ship/expe/medicalchem + name = "\improper Exp Ship - Chemistry" +/area/ship/expe/medicalmain + name = "\improper Exp Ship - Medical Main" +/area/ship/expe/medicaleq + name = "\improper Exp Ship - Medical Equipment Room" +/area/ship/expe/medicalsur + name = "\improper Exp Ship - Medical Surgery" +/area/ship/expe/armoury + name = "\improper Exp Ship - Lightweight Armoury" +/area/ship/expe/science + name = "\improper Exp Ship - Science" +/area/ship/expe/sciencestorage + name = "\improper Exp Ship - Science Storage Room" +/area/ship/expe/scienceequip + name = "\improper Exp Ship - Science Equipment Room" +/area/ship/expe/sciencemain + name = "\improper Exp Ship - Science Main" +/area/ship/expe/cafet + name = "\improper Exp Ship - Cafeteria" +/area/ship/expe/cargo + name = "\improper Exp Ship - Storage" +/area/ship/expe/bridge + name = "\improper Exp Ship - Bridge" +/area/ship/expe/engines + name = "\improper Exp Ship - Engines" +/area/ship/expe/captqua + name = "\improper Exp Ship - Captain's Quarters" +/area/ship/expe/expedition + name = "\improper Exp Ship - Expedition Prep" +/area/ship/expe/atmospherics + name = "\improper Exp Ship - Atmos" +/area/ship/expe/northairlock + name = "\improper Exp Ship - Airlock" +/area/ship/expe/southairlock + name = "\improper Exp Ship - Airlock" +/area/ship/expe/maintenancerim + name = "\improper Exp Ship - Maintenance" +/area/ship/expe/maintenance1 + name = "\improper Exp Ship - Maintenance" +/area/ship/expe/maintenance2 + name = "\improper Exp Ship - Maintenance" + + +// The 'ship' +/obj/effect/overmap/visitable/ship/vespa + name = "HPV Vespa" + desc = "A Hephaestus Industries vessel." + color = "#4cad73" //Green + vessel_mass = 10000 + vessel_size = SHIP_SIZE_LARGE + initial_generic_waypoints = list("hpv_port", "hpv_starboard", "omship_spawn_vespaboat") + +// The ship's boat +/area/shuttle/vespaboat + name = "\improper Vespa's Ship's Boat" + icon_state = "shuttle" + +// The shuttle's 'shuttle' computer +/obj/machinery/computer/shuttle_control/explore/vespaboat + name = "Vespa's Shuttle control console" + shuttle_tag = "Vespa's Ship's Boat" + req_one_access = list(access_pilot) + +// A shuttle lateloader landmark +/obj/effect/shuttle_landmark/shuttle_initializer/vespaboat + name = "Vespa's Boat Bay" + base_area = /area/ship/expe/hangar + base_turf = /turf/simulated/floor/tiled/techfloor + landmark_tag = "omship_spawn_vespaboat" + docking_controller = "vespa_boatbay" + shuttle_type = /datum/shuttle/autodock/overmap/vespaboat + +// The 'shuttle' +/datum/shuttle/autodock/overmap/vespaboat + name = "Vespa's Ship's Boat" + current_location = "omship_spawn_vespaboat" + docking_controller_tag = "vespaboat_docker" + shuttle_area = /area/shuttle/vespaboat + fuel_consumption = 0 + defer_initialisation = TRUE diff --git a/maps/tether/submaps/om_ships/vespa.dmm b/maps/tether/submaps/om_ships/vespa.dmm new file mode 100644 index 0000000000..5ce1410985 --- /dev/null +++ b/maps/tether/submaps/om_ships/vespa.dmm @@ -0,0 +1,32865 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/space) +"ab" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/atmospherics) +"ac" = ( +/obj/machinery/portable_atmospherics/powered/pump, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"ad" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/wall/rpshull, +/area/ship/expe/atmospherics) +"ae" = ( +/obj/item/latexballon, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"af" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/wall/rpshull, +/area/ship/expe/atmospherics) +"ag" = ( +/obj/structure/lattice, +/turf/space, +/area/space) +"ah" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/engines) +"ai" = ( +/obj/machinery/access_button/airlock_exterior{ + pixel_x = 0; + pixel_y = -28; + master_tag = "northairlock"; + frequency = 1449 + }, +/turf/space, +/area/space) +"aj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"ak" = ( +/turf/simulated/wall/rpshull, +/area/space) +"al" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/maintenancerim) +"am" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/northairlock) +"an" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/maintenance1) +"ao" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/wall/rpshull, +/area/ship/expe/maintenancerim) +"ap" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/hangar) +"aq" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/hangarcontrol) +"ar" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cafet) +"as" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cabin1) +"at" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cabin2) +"au" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"av" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/maintenance1) +"aw" = ( +/obj/machinery/firealarm{ + pixel_x = 0; + pixel_y = 28 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/obj/structure/closet/secure_closet/medical1, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"ax" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"ay" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"az" = ( +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"aA" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cabin3) +"aB" = ( +/obj/machinery/portable_atmospherics/canister/phoron, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"aC" = ( +/obj/structure/closet/firecloset/full, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aD" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"aE" = ( +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aF" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"aG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 6 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"aH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aI" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cabin4) +"aJ" = ( +/obj/machinery/atmospherics/binary/pump{ + icon_state = "map_off"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aK" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cabin5) +"aL" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"aM" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/wall/rpshull, +/area/ship/expe/atmospherics) +"aN" = ( +/obj/machinery/atmospherics/pipe/tank/air, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"aO" = ( +/obj/machinery/atmospherics/valve, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aP" = ( +/obj/machinery/atmospherics/valve/open, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aQ" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cabin6) +"aR" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cabin7) +"aS" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1; + icon_state = "map" + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"aU" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aV" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cabin8) +"aW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aX" = ( +/obj/machinery/atmospherics/binary/pump/on{ + name = "gas pump - air - distro" + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aY" = ( +/obj/machinery/atmospherics/binary/pump, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"aZ" = ( +/obj/machinery/atmospherics/portables_connector{ + icon_state = "map_connector"; + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/empty, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"ba" = ( +/obj/machinery/atmospherics/binary/pump/on{ + name = "gas pump - waste - scrubbers"; + icon_state = "map_on"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bb" = ( +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/green{ + icon_state = "map"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"bc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"be" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/cabin9) +"bf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 10 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"bg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bh" = ( +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/green{ + icon_state = "map"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"bi" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -32 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"bk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack/full, +/obj/effect/floor_decal/corner/yellow/borderfull, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/engineering, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"bn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bo" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"bp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"bq" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"br" = ( +/obj/machinery/cablelayer, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"bu" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"bv" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"bw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"bx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"by" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor, +/area/ship/expe/sm) +"bz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"bB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"bC" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"bD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack/full, +/obj/effect/floor_decal/corner/yellow/borderfull, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/engineering, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"bE" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"bF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/atmospherics) +"bG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/turf/simulated/wall/rpshull, +/area/ship/expe/northairlock) +"bH" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/atmospherics) +"bI" = ( +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "northext" + }, +/obj/structure/fans/tiny, +/obj/structure/fans/tiny, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"bJ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"bK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"bL" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/bridge) +"bM" = ( +/obj/machinery/door/airlock/external{ + frequency = 1449; + id_tag = "northext" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"bN" = ( +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"bO" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"bP" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"bQ" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"bR" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1449; + id_tag = "northint" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"bS" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + frequency = 1449; + id_tag = "northvent" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"bT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"bU" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/hidden{ + icon_state = "door_open"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"bV" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"bW" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"bX" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"bY" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"bZ" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"ca" = ( +/obj/structure/window/reinforced{ + icon_state = "rwindow"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"cb" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"cc" = ( +/obj/structure/closet/firecloset/full, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"cd" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/blue{ + icon_state = "map"; + dir = 8 + }, +/obj/machinery/air_sensor{ + frequency = 1449; + id_tag = "northsensor" + }, +/obj/machinery/airlock_sensor{ + frequency = 1449; + id_tag = "northsensor"; + master_tag = "northairlock"; + pixel_x = -1; + pixel_y = -21 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"ce" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 9 + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + frequency = 1449; + id_tag = "northairlock"; + pixel_x = 1; + pixel_y = -25; + tag_airpump = "northvent"; + tag_chamber_sensor = "northsensor"; + tag_exterior_door = "northext"; + tag_interior_door = "northint" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"cf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"cg" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"ch" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"ci" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"cj" = ( +/obj/machinery/atmospherics/unary/engine{ + icon_state = "nozzle"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engines) +"ck" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/turf/simulated/floor, +/area/ship/expe/engines) +"cl" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/rack, +/obj/item/weapon/storage/box/lights/mixed, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"cm" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/rack, +/obj/item/weapon/storage/box/lights/mixed, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"cn" = ( +/obj/structure/closet/walllocker/emerglocker/north, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"co" = ( +/obj/machinery/vending/cigarette, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"cp" = ( +/obj/machinery/vending/coffee, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"cq" = ( +/obj/machinery/vending/cola, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"cr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 6 + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"cs" = ( +/obj/machinery/vending/fitness, +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"ct" = ( +/obj/machinery/vending/snack, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"cu" = ( +/obj/structure/table/rack, +/obj/item/weapon/storage/bag/trash, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"cv" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"cw" = ( +/obj/item/modular_computer/console/preset/civilian, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"cx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"cy" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"cz" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"cA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack/full, +/obj/machinery/door/firedoor/glass, +/obj/effect/floor_decal/corner/yellow/borderfull, +/obj/machinery/door/airlock/engineering, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/sm) +"cB" = ( +/obj/item/modular_computer/console/preset/civilian, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"cC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"cD" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"cE" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/machinery/access_button/airlock_interior{ + frequency = 1449; + master_tag = "northairlock"; + pixel_x = 23 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"cF" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/engineeringstorage) +"cG" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"cH" = ( +/obj/machinery/recharger/wallcharger{ + pixel_x = -25 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"cI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"cJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"cK" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"cL" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"cM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"cN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"cO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"cP" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/double, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"cQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"cR" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/double, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"cS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"cT" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"cU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/firecloset/full, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"cV" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"cW" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/maintenancerim) +"cY" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"cZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"da" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/northairlock) +"db" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/engineering) +"dc" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"dd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"de" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"df" = ( +/obj/machinery/shipsensors{ + dir = 1 + }, +/turf/simulated/floor/airless, +/area/ship/expe/bridge) +"dg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"dh" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"di" = ( +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"dj" = ( +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"dk" = ( +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"dl" = ( +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"dm" = ( +/obj/item/weapon/stool/padded, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"dn" = ( +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"do" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/table/steel_reinforced, +/obj/item/pizzavoucher, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"dp" = ( +/obj/item/weapon/stool/padded, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"dq" = ( +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"dr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"ds" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/sm) +"dt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"du" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"dv" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/corridor3) +"dw" = ( +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/turf/space, +/area/space) +"dx" = ( +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"dy" = ( +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"dz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"dA" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"dB" = ( +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"dC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"dD" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"dE" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"dF" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/maintenancerim) +"dG" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"dH" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin2) +"dI" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"dJ" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"dK" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"dL" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"dM" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"dN" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"dO" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"dP" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"dQ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"dR" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/obj/item/weapon/soap/nanotrasen, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin1) +"dS" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"dT" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"dU" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"dV" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"dW" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"dX" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"dY" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"dZ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"ea" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"eb" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"ec" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"ed" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/maintenance1) +"ee" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"ef" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"eg" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"eh" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/closet/crate, +/obj/fiftyspawner/phoron, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"ei" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"ej" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"ek" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"el" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"em" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"en" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"eo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"ep" = ( +/obj/structure/closet/crate, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"eq" = ( +/obj/machinery/recharger/wallcharger{ + pixel_x = -25 + }, +/obj/structure/table/rack, +/obj/item/clothing/suit/space/void/exploration, +/obj/item/clothing/suit/space/void/exploration, +/obj/item/clothing/suit/space/void/exploration, +/obj/item/clothing/head/helmet/space/void/exploration, +/obj/item/clothing/head/helmet/space/void/exploration, +/obj/item/clothing/head/helmet/space/void/exploration, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"er" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/space/void/exploration, +/obj/item/clothing/suit/space/void/exploration, +/obj/item/clothing/suit/space/void/exploration, +/obj/item/clothing/head/helmet/space/void/exploration, +/obj/item/clothing/head/helmet/space/void/exploration, +/obj/item/clothing/head/helmet/space/void/exploration, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"es" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"et" = ( +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"eu" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"ev" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"ew" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"ex" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"ey" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"ez" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"eA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"eB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"eC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"eD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"eE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/item/weapon/stool/padded, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"eF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"eG" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"eH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"eI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/corner_techfloor_grid/full{ + icon_state = "corner_techfloor_grid_full"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"eJ" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/maintenance1) +"eK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner_techfloor_grid, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"eL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"eM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"eN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"eO" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"eP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"eQ" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"eR" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"eS" = ( +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -32 + }, +/obj/machinery/power/terminal, +/obj/structure/cable, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"eT" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"eU" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"eV" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"eW" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"eX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"eY" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"eZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"fa" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/weapon/handcuffs/fuzzy, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"fb" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"fc" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"fd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"fe" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"ff" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"fg" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"fh" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"fi" = ( +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"fj" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"fk" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"fl" = ( +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"fm" = ( +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"fn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"fo" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"fp" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"fq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner_techfloor_grid/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"fr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"fs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/computer/shuttle_control/explore/vespaboat{ + icon_state = "computer"; + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"ft" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"fu" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"fv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"fw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"fx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"fy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/wall/rpshull, +/area/ship/expe/corridor3) +"fz" = ( +/obj/machinery/suit_cycler/exploration, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"fA" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"fB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"fC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"fD" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -32 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/item/weapon/stool/padded, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"fE" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/table/steel_reinforced, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"fF" = ( +/obj/structure/table/steel_reinforced, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"fG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/weapon/stool/padded, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"fH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"fI" = ( +/obj/machinery/door/airlock/glass, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"fJ" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"fK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"fL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"fM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"fN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"fO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"fP" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"fQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"fR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"fS" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"fT" = ( +/obj/structure/table/steel_reinforced, +/obj/machinery/microwave, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"fU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"fV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"fW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"fX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"fY" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"fZ" = ( +/obj/machinery/door/airlock/hatch, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"ga" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"gb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"gc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"gd" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/sciencemain) +"ge" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/item/weapon/stool/padded, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"gf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/item/weapon/stool/padded, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"gg" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"gh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner_techfloor_grid/full{ + icon_state = "corner_techfloor_grid_full"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"gi" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"gj" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"gk" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"gl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"gm" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"gn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"go" = ( +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"gp" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/scienceequip) +"gq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/obj/structure/bed/chair/bay/comfy{ + icon_state = "bay_comfychair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"gr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/computer/ship/helm{ + icon_state = "computer"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"gs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/bed/chair/bay/comfy{ + icon_state = "bay_comfychair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"gt" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/computer/ship/engines{ + dir = 8; + throwpass = 1 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"gu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 5 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"gv" = ( +/obj/machinery/sleep_console{ + icon_state = "sleeperconsole"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"gw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"gx" = ( +/obj/machinery/sleeper{ + icon_state = "sleeper_0"; + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"gy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"gz" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/box/glasses, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"gA" = ( +/obj/structure/table/steel_reinforced, +/obj/item/pizzabox/meat, +/obj/item/pizzabox/meat, +/obj/item/pizzabox/meat, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"gB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"gC" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 9 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"gD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"gE" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"gF" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"gG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"gH" = ( +/obj/machinery/shield_gen/advanced, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 10 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"gI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"gJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"gK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 5 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"gL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/engineering, +/turf/simulated/floor, +/area/ship/expe/sm) +"gM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"gN" = ( +/obj/structure/sign/chemistry, +/turf/simulated/wall/rpshull, +/area/ship/expe/medicalchem) +"gO" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/medicaleq) +"gP" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"gQ" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"gR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"gS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 10 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"gT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"gU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"gV" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 6 + }, +/turf/space, +/area/ship/expe/sm) +"gW" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 10 + }, +/turf/space, +/area/ship/expe/sm) +"gX" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/shield_capacitor/advanced, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"gY" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"gZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack/full, +/obj/effect/floor_decal/corner/yellow/borderfull, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/engineering, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"ha" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"hb" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/engineeringpower) +"hc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"hd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"he" = ( +/obj/structure/sign/department/eng, +/turf/simulated/wall/rpshull, +/area/ship/expe/engineeringpower) +"hf" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"hg" = ( +/obj/effect/floor_decal/corner/blue/bordercorner{ + icon_state = "bordercolorcorner"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"hh" = ( +/turf/simulated/wall/rpshull, +/area/shuttle/vespaboat) +"hi" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engines) +"hj" = ( +/obj/machinery/computer/ship/navigation{ + icon_state = "computer"; + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"hk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"hl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"hm" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/bed/chair, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"hn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/bed/chair, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"ho" = ( +/obj/structure/bed/chair, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"hp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"hq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"hr" = ( +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"hs" = ( +/obj/structure/closet/crate/freezer/rations, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"ht" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/science) +"hu" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"hv" = ( +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"hw" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"hx" = ( +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 4 + }, +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"hy" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"hz" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"hA" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"hB" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"hC" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"hD" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/engineeringequipment) +"hE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack/full, +/obj/effect/floor_decal/corner/yellow/borderfull, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/engineering, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"hF" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/closet/excavation, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 9 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"hG" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/closet/medical_wall{ + pixel_y = 30 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"hH" = ( +/obj/effect/floor_decal/techfloor, +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"hI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"hJ" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 5 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"hK" = ( +/obj/machinery/smartfridge/chemistry, +/turf/simulated/wall/rpshull, +/area/ship/expe/medicalchem) +"hL" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"hM" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"hN" = ( +/obj/structure/closet/crate, +/obj/fiftyspawner/uranium, +/obj/fiftyspawner/uranium, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"hO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"hP" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 9 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/obj/structure/dispenser/oxygen, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"hQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/corner_techfloor_grid/full{ + icon_state = "corner_techfloor_grid_full"; + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"hR" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"hS" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"hT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/corridor4) +"hU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"hV" = ( +/obj/structure/closet/crate, +/obj/fiftyspawner/uranium, +/obj/fiftyspawner/uranium, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 6 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringstorage) +"hW" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"hX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"hY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"hZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloorblack/corner{ + icon_state = "borderfloorcorner_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/bordercorner{ + icon_state = "bordercolorcorner"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"ia" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"ib" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 10 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"ic" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/sm) +"id" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging, +/turf/space, +/area/ship/expe/sm) +"ie" = ( +/obj/structure/bed/chair/bay/comfy/captain{ + icon_state = "capchair_preview"; + dir = 4 + }, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_x = -31; + pixel_y = 1 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"if" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/item/modular_computer/console{ + icon_state = "console"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"ig" = ( +/obj/structure/bed/chair/bay/comfy{ + icon_state = "bay_comfychair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"ih" = ( +/obj/machinery/computer/ship/helm{ + icon_state = "computer"; + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"ii" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"ij" = ( +/obj/structure/table/rack, +/obj/item/clothing/head/helmet/space/void/pilot, +/obj/item/clothing/suit/space/void/pilot, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"ik" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/table/rack, +/obj/item/clothing/head/helmet/space/void/pilot, +/obj/item/clothing/suit/space/void/pilot, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"il" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"im" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/corridor1) +"in" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/suit_cycler/pilot, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"io" = ( +/obj/machinery/atmospherics/portables_connector{ + icon_state = "map_connector"; + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor, +/area/ship/expe/northairlock) +"ip" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"iq" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/medicalmain) +"ir" = ( +/obj/machinery/vending/boozeomat, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"is" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"it" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 10 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"iu" = ( +/obj/effect/floor_decal/corner/white/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"iv" = ( +/obj/machinery/light, +/obj/effect/floor_decal/corner/white/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"iw" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/maintenance2) +"ix" = ( +/obj/effect/floor_decal/corner/white/border, +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"iy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/corner/white/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"iz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"iA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"iB" = ( +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 4 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"iC" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"iD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"iE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"iF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/door/airlock/research, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack/full, +/obj/effect/floor_decal/corner/mauve/borderfull, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"iG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/machinery/door/airlock/glass_engineering, +/turf/simulated/floor, +/area/ship/expe/sm) +"iH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"iI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"iJ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"iK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"iL" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"iM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"iN" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/structure/closet/walllocker/emerglocker/west, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"iO" = ( +/obj/machinery/power/port_gen/pacman/mrs, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"iP" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 5 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/obj/machinery/telecomms/allinone, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"iQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"iR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"iS" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"iT" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"iU" = ( +/obj/effect/floor_decal/corner/blue/bordercorner, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"iV" = ( +/obj/machinery/computer/ship/sensors{ + icon_state = "computer"; + dir = 8 + }, +/obj/machinery/light, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"iW" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"iX" = ( +/obj/machinery/door/airlock/hatch, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"iY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"iZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"ja" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"jb" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"jc" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"jd" = ( +/obj/machinery/door/airlock/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cafet) +"je" = ( +/obj/structure/window/phoronreinforced, +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"jf" = ( +/obj/structure/window/phoronreinforced, +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"jg" = ( +/obj/item/pizzavoucher, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"jh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"ji" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"jj" = ( +/obj/structure/table/rack, +/obj/item/stack/flag/green, +/obj/item/stack/flag/red, +/obj/item/stack/flag/blue, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 10 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"jk" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/light, +/obj/structure/table/rack, +/obj/item/device/geiger, +/obj/item/device/geiger, +/obj/item/device/geiger, +/obj/item/device/geiger, +/obj/effect/floor_decal/borderfloorblack, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"jl" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 6 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/scienceequip) +"jm" = ( +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"jn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"jo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"jp" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"jq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/structure/closet/secure_closet/engineering_welding, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"jr" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"js" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 5 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"jt" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"ju" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloorblack/corner, +/obj/effect/floor_decal/corner/yellow/bordercorner, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"jv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/pipedispenser/disposal, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"jw" = ( +/turf/simulated/floor, +/area/ship/expe/sm) +"jx" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"jy" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"jz" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"jA" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"jB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/machinery/door/firedoor/glass/hidden, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"jC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner/blue/borderfull, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/command, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"jD" = ( +/obj/machinery/power/rad_collector, +/turf/simulated/floor, +/area/ship/expe/sm) +"jE" = ( +/obj/machinery/power/rad_collector, +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"jF" = ( +/obj/machinery/power/rad_collector, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"jG" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"jH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"jI" = ( +/obj/machinery/atmospherics/portables_connector{ + icon_state = "map_connector"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"jJ" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ + icon_state = "intact"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/sm) +"jK" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 9 + }, +/turf/space, +/area/ship/expe/sm) +"jL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"jM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/bed/chair/bay/comfy{ + icon_state = "bay_comfychair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"jN" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/computer/ship/sensors{ + icon_state = "computer"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"jO" = ( +/obj/item/modular_computer/console{ + icon_state = "console"; + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"jP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"jQ" = ( +/obj/machinery/atmospherics/binary/pump/high_power{ + icon_state = "map_off"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"jR" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/blue{ + icon_state = "map"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"jS" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/button/remote/blast_door{ + pixel_x = 24; + pixel_y = 1; + id = "SuperMatterDoors" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"jT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"jU" = ( +/obj/machinery/power/smes, +/obj/structure/cable, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/sm) +"jV" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"jW" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"jX" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"jY" = ( +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"jZ" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"ka" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/blast/regular{ + id = "SuperMatterDoors" + }, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"kb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"kc" = ( +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"kd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"ke" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"kf" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"kg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/science) +"kh" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"ki" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"kj" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/medicalchem) +"kk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"kl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"km" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"kn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"ko" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"kp" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 9 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"kq" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"kr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"ks" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"kt" = ( +/obj/structure/table/steel_reinforced, +/obj/fiftyspawner/glass, +/obj/fiftyspawner/steel, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"ku" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"kv" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"kw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"kx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"ky" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"kz" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"kA" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"kB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"kC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/pipedispenser, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"kD" = ( +/obj/machinery/atmospherics/pipe/cap/visible/supply{ + icon_state = "cap-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/cap/visible/scrubbers{ + icon_state = "cap-scrubbers"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"kE" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"kF" = ( +/obj/machinery/atmospherics/binary/pump/high_power{ + icon_state = "map_off"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"kG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/machinery/door/airlock/glass_engineering, +/turf/simulated/floor, +/area/ship/expe/sm) +"kH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"kI" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"kJ" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"kK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"kL" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"kM" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"kN" = ( +/obj/machinery/door/airlock/hatch, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"kO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"kP" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"kQ" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"kR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"kS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"kT" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"kU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"kV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"kW" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"kX" = ( +/obj/machinery/power/rad_collector, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"kY" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"kZ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"la" = ( +/obj/machinery/portable_atmospherics/canister/empty, +/obj/machinery/atmospherics/portables_connector, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"lb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"lc" = ( +/obj/machinery/power/rad_collector, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"ld" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"le" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"lf" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"lg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"lh" = ( +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"li" = ( +/obj/machinery/radiocarbon_spectrometer, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"lj" = ( +/obj/structure/closet, +/obj/item/device/camera, +/obj/item/device/aicard, +/obj/item/device/geiger, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"lk" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + landmark_tag = "HPV_port"; + name = "port of Vespa" + }, +/turf/space, +/area/space) +"ll" = ( +/obj/structure/closet, +/obj/item/device/bodysnatcher, +/obj/item/device/geiger, +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"lm" = ( +/obj/structure/closet, +/obj/item/device/ano_scanner, +/obj/item/device/geiger, +/turf/simulated/floor, +/area/ship/expe/corridor2) +"ln" = ( +/turf/simulated/floor, +/area/ship/expe/corridor2) +"lo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"lp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner/mauve/bordercorner{ + icon_state = "bordercolorcorner"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack/corner{ + icon_state = "borderfloorcorner_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/bordercorner{ + icon_state = "bordercolorcorner"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"lq" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 5 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"lr" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/rack, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 9 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/sciencestorage) +"ls" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"lt" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"lu" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/table/rack, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 5 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/sciencestorage) +"lv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"lw" = ( +/obj/structure/table/steel_reinforced, +/obj/fiftyspawner/plasteel, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"lx" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/blue, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"ly" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/toolbox/mechanical, +/obj/item/weapon/storage/toolbox/mechanical, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 10 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"lz" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/storage/toolbox/electrical, +/obj/item/weapon/storage/toolbox/electrical, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"lA" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"lB" = ( +/obj/machinery/autolathe, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"lC" = ( +/obj/machinery/alarm{ + dir = 4; + pixel_x = -25; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 6 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"lD" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"lE" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"lF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/machinery/suit_cycler/engineering, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"lG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"lH" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"lI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"lJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"lK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"lL" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/blue, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"lM" = ( +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"lN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"lO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"lP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"lQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"lR" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/blue{ + icon_state = "map"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"lS" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 5 + }, +/turf/space, +/area/ship/expe/sm) +"lT" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -24 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"lU" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/double, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"lV" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/double, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"lW" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/double, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"lX" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/double, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"lY" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/double, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"lZ" = ( +/obj/structure/closet/firecloset/full, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"ma" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"mb" = ( +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"mc" = ( +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/obj/machinery/photocopier, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"md" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"me" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"mf" = ( +/obj/structure/table/steel_reinforced, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"mg" = ( +/obj/machinery/computer/message_monitor{ + icon_state = "computer"; + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/bridge) +"mh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"mi" = ( +/obj/machinery/power/terminal, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/structure/cable, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"mj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"mk" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"ml" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal{ + icon_state = "map_universal"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"mm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 9 + }, +/obj/structure/closet/crate/freezer/rations, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"mn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"mo" = ( +/obj/machinery/power/rad_collector, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"mp" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"mq" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"mr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"ms" = ( +/obj/machinery/door/airlock/research, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner/mauve/borderfull, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor, +/area/ship/expe/sciencemain) +"mt" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"mu" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"mv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/door/airlock/research, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack/full, +/obj/effect/floor_decal/corner/mauve/borderfull, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/white, +/area/ship/expe/sciencestorage) +"mw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/sciencestorage) +"mx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"my" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"mz" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/sciencestorage) +"mA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"mB" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/sciencestorage) +"mC" = ( +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"mD" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"mE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/structure/table/rack, +/obj/item/clothing/head/helmet/space/void/engineering, +/obj/item/clothing/suit/space/void/engineering, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"mF" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"mG" = ( +/obj/effect/shuttle_landmark/automatic, +/turf/space, +/area/space) +"mH" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/table/steel_reinforced, +/obj/machinery/cell_charger, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"mI" = ( +/turf/simulated/wall/r_lead, +/area/ship/expe/smstorage) +"mJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"mK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"mL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"mM" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"mN" = ( +/obj/machinery/power/smes/buildable, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"mO" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"mP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"mQ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"mR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal{ + icon_state = "map_universal"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"mS" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + icon_state = "air_map"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"mT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"mU" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/structure/closet, +/obj/item/device/flashlight/maglight, +/obj/item/device/flashlight/maglight, +/obj/item/device/flashlight/maglight, +/obj/item/device/flashlight/maglight, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"mV" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"mW" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/structure/table/rack/shelf, +/obj/item/device/geiger, +/obj/item/device/geiger, +/obj/item/device/geiger, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"mX" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/structure/table/rack/shelf, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/obj/item/device/radio, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"mY" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"mZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"na" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"nb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"nc" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 5 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/obj/machinery/autolathe{ + hacked = 1; + name = "unlocked autolathe" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"nd" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"ne" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"nf" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"ng" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"nh" = ( +/obj/machinery/door/airlock/research, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner/mauve/borderfull, +/obj/effect/floor_decal/borderfloorblack/full, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"ni" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner/blue/borderfull, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/command, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"nj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/corridor2) +"nk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"nl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"nm" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"nn" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"no" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"np" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/corridor2) +"nq" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"nr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"ns" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/corner/mauve/bordercorner{ + icon_state = "bordercolorcorner"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/borderfloorblack/corner{ + icon_state = "borderfloorcorner_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border, +/obj/effect/floor_decal/corner/mauve/bordercorner{ + icon_state = "bordercolorcorner"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"nt" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 6 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"nu" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"nv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"nw" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/light, +/obj/structure/table/rack, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 10 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/sciencestorage) +"nx" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/chemical_dispenser, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"ny" = ( +/obj/structure/table/rack, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 6 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/sciencestorage) +"nz" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"nA" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"nB" = ( +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"nC" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"nD" = ( +/obj/machinery/portable_atmospherics/powered/scrubber, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"nE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"nF" = ( +/obj/machinery/power/rad_collector, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"nG" = ( +/obj/machinery/atmospherics/unary/freezer{ + icon_state = "freezer_0"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"nH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 5 + }, +/obj/structure/dispenser/phoron, +/turf/simulated/floor, +/area/ship/expe/sm) +"nI" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"nJ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor3) +"nK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"nL" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/machinery/photocopier/faxmachine, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"nM" = ( +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/machinery/photocopier, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"nN" = ( +/obj/structure/table/woodentable, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"nO" = ( +/obj/structure/table/woodentable, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"nP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"nQ" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"nR" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/light, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"nS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1500; + id_tag = "vespaboat_docker"; + pixel_x = 22; + pixel_y = -2; + tag = "vespaboat_docker" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"nT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"nU" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"nV" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"nW" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"nX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"nY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"nZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"oa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"ob" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/green{ + icon_state = "map"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"oc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"od" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"oe" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"of" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"og" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"oh" = ( +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"oi" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/machinery/alarm{ + dir = 4; + pixel_x = -25; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"oj" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 10 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"ok" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 6 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"ol" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"om" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"on" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"oo" = ( +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"op" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"oq" = ( +/obj/machinery/portable_atmospherics/powered/pump, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"or" = ( +/obj/machinery/portable_atmospherics/powered/pump, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 6 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"os" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"ot" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/science) +"ou" = ( +/obj/effect/floor_decal/techfloor, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"ov" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"ow" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"ox" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ + icon_state = "intact"; + dir = 4 + }, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"oy" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 8 + }, +/turf/space, +/area/ship/expe/sm) +"oz" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"oA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"oB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"oC" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"oD" = ( +/obj/structure/cable, +/turf/space, +/area/space) +"oE" = ( +/obj/machinery/portable_atmospherics/canister/phoron, +/turf/simulated/floor, +/area/ship/expe/smstorage) +"oF" = ( +/obj/machinery/power/emitter, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/turf/simulated/floor, +/area/ship/expe/smstorage) +"oG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"oH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"oI" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/structure/table/woodentable, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"oJ" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack/corner{ + icon_state = "borderfloorcorner_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/mauve/bordercorner{ + icon_state = "bordercolorcorner"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"oK" = ( +/obj/machinery/atmospherics/portables_connector, +/turf/simulated/floor, +/area/ship/expe/sm) +"oL" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 9 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"oM" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 5 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/obj/machinery/access_button/airlock_interior{ + frequency = 1500; + master_tag = "vespalock"; + pixel_x = 1; + pixel_y = 22 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"oN" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"oO" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 6 + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1500; + id_tag = "vespaboat_docker"; + pixel_x = 0; + pixel_y = 19 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"oP" = ( +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + frequency = 1500; + pixel_x = 0; + pixel_y = 18; + tag_airpump = "vespavent"; + tag_chamber_sensor = "vespasensor"; + tag_exterior_door = "vespaext"; + tag_interior_door = "vespaint" + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + frequency = 1500; + icon_state = "map_vent_out"; + id_tag = "vespavent"; + use_power = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"oQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/science) +"oR" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/airlock_sensor{ + frequency = 1500; + master_tag = "vespasensor"; + pixel_y = 19 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"oS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"oT" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"oU" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"oV" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/obj/structure/bed/chair, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"oW" = ( +/obj/machinery/power/rad_collector, +/obj/structure/cable, +/obj/structure/window/phoronreinforced, +/turf/simulated/floor, +/area/ship/expe/sm) +"oX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/bed/chair, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"oY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/bed/chair, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"oZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/bed/chair, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"pa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"pb" = ( +/obj/machinery/body_scanconsole{ + icon_state = "scanner_terminal_off"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"pc" = ( +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"pd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"pe" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"pf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"pg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"ph" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineering) +"pi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/machinery/door/firedoor/glass, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"pj" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"pk" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"pl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"pm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"pn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"po" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"pp" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/bed/chair/bay/comfy/captain{ + icon_state = "capchair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"pq" = ( +/obj/item/modular_computer/console{ + icon_state = "console"; + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"pr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"ps" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/mauve/border, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"pt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/mauve/border, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"pu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"pv" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"pw" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"px" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"py" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 6 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"pz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/glass_external{ + frequency = 1500; + id_tag = "vespaint" + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"pA" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"pB" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"pC" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"pD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/black{ + icon_state = "map"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"pE" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"pF" = ( +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"pG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + frequency = 1500; + icon_state = "map_vent_out"; + id_tag = "vespavent"; + use_power = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"pH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/shuttle_landmark/shuttle_initializer/vespaboat, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"pI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/glass_external{ + frequency = 1500; + id_tag = "vespaext"; + locked = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"pJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"pK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"pL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/paper_bin, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"pM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/pen, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"pN" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"pO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/folder/white, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"pP" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"pQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/table/steel_reinforced, +/obj/item/device/universal_translator, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"pR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 10 + }, +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"pS" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"pT" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"pU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"pV" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/blast/regular{ + id = "SuperMatterDoors" + }, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"pW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"pX" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/blast/regular{ + id = "SuperMatterDoors" + }, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"pY" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/ship/expe/smstorage) +"pZ" = ( +/obj/structure/dispenser/oxygen, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"qa" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"qb" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/blast/regular{ + id = "SuperMatterDoors" + }, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"qc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"qd" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner_techfloor_grid/full{ + icon_state = "corner_techfloor_grid_full"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"qe" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"qf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"qg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor/corner, +/obj/effect/floor_decal/corner_techfloor_grid/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"qh" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/corner_techfloor_grid{ + icon_state = "corner_techfloor_grid"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"qi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"qj" = ( +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"qk" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"ql" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"qm" = ( +/obj/machinery/door/window{ + icon_state = "left"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 5 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"qn" = ( +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"qo" = ( +/obj/structure/window/phoronreinforced{ + icon_state = "phoronrwindow"; + dir = 1 + }, +/obj/machinery/atmospherics/portables_connector{ + icon_state = "map_connector"; + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"qp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"qq" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"qr" = ( +/obj/machinery/access_button/airlock_exterior{ + pixel_x = 7 + }, +/turf/simulated/wall/rpshull, +/area/shuttle/vespaboat) +"qs" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/door/blast/regular{ + id = "SuperMatterDoors" + }, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"qt" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/door/blast/regular{ + id = "SuperMatterDoors" + }, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"qu" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"qv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"qw" = ( +/obj/structure/table/steel_reinforced, +/obj/item/weapon/folder/blue, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"qx" = ( +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"qy" = ( +/obj/structure/table/steel_reinforced, +/obj/item/device/universal_translator, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"qz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"qA" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"qB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"qC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"qD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"qE" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"qF" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/expedition) +"qG" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/machinery/sleeper{ + icon_state = "sleeper_0"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"qH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/armoury) +"qI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/smstorage) +"qJ" = ( +/obj/structure/grille, +/obj/structure/window/phoronreinforced/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/blast/regular{ + id = "SuperMatterDoors" + }, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"qK" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"qL" = ( +/obj/machinery/power/supermatter/shard, +/turf/simulated/floor/reinforced/phoron, +/area/ship/expe/sm) +"qM" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"qN" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"qO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/corner_techfloor_grid/full{ + icon_state = "corner_techfloor_grid_full"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"qP" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 10 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"qQ" = ( +/obj/machinery/light, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"qR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"qS" = ( +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"qT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"qU" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"qV" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor6) +"qW" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"qX" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"qY" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"qZ" = ( +/obj/structure/table/woodentable, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"ra" = ( +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/captaindouble, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"rb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rc" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"re" = ( +/obj/machinery/door/airlock/hatch, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"rf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"rg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"rh" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"ri" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"rj" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"rk" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"rl" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/simulated/floor/plating/external, +/area/shuttle/vespaboat) +"rm" = ( +/turf/simulated/floor/plating/external, +/area/shuttle/vespaboat) +"rn" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"ro" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"rp" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/double, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"rq" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/bed/double, +/obj/item/weapon/bedsheet/double, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"rr" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rs" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 4 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/structure/table/rack/shelf, +/obj/item/device/gps/explorer, +/obj/item/device/gps/explorer, +/obj/item/device/gps/explorer, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rt" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"ru" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"rv" = ( +/obj/item/modular_computer/console/preset/civilian, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin3) +"rw" = ( +/obj/item/modular_computer/console/preset/civilian, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin4) +"rx" = ( +/obj/item/modular_computer/console/preset/civilian, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin5) +"ry" = ( +/obj/item/modular_computer/console/preset/civilian, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"rz" = ( +/obj/item/modular_computer/console/preset/civilian, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin7) +"rA" = ( +/obj/item/modular_computer/console/preset/civilian, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin8) +"rB" = ( +/obj/item/modular_computer/console/preset/civilian, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin9) +"rC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"rD" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/machinery/atmospherics/unary/freezer, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"rE" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/obj/item/weapon/storage/firstaid/o2, +/obj/item/weapon/storage/firstaid/o2, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"rF" = ( +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"rG" = ( +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/space, +/area/space) +"rH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"rI" = ( +/obj/structure/table/reinforced, +/obj/structure/closet/walllocker/emerglocker/north, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/item/weapon/storage/firstaid/regular, +/obj/item/weapon/storage/firstaid/regular, +/obj/item/weapon/storage/firstaid/regular, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"rJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"rK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"rL" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"rM" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"rN" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/purple/border, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/pen, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rO" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/purple/border, +/obj/structure/table/steel_reinforced, +/obj/item/weapon/folder/red, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rP" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/purple/border, +/obj/structure/table/steel_reinforced, +/obj/machinery/photocopier/faxmachine, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rQ" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/purple/border, +/obj/machinery/photocopier, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rR" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/purple/border, +/obj/structure/closet/crate, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rS" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/purple/border, +/obj/machinery/mineral/equipment_vendor/survey, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rT" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 6 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/obj/structure/table/rack/shelf, +/obj/item/device/gps/explorer, +/obj/item/device/gps/explorer, +/obj/item/device/gps/explorer, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"rU" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenance1) +"rV" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 6 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"rW" = ( +/obj/machinery/door/airlock/glass_medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"rX" = ( +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/white, +/area/ship/expe/corridor2) +"rY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner_techfloor_grid/full{ + icon_state = "corner_techfloor_grid_full"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"rZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"sa" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"sb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"sc" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"sd" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"se" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/sleep_console{ + icon_state = "sleeperconsole"; + dir = 2 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"sf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"sg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"sh" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"si" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"sj" = ( +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"sk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"sl" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/machinery/access_button/airlock_interior{ + pixel_x = 24; + pixel_y = -1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"sm" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/corridor2) +"sn" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangar) +"so" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"sp" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1459; + id_tag = "southint" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"sq" = ( +/obj/structure/dispenser/oxygen, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 10 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"sr" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"ss" = ( +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/machinery/light, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"st" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 6 + }, +/obj/machinery/air_sensor{ + frequency = 1459; + id_tag = "southsensor" + }, +/obj/machinery/airlock_sensor{ + frequency = 1459; + id_tag = "southsensor"; + pixel_x = 0; + pixel_y = 21 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"su" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/blue{ + icon_state = "map"; + dir = 4 + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + frequency = 1459; + id_tag = "southairlock"; + pixel_x = 0; + pixel_y = 21; + tag_airpump = "southvent"; + tag_chamber_sensor = "southsensor"; + tag_exterior_door = "southext"; + tag_interior_door = "southint" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"sv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 6 + }, +/turf/simulated/floor, +/area/ship/expe/corridor2) +"sw" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/corridor2) +"sx" = ( +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -32 + }, +/obj/machinery/power/terminal, +/obj/structure/cable, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"sy" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"sz" = ( +/obj/machinery/atmospherics/unary/vent_pump{ + dir = 1; + external_pressure_bound = 140; + external_pressure_bound_default = 140; + frequency = 1459; + icon_state = "map_vent_out"; + id_tag = "southvent"; + pressure_checks = 0; + pressure_checks_default = 0; + use_power = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"sA" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sB" = ( +/obj/structure/fans/tiny, +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external{ + frequency = 1459; + id_tag = "southext" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"sC" = ( +/obj/machinery/door/airlock/external{ + frequency = 1459; + id_tag = "southext" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/southairlock) +"sD" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engines) +"sE" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 10 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sG" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"sH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sI" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sJ" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/closet/firecloset/full, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sL" = ( +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sM" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sN" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"sO" = ( +/obj/structure/closet/firecloset/full, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sP" = ( +/obj/machinery/atmospherics/portables_connector{ + icon_state = "map_connector"; + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sS" = ( +/obj/item/weapon/handcuffs/fuzzy, +/turf/simulated/floor, +/area/ship/expe/maintenance2) +"sT" = ( +/obj/machinery/atmospherics/pipe/tank/phoron, +/turf/simulated/floor, +/area/ship/expe/engines) +"sU" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"sV" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"sW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"sX" = ( +/obj/machinery/atmospherics/binary/pump, +/turf/simulated/floor, +/area/ship/expe/engines) +"sY" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"sZ" = ( +/obj/item/inflatable/torn, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engines) +"ta" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"tb" = ( +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"tc" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"td" = ( +/obj/structure/table/reinforced, +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/toxin, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"te" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"tf" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/captqua) +"tg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"th" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"ti" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"tj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/machinery/meter, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"tk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/machinery/meter, +/turf/simulated/floor, +/area/ship/expe/engines) +"tl" = ( +/turf/simulated/floor, +/area/ship/expe/engines) +"tm" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"tn" = ( +/obj/machinery/bodyscanner{ + icon_state = "scanner_open"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"to" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"tp" = ( +/obj/machinery/access_button/airlock_exterior{ + pixel_x = -1; + pixel_y = 25 + }, +/turf/space, +/area/space) +"tq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/obj/structure/closet/crate, +/obj/item/weapon/storage/box/bloodpacks, +/obj/item/weapon/storage/box/backup_kit, +/obj/item/weapon/storage/box/gloves, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"tr" = ( +/obj/structure/table/reinforced, +/obj/machinery/chemical_dispenser/biochemistry, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"ts" = ( +/obj/effect/overmap/visitable/ship/vespa{ + fore_dir = 4 + }, +/turf/space, +/area/space) +"tt" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 6 + }, +/obj/machinery/door/firedoor/glass/hidden{ + icon_state = "door_open"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"tu" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/table/woodentable, +/obj/item/weapon/soap/nanotrasen, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/cabin6) +"tv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/turf/simulated/floor, +/area/ship/expe/engines) +"tw" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"tx" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/medicalsur) +"ty" = ( +/turf/space, +/area/ship/expe/engines) +"tz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"tA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner/purple/borderfull, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/glass_science, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"tB" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"tC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"tD" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/machinery/chem_master, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"tE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"tF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"tG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"tH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"tI" = ( +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"tJ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"tK" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"tL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"tM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"tN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"tO" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"tP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"tQ" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"tR" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"tS" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"tT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"tU" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/item/weapon/storage/firstaid/fire, +/obj/item/weapon/storage/firstaid/fire, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"tV" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"tW" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 10 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/obj/structure/table/steel_reinforced, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"tX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"tY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"tZ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"ua" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"ub" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"uc" = ( +/obj/structure/sign/examroom, +/turf/simulated/wall/rpshull, +/area/ship/expe/medicalsur) +"ud" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/medical) +"ue" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"uf" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 9 + }, +/obj/effect/floor_decal/corner/purple/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/obj/structure/closet, +/obj/item/weapon/cell/high, +/obj/item/weapon/cell/high, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/expedition) +"ug" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"uh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/structure/closet/walllocker/emerglocker/west, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/captqua) +"ui" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor5) +"uj" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/vespaboat) +"uk" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/space, +/area/space) +"ul" = ( +/obj/structure/closet/walllocker/emerglocker/east, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"um" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/obj/structure/closet/walllocker/emerglocker/south, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"un" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/obj/structure/closet/walllocker/emerglocker/south, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"uo" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"up" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"uq" = ( +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/space, +/area/space) +"ur" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"us" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/space, +/area/space) +"ut" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"uu" = ( +/obj/structure/table/reinforced, +/obj/machinery/chemical_dispenser, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"uv" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"uw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/weapon/soap/syndie, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"ux" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + icon_state = "map-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 4 + }, +/obj/machinery/door/firedoor/glass/hidden, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor4) +"uy" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"uz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"uA" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/item/weapon/storage/firstaid/adv, +/obj/item/weapon/storage/firstaid/adv, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"uB" = ( +/obj/machinery/chem_master, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"uC" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"uD" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"uE" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/southright, +/obj/machinery/door/window/northright, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"uF" = ( +/obj/machinery/door/airlock/glass_medical, +/obj/machinery/door/firedoor/glass, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"uG" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/medical1) +"uH" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + icon_state = "door_closed"; + dir = 8 + }, +/obj/machinery/door/firedoor/glass, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/corridor2) +"uI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"uJ" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"uK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"uL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/techfloor, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"uM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/space, +/area/space) +"uN" = ( +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"uO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"uP" = ( +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/armoury) +"uQ" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/armoury) +"uR" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 8 + }, +/obj/effect/floor_decal/corner/mauve/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"uS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"uT" = ( +/obj/machinery/firealarm{ + pixel_x = -31; + pixel_y = -1 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"uU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"uV" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -24 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"uW" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"uX" = ( +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"uY" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/mauve/border, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/steel, +/area/shuttle/vespaboat) +"uZ" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -24 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"va" = ( +/obj/machinery/firealarm{ + pixel_x = -28 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"vb" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable, +/turf/simulated/floor, +/area/shuttle/vespaboat) +"vc" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/item/weapon/storage/box/pillbottles, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"vd" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"ve" = ( +/obj/machinery/atmospherics/trinary/atmos_filter/m_filter{ + icon_state = "mmap"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"vf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"vg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"vh" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/item/weapon/storage/box/syringes, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"vi" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/reagent_containers/dropper, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"vj" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"vk" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + landmark_tag = "HPV_starboard"; + name = "starboard of Vespa" + }, +/turf/space, +/area/space) +"vl" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"vm" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"vn" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"vo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"vp" = ( +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/wall/rpshull, +/area/ship/expe/medicalsur) +"vq" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/armoury) +"vr" = ( +/obj/machinery/door/airlock/medical, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"vs" = ( +/turf/simulated/floor, +/area/shuttle/vespaboat) +"vt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"vu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"vv" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"vw" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"vx" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/space, +/area/space) +"vy" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/machinery/atmospherics/portables_connector, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"vz" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/space, +/area/space) +"vA" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/space, +/area/space) +"vB" = ( +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"vC" = ( +/obj/structure/closet/secure_closet/medical3, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"vD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"vE" = ( +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"vF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/armoury) +"vG" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/green, +/turf/simulated/floor, +/area/ship/expe/engines) +"vH" = ( +/obj/structure/sign/department/medbay, +/turf/simulated/wall/rpshull, +/area/ship/expe/corridor2) +"vI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/ship/expe/maintenancerim) +"vJ" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"vK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"vL" = ( +/obj/machinery/holoplant, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"vM" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"vN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"vO" = ( +/obj/machinery/atmospherics/trinary/atmos_filter/m_filter{ + icon_state = "mmap"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"vP" = ( +/obj/machinery/firealarm{ + pixel_x = 0; + pixel_y = 31 + }, +/obj/structure/bed/chair, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"vQ" = ( +/obj/structure/closet/walllocker/emerglocker/north, +/obj/structure/bed/chair, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"vR" = ( +/obj/structure/closet/secure_closet/medical_wall{ + pixel_x = 0; + pixel_y = 32; + req_access = ""; + req_one_access = "" + }, +/obj/structure/bed/chair, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"vS" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/structure/bed/chair, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"vT" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"vU" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/blue, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/ship/expe/sm) +"vV" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"vW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; + dir = 1 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor2) +"vX" = ( +/obj/machinery/power/smes/buildable/hybrid{ + recharge_rate = 10000 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"vY" = ( +/obj/effect/shuttle_landmark/automatic{ + name = "starboard of Vespa" + }, +/turf/space, +/area/space) +"vZ" = ( +/obj/structure/sign/department/engine, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"wa" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/firealarm{ + pixel_y = -26 + }, +/obj/structure/closet/firecloset/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/hangarcontrol) +"wb" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/structure/closet/radiation, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"wc" = ( +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 1 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/obj/structure/closet/radiation, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringpower) +"wd" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/maintenance2) +"we" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/light, +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/corner/yellow/border, +/obj/structure/closet/firecloset/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"wf" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorblack{ + icon_state = "borderfloor_black"; + dir = 6 + }, +/obj/effect/floor_decal/corner/yellow/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/obj/structure/closet/firecloset/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/engineeringequipment) +"wg" = ( +/obj/structure/sign/department/engine, +/turf/simulated/wall/r_lead, +/area/ship/expe/smstorage) +"wh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue, +/turf/simulated/wall/rpshull, +/area/ship/expe/corridor2) +"wi" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloor_edges"; + dir = 10 + }, +/obj/structure/closet/firecloset/full, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/corridor1) +"wj" = ( +/obj/machinery/atmospherics/valve{ + icon_state = "map_valve0"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"wk" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/green{ + icon_state = "map"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"wl" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/wall/r_lead, +/area/ship/expe/sm) +"wm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/armoury) +"wn" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/armoury) +"wo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/green{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"wp" = ( +/obj/machinery/atmospherics/pipe/cap/visible{ + icon_state = "cap"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"wq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 9 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"wr" = ( +/obj/structure/closet/walllocker/emerglocker/north, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"ws" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wt" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wu" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicaleq) +"wv" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"ww" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wx" = ( +/obj/structure/closet/walllocker/emerglocker/north, +/obj/structure/bed, +/obj/structure/curtain/medical, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wy" = ( +/obj/machinery/firealarm{ + pixel_x = -1; + pixel_y = 30 + }, +/obj/structure/bed, +/obj/structure/curtain/medical, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wz" = ( +/obj/structure/bed, +/obj/structure/curtain/medical, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wA" = ( +/obj/structure/bed, +/obj/structure/curtain/medical, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wB" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"wC" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"wD" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/obj/item/weapon/storage/box/beakers, +/obj/item/weapon/storage/box/beakers, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"wE" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/obj/item/weapon/reagent_containers/spray/cleaner, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalchem) +"wF" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wG" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wH" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"wI" = ( +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"wJ" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"wK" = ( +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -32 + }, +/obj/machinery/power/terminal, +/obj/structure/cable, +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"wL" = ( +/obj/machinery/holoplant, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical) +"wM" = ( +/obj/machinery/computer/operating{ + icon_state = "computer"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wN" = ( +/obj/machinery/optable, +/obj/machinery/oxygen_pump/anesthetic{ + pixel_x = -1; + pixel_y = -28 + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wO" = ( +/turf/simulated/wall/rpshull, +/area/ship/expe/southairlock) +"wP" = ( +/obj/machinery/optable, +/obj/machinery/oxygen_pump/anesthetic{ + pixel_x = 1; + pixel_y = -27 + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wQ" = ( +/obj/machinery/computer/operating{ + icon_state = "computer"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wR" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 10 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wS" = ( +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wT" = ( +/obj/structure/bed, +/obj/structure/curtain/medical, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wU" = ( +/obj/structure/bed, +/obj/structure/curtain/medical, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 6 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medical1) +"wV" = ( +/obj/structure/table/reinforced, +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -24 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 9 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/obj/item/weapon/storage/box/freezer, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wW" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/obj/item/weapon/storage/box/freezer, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wX" = ( +/obj/machinery/firealarm{ + pixel_x = -31; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 8 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/weapon/storage/firstaid/surgery, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wY" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/item/weapon/storage/firstaid/surgery, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"wZ" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/obj/item/weapon/storage/box/gloves, +/obj/item/weapon/storage/box/masks, +/obj/item/weapon/reagent_containers/spray/cleaner, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"xa" = ( +/obj/structure/table/reinforced, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/paleblue/border, +/obj/item/weapon/storage/quickdraw/syringe_case, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"xb" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/reagent_containers/spray/sterilizine, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalsur) +"xc" = ( +/obj/machinery/atmospherics/portables_connector{ + icon_state = "map_connector"; + dir = 1 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"xd" = ( +/obj/machinery/atmospherics/portables_connector{ + icon_state = "map_connector"; + dir = 4 + }, +/turf/simulated/floor, +/area/ship/expe/engines) +"xe" = ( +/obj/item/inflatable/torn, +/turf/simulated/floor, +/area/ship/expe/engines) +"xf" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 5 + }, +/obj/machinery/atmospherics/unary/cryo_cell, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"xg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"xh" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/blue, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"xi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"xj" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 4 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/blue{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"xk" = ( +/obj/effect/floor_decal/borderfloorwhite{ + icon_state = "borderfloor_white"; + dir = 1 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/weapon/tool/wrench, +/turf/simulated/floor/tiled/white, +/area/ship/expe/medicalmain) +"xl" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/maintenance1) +"xm" = ( +/turf/simulated/floor, +/area/space) +"xn" = ( +/turf/simulated/floor/tiled/techfloor, +/area/ship/expe/maintenance2) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cc +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +bN +cc +ah +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cr +du +du +du +du +du +du +du +du +du +du +du +du +du +du +du +du +du +du +du +du +du +du +du +hq +ah +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cx +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +cx +ah +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cx +ap +hu +hu +hu +hu +fp +hu +hu +hu +hu +hu +hu +hu +hu +hu +hu +hu +hu +fp +hu +hu +hu +ap +cx +ah +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cx +ap +hu +bx +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +ci +pr +ql +hu +hu +hu +ap +cx +ah +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cx +ap +hu +hd +hh +hh +hh +hh +hh +hh +hh +lE +lE +lE +hh +hh +hh +hh +hh +hh +hh +hu +hu +ap +cx +ah +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cx +ap +hu +bB +lE +pv +qS +hh +oL +si +si +si +si +si +uC +uJ +uR +si +qP +vb +hh +hh +hu +ap +cx +ah +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cx +ap +hu +bB +lE +qN +qT +re +sd +sj +sj +sj +sj +sj +sj +uK +uS +sj +uY +vs +hh +rl +hu +ap +cx +ah +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cx +ap +hu +bB +lE +pv +fr +hh +gu +hk +hk +iW +jP +kL +mh +mL +nQ +oJ +ps +vb +hh +rl +hu +ap +cx +ah +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ah +cx +ap +hu +bB +lE +eg +fs +hh +hh +hh +hh +iX +hh +kN +hh +hh +hh +sc +pt +vs +hh +rm +hu +ap +cx +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ts +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ah +ah +cj +cj +cj +cj +ah +cx +ap +cg +bB +hh +hh +hh +hh +jm +hl +sf +iZ +hh +kO +mi +mN +hh +oM +py +vs +hh +rm +rL +ap +cx +ah +cj +cj +cj +cj +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ah +ah +bb +bh +bh +ca +ah +cx +ap +hu +bB +hh +eh +ft +hh +qS +hm +uj +ja +hh +tR +mj +mP +hh +lE +pz +hh +hh +rm +hu +ap +cx +ah +bb +bh +bh +ca +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ah +ah +bf +tv +bp +tv +ck +dt +ap +hu +bB +hh +ep +fv +fZ +sf +hn +ii +ja +hh +kT +mk +mQ +hh +oO +pD +qm +hh +rl +hu +ap +ob +ck +wo +vJ +tl +tl +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ah +ah +ah +ah +ah +bN +ap +hu +bB +hh +pv +fr +hh +gv +ho +qS +ja +hh +kZ +ml +mR +hh +oP +pG +qn +hh +rl +hu +ap +cx +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aN +aP +aX +bc +bi +br +ab +aC +bN +ap +hu +bB +hh +eg +fw +hh +gx +ho +qS +jb +hh +la +mm +mS +hh +oR +pH +qo +hh +hh +hu +ap +cx +bN +ah +sT +sX +tj +tN +tl +xc +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aD +aF +aN +aO +aY +aU +bk +aE +ab +aE +bN +ap +ch +bB +hh +lE +lE +hh +hh +lE +lE +hh +hh +hh +lE +hh +hh +lE +pI +qr +hh +rn +hu +ap +cx +bN +ah +sT +sX +tk +vG +tl +xc +xd +xd +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +az +aB +aE +aE +aE +aH +aZ +bd +bk +aE +ab +aE +cf +cb +ci +cG +ci +ci +fx +ci +ci +ci +fx +ci +jV +ld +mn +mT +nS +mn +pJ +mn +mn +ro +rM +sn +oc +bN +ah +sT +sX +tk +vG +tl +tl +tl +tl +tl +tl +ah +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ay +ay +ay +ay +aE +aE +aE +aS +aZ +bd +bk +aE +ab +aE +cC +aq +aq +aq +aq +aq +aq +hA +hA +hA +aq +aq +ip +kx +qF +qF +qF +qF +qF +qF +qF +qF +qF +qF +od +bN +ah +sU +sY +tl +wj +tl +tl +tl +tl +tl +xe +hi +hi +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ac +ac +au +au +au +au +aE +aH +aO +aU +aE +aW +bl +bs +ab +aE +cC +aq +cH +cH +cH +eq +fz +bq +bq +bq +ij +aq +eX +fn +qF +uf +rh +nA +nA +nA +nA +rh +tW +qF +od +bN +ah +sV +th +tl +wk +wp +tl +tl +tl +tl +tl +sZ +hi +hi +hi +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ae +au +au +au +au +au +aE +aJ +aE +aW +ba +bg +bn +bz +bC +bF +cM +aq +bq +bq +bq +er +bq +bq +bq +bq +ik +aq +eZ +fo +qF +mU +hL +oS +pK +qu +hL +hL +rN +qF +qp +vI +sD +sW +ti +tv +wo +tl +tl +tl +tl +tl +tl +sZ +hi +hi +hi +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aM +ad +ad +ad +ad +ad +ad +ad +ad +af +ab +ab +ab +ab +ab +ab +ab +bH +ao +aq +cl +cJ +dg +dg +dg +ga +dg +dg +in +aq +fb +fu +qF +hw +nT +oV +pL +qv +rb +rr +rO +qF +al +cW +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +al +al +bN +cU +aq +cm +cK +dh +es +fA +gb +es +es +wa +aq +fd +hI +qF +mW +hL +oX +pM +qw +rc +hL +rP +qF +bN +bN +al +al +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aq +cu +bq +bq +et +fC +gc +gy +hp +hp +jc +jX +le +qF +mX +nU +oY +pO +qx +rc +hL +rQ +qF +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ty +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +fd +hI +qF +mY +ls +oZ +pQ +qy +rc +hL +rR +qF +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ty +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +ar +co +cL +dm +dm +fD +ge +gz +hr +ir +ar +fd +hI +qF +na +hL +pa +pR +qz +nT +nT +rS +qF +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bX +dd +ar +cp +cN +do +eu +fE +gf +fT +dp +iu +ar +fd +hI +qF +nc +nV +pa +pS +pS +pS +rs +rT +qF +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bZ +eP +ar +cq +cN +ef +eC +fF +gf +ef +hs +iv +ar +tC +hI +qF +qF +qF +tA +qF +qF +qF +qF +qF +qF +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +ar +cs +cN +dp +eE +fG +gf +gA +ef +ix +ar +kd +lf +mp +nd +nW +pd +pT +qA +qA +rt +wi +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +ar +ct +cO +dr +eL +fH +gg +gB +gB +iy +jd +kf +lg +mr +ng +nX +pe +pW +qB +rd +ru +rV +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +as +as +as +as +as +fI +ar +ar +ar +ar +ar +im +im +im +kQ +im +sm +sm +im +im +qc +qR +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +as +dR +cP +dx +as +eI +fq +gl +ht +ht +ht +kg +ht +ht +ot +kU +qH +vF +qH +oA +qd +qg +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +as +cv +cQ +dz +bv +cY +eS +dv +gd +gd +gd +gd +gd +gd +nh +sm +uP +wm +vq +sm +gw +qC +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +as +cw +dE +dA +as +eD +lh +dv +hv +hv +je +kh +li +gd +oQ +sm +uQ +wn +vq +sm +gw +um +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +as +as +as +as +as +fU +hH +dv +hv +hv +je +kk +lj +gd +oQ +sm +vq +vq +vq +sm +qe +qD +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +at +cy +cR +dB +at +eD +lh +dv +hx +hx +jf +kk +ll +gd +oQ +sm +vq +vq +vq +sm +vW +pw +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +at +cz +cS +dC +dH +eG +lh +dv +hy +hv +hv +kk +lm +sm +nj +sm +vq +vq +vq +sm +gw +tE +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +at +cB +cT +dD +at +eH +lA +dv +hz +iC +jg +kk +ln +sm +np +sm +vq +vq +vq +sm +nK +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +at +at +at +at +at +eQ +nJ +dv +hB +iD +jh +kl +lo +ms +nq +sm +vq +vq +vq +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aA +dI +lU +di +aA +eD +lh +dv +gd +gd +gd +gd +gd +gd +nr +sm +vq +vq +vq +sm +tG +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aA +dG +ei +ev +eb +eG +lh +dv +hC +iE +ji +km +lp +mt +ns +sm +vq +vq +vq +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aA +rv +dK +jx +aA +eD +lh +dv +gp +iF +gp +gp +lq +mu +nt +sm +vq +vq +vq +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aA +aA +aA +aA +aA +eF +lh +dv +hF +iH +jj +gp +mB +mv +mB +sm +vq +vq +vq +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aI +dL +lV +dj +aI +eD +lh +dv +hG +iI +jk +gp +lr +mw +nw +sm +vq +vq +vq +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aI +dJ +ej +ew +eO +eG +lh +dv +hJ +iJ +jl +gp +lu +mz +ny +sm +vq +vq +vq +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aI +rw +dN +kM +aI +eD +lh +dv +gp +gp +gp +iq +iq +iq +iq +sm +ud +ud +ud +vH +ol +px +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aI +aI +aI +aI +aI +eD +lh +dv +aw +nx +tD +uu +uB +uX +wD +uD +vL +wB +wH +uH +uI +uL +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(57,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aK +dO +lW +dk +aK +eD +lh +dv +cn +tr +rF +tr +tS +vi +vd +uE +vM +vt +wI +rX +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(58,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aK +dM +ek +ex +eR +eG +lh +dv +fS +rH +te +te +tT +ug +vg +kj +vP +vt +wJ +vH +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(59,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aK +rx +dQ +oN +aK +eD +lh +dv +jr +tL +ue +vc +vh +vh +wE +kj +vQ +vu +wK +sm +mx +pw +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(60,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +al +eT +aK +aK +aK +aK +aK +fU +lh +dv +gN +rW +hK +kj +kj +kj +kj +kj +vR +vt +wJ +sm +gw +on +al +cW +al +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(61,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +lk +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +cc +fa +aQ +tu +lX +dl +aQ +eD +lh +dv +mV +tP +uo +oi +uT +uZ +vj +iq +vS +vt +wJ +sm +gw +on +al +bN +cc +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +vk +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(62,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aQ +dP +el +ey +eU +eG +lh +dv +qG +se +mC +tw +tV +up +vl +uF +vT +wC +wL +sm +tG +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(63,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aQ +ry +dT +oU +aQ +eH +lA +dv +qE +rZ +mC +sg +pb +mC +vm +tx +tx +tx +tx +sm +vK +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(64,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aQ +aQ +aQ +aQ +aQ +eQ +nJ +dv +qG +se +mC +sg +tn +mC +vm +tx +wV +wX +wM +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(65,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aR +dU +lY +dn +aR +eD +lh +dv +qM +sN +tg +tz +mC +ur +wZ +tx +wr +vB +wN +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(66,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aR +dS +em +ez +eV +eG +lh +dv +qE +ta +mC +tm +tX +ut +vo +uN +ws +xb +vp +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(67,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aR +rz +dW +pA +aR +eD +lh +dv +rD +xg +mC +rZ +mC +ta +xa +tx +wt +vB +wP +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aR +aR +aR +aR +aR +eF +lh +dv +vy +xh +mC +rZ +mC +mC +vn +tx +wW +wY +wQ +sm +ol +px +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aV +dX +rp +dq +aV +eD +lh +dv +xk +xi +mC +rZ +mC +mC +vn +uc +tx +tx +tx +sm +gw +on +al +bN +bN +al +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(70,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aV +dV +en +eA +eW +eG +lh +dv +xf +xj +tQ +uy +uO +uO +uU +vr +vD +wF +wR +sm +gw +on +al +bN +bN +al +al +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(71,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aV +rA +dZ +pB +aV +eD +lh +dv +gO +gO +gO +tI +gO +gO +gO +gO +wv +ww +wS +sm +gw +on +al +bN +bN +al +al +aa +oD +aa +aa +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(72,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +aV +aV +aV +aV +aV +eD +lh +dv +rE +tU +uA +uz +uV +va +vv +gO +wx +vE +wT +sm +gw +on +al +bN +bN +al +al +aa +rG +uq +aa +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(73,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +be +ea +rq +dy +be +eH +lA +dv +rI +tb +tb +tM +ua +tb +vw +gO +wy +vE +wT +sm +mx +un +al +bN +bN +al +al +dw +aa +aa +aa +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(74,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +be +dY +eo +eB +eY +fJ +nJ +dv +td +tc +to +tO +ub +uv +vw +gO +wz +vE +wT +sm +tG +on +al +bN +bN +al +al +aa +uk +us +vz +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(75,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +be +rB +ec +pC +be +hQ +gh +fy +tq +tY +uw +wq +wu +uW +vC +gO +wA +wG +wU +sm +qO +rY +al +bN +bN +al +al +uM +aa +vx +vA +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(76,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +dd +be +be +be +be +be +fe +fP +dv +gO +gO +gO +gO +gO +gO +gO +gO +uG +uG +uG +sm +qf +rg +al +bN +bN +al +al +ak +ak +ak +ak +ak +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(77,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +bN +gP +lH +lH +lH +dF +bO +bK +gj +bU +gF +gj +gj +gj +bJ +gF +gj +gj +tt +kP +mD +og +rC +tZ +cW +bN +bN +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(78,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +al +al +am +am +am +am +am +am +bu +eK +gk +jB +gG +hO +hO +hT +jp +ks +hO +hO +ux +nb +oh +sm +sh +sh +wO +wO +wO +al +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(79,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +am +am +bP +bo +cD +cZ +aj +aT +eM +cF +cF +cF +hD +hD +hD +hD +hD +hD +hD +hD +nz +pg +oA +pf +sk +so +sx +wO +wO +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(80,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +am +am +bQ +bW +cE +da +bj +bt +eN +cF +gC +gH +hD +hP +hU +jq +kt +lw +ly +hD +nY +qa +pP +ul +sl +is +sy +wO +wO +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(81,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +mG +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +am +am +bR +bR +am +am +am +fc +ff +cF +gD +gX +hD +tB +iK +ko +kv +kv +lz +hD +nZ +fL +sm +sm +sm +sp +sp +wO +wO +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(82,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bI +bS +cd +bG +nu +eJ +bE +fB +cF +gI +hM +hD +hR +jn +kq +kv +kv +lB +hD +of +fO +rj +ln +sm +st +sz +sB +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(83,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bM +bS +ce +am +nv +an +bV +gE +cF +gJ +hN +hD +hS +jo +kr +lv +lv +we +hD +of +fO +sm +sv +wh +su +sz +sC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(84,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ai +am +am +am +am +nv +an +bY +iz +cF +gK +hV +hD +js +kw +lF +mE +mE +wf +hD +lb +nl +sm +sw +sm +wO +wO +wO +tp +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +vY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(85,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +av +io +io +lZ +nv +an +fK +iA +cF +bm +cF +cF +hD +gZ +hD +hD +hD +hD +hD +my +nm +wd +sA +sJ +sP +sL +iw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +av +it +lL +lM +nv +an +aL +iz +db +hZ +hW +iL +iL +ky +iL +iL +iL +oj +ph +kV +tF +wd +sE +sI +sQ +sS +iw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +it +mA +rJ +an +aL +iz +db +ju +hX +iM +iM +kA +lG +mF +mF +ok +ph +kV +nk +wd +sF +sK +sR +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +lM +lM +rK +an +aL +iz +db +iY +hb +hb +hb +hb +hE +hb +hb +hb +hb +ui +nk +wd +sH +sL +sL +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +ne +rU +an +aL +iz +db +kb +hb +kp +mq +mM +mZ +pj +pZ +sq +hb +kV +nk +wd +sH +sL +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +xm +an +nf +lM +an +aL +iz +db +kb +hb +ku +dc +mJ +kB +dc +dc +sr +hb +kV +nk +wd +sH +sM +wd +xm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +xm +an +an +lM +an +aL +iz +db +kb +hb +wb +ki +mK +mO +lt +pk +ss +hb +kV +nk +wd +sH +wd +wd +xm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +xm +ag +av +lM +an +jy +iz +db +kb +hb +wc +jt +kn +lI +vX +nB +om +hb +tH +nk +wd +sH +iw +ag +xm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +xm +ag +av +lM +an +jz +fB +db +kb +hb +iO +dc +dc +lJ +mH +pk +oo +hb +kV +nk +wd +sH +iw +ag +xm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +xm +ag +av +lM +an +tJ +gE +db +kb +hb +iO +dc +dc +lK +vX +nB +om +hb +kV +nk +wd +sH +iw +ag +xm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +an +an +an +an +an +an +lM +an +jA +iA +db +kb +hb +iO +dc +dc +lN +mH +pk +oo +hb +kV +nk +wd +sH +wd +wd +wd +wd +wd +wd +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +iz +db +kR +hb +kz +dc +dc +kB +vX +nB +op +hb +kV +nk +wd +sH +sO +wd +sL +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +iz +db +gM +hb +kW +kn +kn +lO +dc +nC +oq +hb +kV +nk +wd +sH +sL +wd +xn +sL +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +iz +db +kb +hb +iP +jv +kC +lP +qq +nD +or +hb +nP +nn +wd +sH +sL +wd +xn +sL +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +iz +db +bD +he +hb +hb +hb +hb +hb +hb +hb +he +rf +no +wd +sH +sL +wd +sL +sL +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +lM +lM +lM +lM +lM +an +lD +ax +gi +gQ +hY +iQ +iQ +iQ +lQ +lQ +nE +lQ +pi +sa +nR +wd +sH +sL +sL +sL +sL +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(101,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +lM +lM +lM +an +lM +lM +an +aL +iz +kc +cA +vZ +kc +kc +kc +kc +mI +mI +mI +wg +sb +mb +wd +sH +sL +wd +xn +xn +sL +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(102,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +lM +xl +xl +an +lM +lM +an +aL +iz +kc +aG +iR +jI +jI +lC +nG +mI +oE +oE +mI +kS +pE +wd +sH +sL +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(103,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +iz +kc +gL +jT +jQ +kF +lR +nG +mI +oF +pY +mI +kV +pF +wd +sH +sL +wd +xn +xn +sL +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(104,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +jA +iA +kc +bw +ib +jR +jR +jR +nH +mI +mI +qI +mI +kV +mb +wd +sH +sL +wd +xn +xn +sL +sL +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(105,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lZ +lM +an +bV +gE +kc +by +il +jS +kI +me +oe +ow +ow +ri +kc +kV +mb +wd +sH +sL +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(106,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +an +an +an +an +an +an +lM +an +aL +iz +kc +bA +iB +jW +kc +jw +kc +kc +kc +kG +kc +kV +mb +wd +sH +wd +wd +wd +wd +wd +wd +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(107,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +xm +xm +ag +ag +ag +av +lM +an +bu +iz +kc +bT +jU +ke +jw +jw +jw +kc +oK +ve +kc +kV +mb +wd +sH +iw +ag +ag +ag +xm +xm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(108,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +xm +xm +ag +ag +ag +av +lM +an +aL +iz +kc +iG +kc +ke +kX +mo +kX +kc +oT +ia +kc +kV +mb +wd +sH +iw +ag +ag +ag +xm +xm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(109,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +xm +xm +ag +ag +ag +av +lM +an +aL +iz +kc +cI +jD +ov +pV +pV +qs +qK +oW +ia +kc +tH +mb +wd +sH +iw +ag +ag +ag +xm +xm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(110,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +an +an +an +an +an +an +lM +an +tK +iz +kc +cI +jE +ka +jY +jY +jY +qJ +oW +ia +kc +pu +no +wd +sH +wd +wd +wd +wd +wd +wd +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(111,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +iz +kc +de +jF +ka +jY +qL +jY +qJ +pc +vf +kc +sG +pN +wd +sH +sL +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(112,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +iz +kc +cI +jE +ka +jZ +jY +kY +qJ +oW +vN +kc +kV +mb +wd +sH +sL +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(113,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +iz +kc +cI +jD +vV +pX +qb +qt +wl +oW +vN +kc +kV +mb +wd +sH +sL +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(114,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +lM +lM +xl +an +lM +lM +an +aL +iz +kc +iG +kc +kc +lc +nF +lc +kc +oT +vN +kc +kV +mb +wd +sH +sL +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(115,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +lM +xl +an +lM +lM +an +jA +fM +kc +gR +jG +kc +jQ +jw +ia +kc +oK +vO +kc +ui +mb +wd +sH +sL +sL +sL +sL +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(116,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +lM +lM +lM +lM +lM +an +bV +fN +kc +gS +gU +kc +jT +jw +jT +kc +kc +vN +kc +kV +mb +wd +sH +sL +wd +xn +sL +sL +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(117,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +lM +lM +an +lM +lM +an +aL +fO +kc +gT +jH +kD +lx +me +os +ow +pU +vU +kc +kV +mb +wd +sH +sL +wd +xn +xn +sL +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(118,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +lD +fO +kc +kc +ic +ic +jJ +ic +ic +ic +ic +ox +kc +kV +qQ +wd +sH +sL +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(119,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +fO +ds +gV +id +id +jK +gV +lS +gV +lS +oy +ds +kV +mb +wd +sH +sL +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(120,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lM +lM +an +aL +fO +ds +gW +id +id +id +jK +gW +jK +gW +jK +ds +kV +mb +wd +sH +sL +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(121,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +xl +xl +xl +xl +an +lZ +lM +an +fc +fL +ds +ds +ds +ds +ds +ds +ds +ds +ds +ds +ds +oa +ou +wd +sH +sO +wd +xn +xn +xn +xn +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(122,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +an +an +an +an +an +an +lM +an +fg +fQ +gm +gY +gY +iS +gm +gY +lT +gY +gY +gY +gY +qh +qU +wd +sH +wd +wd +wd +wd +wd +wd +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(123,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +an +an +an +an +an +an +lM +an +fh +fR +gn +ha +ha +iT +jL +kE +ma +ha +ha +oz +pl +qi +qV +wd +sH +wd +wd +wd +wd +wd +wd +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(124,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +av +lM +an +bL +bL +bL +bL +bL +bL +bL +jC +bL +bL +tf +ni +tf +tf +tf +tf +sH +iw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(125,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +av +lM +ed +fi +iN +go +go +ie +go +iN +kH +mc +bL +nI +oB +uh +pm +qW +rk +sI +iw +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(126,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +an +an +fj +fV +gq +hc +if +hc +jM +kJ +md +bL +nL +oC +pn +pn +qX +tf +wd +wd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(127,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +df +bL +fk +fW +gr +hf +hf +hf +jN +kK +mf +bL +nM +oG +po +po +qY +tf +tf +tf +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(128,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ee +fl +fX +gs +cV +cV +cV +cV +ig +mf +bL +nN +oH +pp +po +qZ +tf +tf +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(129,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ee +fm +fY +gt +hg +ig +iU +jO +jO +mg +bL +nO +oI +pq +qj +ra +tf +tf +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(130,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bL +bL +bL +bL +hj +ih +iV +bL +bL +bL +bL +tf +tf +tf +qk +qk +tf +tf +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(131,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bL +bL +bL +bL +ee +ee +ee +bL +bL +bL +bL +tf +tf +tf +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(132,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(133,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(134,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(135,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(136,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(137,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(138,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(139,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(140,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/rogue_mines/rogue_mine1.dmm b/maps/tether/submaps/rogue_mines/rogue_mine1.dmm index 5410af2501..9df2ffbf5c 100644 --- a/maps/tether/submaps/rogue_mines/rogue_mine1.dmm +++ b/maps/tether/submaps/rogue_mines/rogue_mine1.dmm @@ -7,8 +7,14 @@ /turf/space, /area/asteroid/rogue/zone1) "c" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/asteroid/rogue/zone1; + base_turf = /turf/space; + landmark_tag = "belter_zone1"; + name = "Belter Area" + }, /turf/space, -/area/shuttle/belter/belt/zone1) +/area/asteroid/rogue/zone1) "d" = ( /obj/effect/step_trigger/teleporter/roguemine_loop/west, /turf/space, @@ -9469,11 +9475,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9611,11 +9617,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9753,11 +9759,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9895,11 +9901,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10037,11 +10043,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10179,11 +10185,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10321,11 +10327,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10463,11 +10469,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10605,11 +10611,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10748,9 +10754,9 @@ a a a a +a c -c -c +a a a a diff --git a/maps/tether/submaps/rogue_mines/rogue_mine2.dmm b/maps/tether/submaps/rogue_mines/rogue_mine2.dmm index 92b884dc8d..31092f3633 100644 --- a/maps/tether/submaps/rogue_mines/rogue_mine2.dmm +++ b/maps/tether/submaps/rogue_mines/rogue_mine2.dmm @@ -7,8 +7,14 @@ /turf/space, /area/asteroid/rogue/zone2) "c" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/asteroid/rogue/zone2; + base_turf = /turf/space; + landmark_tag = "belter_zone2"; + name = "Belter Area" + }, /turf/space, -/area/shuttle/belter/belt/zone2) +/area/asteroid/rogue/zone2) "d" = ( /obj/effect/step_trigger/teleporter/roguemine_loop/west, /turf/space, @@ -9469,11 +9475,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9611,11 +9617,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9753,11 +9759,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9895,11 +9901,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10037,11 +10043,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10179,11 +10185,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10321,11 +10327,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10463,11 +10469,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10605,11 +10611,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10748,9 +10754,9 @@ a a a a +a c -c -c +a a a a diff --git a/maps/tether/submaps/rogue_mines/rogue_mine3.dmm b/maps/tether/submaps/rogue_mines/rogue_mine3.dmm index a3ee3d8d4c..6bbb7bdd58 100644 --- a/maps/tether/submaps/rogue_mines/rogue_mine3.dmm +++ b/maps/tether/submaps/rogue_mines/rogue_mine3.dmm @@ -7,8 +7,14 @@ /turf/space, /area/asteroid/rogue/zone3) "c" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/asteroid/rogue/zone3; + base_turf = /turf/space; + landmark_tag = "belter_zone3"; + name = "Belter Area" + }, /turf/space, -/area/shuttle/belter/belt/zone3) +/area/asteroid/rogue/zone3) "d" = ( /obj/effect/step_trigger/teleporter/roguemine_loop/west, /turf/space, @@ -9469,11 +9475,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9611,11 +9617,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9753,11 +9759,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9895,11 +9901,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10037,11 +10043,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10179,11 +10185,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10321,11 +10327,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10463,11 +10469,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10605,11 +10611,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10748,9 +10754,9 @@ a a a a +a c -c -c +a a a a diff --git a/maps/tether/submaps/rogue_mines/rogue_mine4.dmm b/maps/tether/submaps/rogue_mines/rogue_mine4.dmm index d141369b94..1c9cf37ade 100644 --- a/maps/tether/submaps/rogue_mines/rogue_mine4.dmm +++ b/maps/tether/submaps/rogue_mines/rogue_mine4.dmm @@ -7,8 +7,14 @@ /turf/space, /area/asteroid/rogue/zone4) "c" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/asteroid/rogue/zone4; + base_turf = /turf/space; + landmark_tag = "belter_zone4"; + name = "Belter Area" + }, /turf/space, -/area/shuttle/belter/belt/zone4) +/area/asteroid/rogue/zone4) "d" = ( /obj/effect/step_trigger/teleporter/roguemine_loop/west, /turf/space, @@ -9469,11 +9475,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9611,11 +9617,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9753,11 +9759,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -9895,11 +9901,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10037,11 +10043,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10179,11 +10185,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10321,11 +10327,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10463,11 +10469,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10605,11 +10611,11 @@ a a a a -c -c -c -c -c +a +a +a +a +a a a a @@ -10748,9 +10754,9 @@ a a a a +a c -c -c +a a a a diff --git a/maps/tether/submaps/space/_debrisfield.dm b/maps/tether/submaps/space/_debrisfield.dm index 388cd6c067..7842562f52 100644 --- a/maps/tether/submaps/space/_debrisfield.dm +++ b/maps/tether/submaps/space/_debrisfield.dm @@ -1,21 +1,15 @@ // -- Datums -- // -/datum/shuttle_destination/excursion/debrisfield +/obj/effect/overmap/visitable/sector/debrisfield name = "Debris Field" - my_area = /area/shuttle/excursion/debrisfield - preferred_interim_area = /area/shuttle/excursion/space_moving - skip_me = TRUE - - routes_to_make = list( - /datum/shuttle_destination/excursion/virgo3b_orbit = 30 SECONDS - ) + desc = "Space junk galore." + icon_state = "dust1" + known = FALSE + color = "#ee3333" //Redish, so it stands out against the other debris-like icons + initial_generic_waypoints = list("tether_excursion_debrisfield") // -- Objs -- // -/obj/shuttle_connector/debrisfield - name = "shuttle connector - debrisfield" - shuttle_name = "Excursion Shuttle" - destinations = list(/datum/shuttle_destination/excursion/debrisfield) /obj/effect/step_trigger/teleporter/debrisfield_loop/north/New() ..() @@ -49,10 +43,6 @@ initialized = TRUE return INITIALIZE_HINT_QDEL -//And some special areas, including our shuttle landing spot (must be unique) -/area/shuttle/excursion/debrisfield - name = "\improper Excursion Shuttle - Debris Field" - /area/tether_away/debrisfield name = "Away Mission - Debris Field" icon = 'icons/turf/areas_vr.dmi' diff --git a/maps/tether/submaps/space/debrisfield.dmm b/maps/tether/submaps/space/debrisfield.dmm index 6c81a0e4ac..76420efe1e 100644 --- a/maps/tether/submaps/space/debrisfield.dmm +++ b/maps/tether/submaps/space/debrisfield.dmm @@ -6,7 +6,7 @@ /turf/space, /area/tether_away/debrisfield/explored) "c" = ( -/obj/shuttle_connector/debrisfield, +/obj/effect/overmap/visitable/sector/debrisfield, /turf/space, /area/tether_away/debrisfield/explored) "e" = ( @@ -14,8 +14,14 @@ /turf/space, /area/tether_away/debrisfield/explored) "f" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether_away/debrisfield/explored; + base_turf = /turf/space; + landmark_tag = "tether_excursion_debrisfield"; + name = "Excursion Debrisfield" + }, /turf/space, -/area/shuttle/excursion/debrisfield) +/area/tether_away/debrisfield/explored) "g" = ( /obj/effect/step_trigger/teleporter/debrisfield_loop/east, /turf/space, @@ -8623,10 +8629,10 @@ b b b b -f -f -f -f +b +b +b +b b b b @@ -8755,21 +8761,21 @@ b b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -8897,21 +8903,21 @@ b b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -9038,22 +9044,22 @@ b b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -9180,21 +9186,21 @@ b b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -9321,22 +9327,22 @@ a b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -9463,22 +9469,22 @@ a b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -9605,22 +9611,22 @@ a b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b c @@ -9747,22 +9753,22 @@ a b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -9889,22 +9895,22 @@ a b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -10032,21 +10038,21 @@ b b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -10174,22 +10180,22 @@ b b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -10317,21 +10323,21 @@ b b b b +b +b +b +b +b +b +b +b +b +b f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b b b b @@ -10459,21 +10465,21 @@ b b b b -f -f -f -f -f -f -f -f -f -f -f -f -f -f -f +b +b +b +b +b +b +b +b +b +b +b +b +b +b +b b b b @@ -10608,13 +10614,13 @@ b b b b -f -f b b b -f -f +b +b +b +b b b b diff --git a/maps/tether/submaps/tether_misc.dmm b/maps/tether/submaps/tether_misc.dmm index d3d8f06b83..46b36efe27 100644 --- a/maps/tether/submaps/tether_misc.dmm +++ b/maps/tether/submaps/tether_misc.dmm @@ -3,107 +3,108 @@ /obj/machinery/vending/coffee, /turf/unsimulated/beach/sand, /area/beach) -"ag" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/obj/structure/closet/crate/secure, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ah" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/structure/closet/crate/secure, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ai" = ( -/obj/effect/floor_decal/transit/orange{ +"ab" = ( +/obj/structure/window/reinforced/holowindow{ dir = 8 }, -/obj/effect/step_trigger/lost_in_space/tram, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' +/obj/structure/flora/pottedplant{ + icon_state = "plant-10" }, -/area/centcom/ferry) -"aj" = ( -/obj/effect/step_trigger/lost_in_space/tram, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_courtroom) +"ac" = ( +/obj/structure/window/reinforced/holowindow{ + dir = 8 }, -/area/centcom/ferry) -"ak" = ( -/obj/machinery/fitness/heavy/lifter, -/obj/effect/floor_decal/steeldecal/steel_decals10{ +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_emptycourt) +"ad" = ( +/obj/machinery/door/window/holowindoor{ + dir = 8 + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_courtroom) +"ae" = ( +/turf/unsimulated/mineral/virgo3b, +/area/space) +"af" = ( +/obj/structure/sign/warning/docking_area, +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) +"ag" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood{ dir = 6 }, -/obj/effect/floor_decal/steeldecal/steel_decals10{ +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"ah" = ( +/obj/machinery/door/window/holowindoor{ + dir = 1; + name = "Jury Box" + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 9 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ dir = 5 }, -/turf/unsimulated/floor{ - icon_state = "steel" +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"ai" = ( +/obj/machinery/door/blast/regular{ + dir = 4 }, -/area/antag/antag_base) +/turf/unsimulated/floor/techfloor_grid, +/area/centcom/simulated/terminal) +"aj" = ( +/obj/structure/sign/warning{ + name = "\improper STAND AWAY FROM TRACK EDGE" + }, +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) +"ak" = ( +/obj/structure/table/woodentable/holotable, +/obj/structure/window/reinforced/holowindow{ + dir = 4 + }, +/obj/structure/window/reinforced/holowindow{ + dir = 1 + }, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) "al" = ( -/obj/effect/step_trigger/lost_in_space/tram, -/turf/unsimulated/floor/maglev{ - icon = 'icons/turf/transit_vr.dmi' +/obj/structure/window/reinforced/holowindow{ + dir = 8 }, -/area/centcom/ferry) +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_courtroom) "am" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "trade_shuttle_hatch"; - locked = 1; - name = "Shuttle Hatch" +/obj/machinery/door/window/holowindoor{ + dir = 8; + name = "Red Team" }, -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1380; - id_tag = "trade_shuttle"; - pixel_x = -25; - pixel_y = 0; - req_one_access = list(101); - tag_door = "trade_shuttle_hatch" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_emptycourt) "an" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/corner/red{ - dir = 5 - }, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/ammo_magazine/m545/ap, -/obj/item/weapon/gun/projectile/automatic/sts35, -/obj/item/weapon/gun/projectile/automatic/sts35, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) +/obj/structure/holostool, +/turf/simulated/floor/holofloor/desert, +/area/holodeck/source_picnicarea) "ao" = ( -/obj/effect/floor_decal/corner/red{ - dir = 5 +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/floor_decal/spline/fancy/wood{ + icon_state = "spline_fancy"; + dir = 9 }, -/obj/effect/floor_decal/corner/red{ - dir = 5 - }, -/obj/structure/table/rack, -/obj/item/weapon/storage/box/frags, -/obj/item/weapon/storage/box/frags, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) "ap" = ( /turf/space, /area/space) @@ -119,202 +120,144 @@ /turf/unsimulated/wall, /area/space) "at" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/corner/red{ +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood{ dir = 5 }, -/obj/effect/floor_decal/corner/red{ +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"au" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet/corners{ + icon_state = "carpet_corners"; + dir = 5 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"av" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 1 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 5 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"aw" = ( +/obj/structure/table/woodentable/holotable, +/obj/structure/window/reinforced/holowindow{ + dir = 4 + }, +/turf/simulated/floor/holofloor/wood, +/area/holodeck/source_courtroom) +"ax" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"ay" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"az" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"aA" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/effect/floor_decal/spline/fancy/wood{ + icon_state = "spline_fancy"; + dir = 10 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"aB" = ( +/obj/structure/flora/ausbushes/brflowers, +/obj/effect/floor_decal/spline/fancy/wood/corner{ + dir = 8 + }, +/turf/simulated/floor/holofloor/grass, +/area/holodeck/source_picnicarea) +"aC" = ( +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 8; + icon_state = "right" + }, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_courtroom) +"aD" = ( +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Green Team" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_emptycourt) +"aE" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ + dir = 8 + }, +/obj/effect/floor_decal/carpet{ + dir = 10 + }, +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) +"aF" = ( +/obj/structure/bed/chair/holochair{ + dir = 4 + }, +/obj/effect/floor_decal/carpet{ + dir = 4 + }, +/obj/effect/floor_decal/carpet, +/obj/effect/floor_decal/carpet{ dir = 6 }, -/obj/item/weapon/storage/box/sniperammo, -/obj/item/weapon/gun/projectile/heavysniper, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"au" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/corner/red{ - dir = 10 - }, -/obj/item/weapon/storage/box/shotgunshells/large, -/obj/item/weapon/storage/box/shotgunammo/large, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/obj/item/weapon/gun/projectile/shotgun/pump/combat, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"av" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/corner/red{ - dir = 10 - }, -/obj/item/ammo_magazine/s44, -/obj/item/ammo_magazine/s44, -/obj/item/ammo_magazine/s44, -/obj/item/ammo_magazine/s44, -/obj/item/ammo_magazine/s44, -/obj/item/ammo_magazine/s44, -/obj/item/weapon/gun/projectile/revolver/consul, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"aw" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/corner/red{ - dir = 10 - }, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/gun/energy/lasercannon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"ax" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/corner/red{ - dir = 10 - }, -/obj/item/ammo_magazine/m9mm, -/obj/item/ammo_magazine/m9mm, -/obj/item/ammo_magazine/m9mm, -/obj/item/ammo_magazine/m9mm, -/obj/item/ammo_magazine/m9mm, -/obj/item/ammo_magazine/m9mm, -/obj/item/ammo_magazine/m9mm, -/obj/item/ammo_magazine/m9mm, -/obj/item/weapon/gun/projectile/luger, -/obj/item/weapon/gun/projectile/luger/brown, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"ay" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"az" = ( -/obj/machinery/shower{ - pixel_y = 32 - }, -/obj/structure/window/reinforced/tinted{ - dir = 4; - icon_state = "twindow" - }, -/obj/item/weapon/soap/syndie, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/antag/antag_base) -"aA" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1331; - id_tag = "merc_base"; - pixel_x = -25; - pixel_y = -25 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"aB" = ( -/turf/simulated/mineral, -/area/space) -"aC" = ( -/turf/simulated/shuttle/wall/dark, -/area/syndicate_station/start) -"aD" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, -/obj/machinery/computer/security/telescreen/entertainment{ - icon_state = "frame"; - pixel_w = 0; - pixel_x = 0; - pixel_y = 32 - }, -/obj/effect/landmark{ - name = "Syndicate-Spawn" - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"aE" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/regular{ - density = 0; - icon_state = "pdoor0"; - id = "smindicate"; - name = "Outer Airlock"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"aF" = ( -/obj/structure/table/glass, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) +/turf/simulated/floor/holofloor/carpet, +/area/holodeck/source_courtroom) "aG" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 +/obj/structure/window/reinforced/holowindow{ + dir = 8 }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 1; - icon_state = "shutter0"; - id = "syndieshutters_infirmary"; - name = "Blast Shutters"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_basketball) "aH" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1331; - id_tag = "merc_shuttle_pump" +/obj/structure/window/reinforced/holowindow{ + dir = 8 }, -/obj/machinery/airlock_sensor{ - frequency = 1331; - id_tag = "merc_shuttle_sensor"; - pixel_x = 8; - pixel_y = 25 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) +/obj/structure/holostool, +/turf/simulated/floor/holofloor/tiled, +/area/holodeck/source_thunderdomecourt) "aI" = ( /obj/structure/window/reinforced{ dir = 4 @@ -360,14 +303,12 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_courtroom) "aR" = ( -/obj/structure/window/reinforced/holowindow{ - dir = 4 +/obj/machinery/door/window/holowindoor{ + dir = 8; + name = "Red Team" }, -/obj/structure/flora/pottedplant{ - icon_state = "plant-10" - }, -/turf/simulated/floor/holofloor/tiled, -/area/holodeck/source_courtroom) +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_basketball) "aS" = ( /obj/structure/table/woodentable/holotable, /turf/simulated/floor/holofloor/wood, @@ -386,12 +327,12 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_emptycourt) "aX" = ( -/obj/structure/holostool, -/obj/structure/window/reinforced/holowindow{ - dir = 4 +/obj/machinery/door/window/holowindoor{ + dir = 8; + name = "Red Team" }, -/turf/simulated/floor/holofloor/tiled, -/area/holodeck/source_emptycourt) +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_thunderdomecourt) "aY" = ( /obj/effect/floor_decal/corner/red/full{ dir = 8 @@ -418,7 +359,7 @@ /area/space) "bc" = ( /turf/simulated/shuttle/wall, -/area/supply/dock) +/area/shuttle/supply) "bd" = ( /obj/structure/flora/ausbushes/fullgrass, /turf/simulated/floor/holofloor/desert, @@ -435,9 +376,14 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_theatre) "bh" = ( -/obj/machinery/door/window/holowindoor, -/turf/simulated/floor/holofloor/tiled, -/area/holodeck/source_courtroom) +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Green Team" + }, +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_basketball) "bi" = ( /turf/simulated/floor/holofloor/wood, /area/holodeck/source_courtroom) @@ -464,7 +410,7 @@ /area/holodeck/source_emptycourt) "bn" = ( /turf/simulated/shuttle/floor, -/area/supply/dock) +/area/shuttle/supply) "bo" = ( /obj/structure/flora/ausbushes/brflowers, /obj/effect/floor_decal/spline/fancy/wood/corner, @@ -481,32 +427,34 @@ /turf/simulated/floor/holofloor/grass, /area/holodeck/source_picnicarea) "br" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood/corner{ - dir = 8 +/obj/machinery/door/window/holowindoor{ + base_state = "right"; + dir = 8; + icon_state = "right"; + name = "Green Team" }, -/turf/simulated/floor/holofloor/grass, -/area/holodeck/source_picnicarea) +/turf/simulated/floor/holofloor/tiled/dark, +/area/holodeck/source_thunderdomecourt) "bs" = ( -/obj/structure/window/reinforced/holowindow{ - dir = 4 +/obj/structure/shuttle/engine/propulsion{ + icon_state = "burst_l" }, -/turf/simulated/floor/holofloor/tiled, -/area/holodeck/source_courtroom) +/turf/space, +/turf/simulated/shuttle/plating/airless/carry{ + dir = 1 + }, +/area/shuttle/supply) "bt" = ( /obj/structure/bed/chair/holochair, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_courtroom) "bu" = ( -/obj/structure/window/reinforced/holowindow{ +/obj/structure/shuttle/engine/propulsion, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry{ dir = 1 }, -/obj/structure/window/reinforced/holowindow{ - dir = 8 - }, -/obj/structure/table/woodentable/holotable, -/turf/simulated/floor/holofloor/wood, -/area/holodeck/source_courtroom) +/area/shuttle/supply) "bv" = ( /obj/structure/window/reinforced/holowindow{ dir = 1 @@ -515,33 +463,27 @@ /turf/simulated/floor/holofloor/wood, /area/holodeck/source_courtroom) "bw" = ( -/obj/machinery/door/window/holowindoor{ - dir = 1; - name = "Jury Box" +/obj/structure/shuttle/engine/propulsion, +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + landmark_tag = "supply_cc"; + name = "Centcom Supply Depot" }, -/obj/effect/floor_decal/carpet{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 4 - }, -/obj/effect/floor_decal/carpet{ +/turf/space, +/turf/simulated/shuttle/plating/airless/carry{ dir = 1 }, -/obj/effect/floor_decal/carpet{ - dir = 9 - }, -/obj/effect/floor_decal/carpet{ - dir = 5 - }, -/turf/simulated/floor/holofloor/carpet, -/area/holodeck/source_courtroom) +/area/shuttle/supply) "bx" = ( -/obj/machinery/door/window/holowindoor{ - name = "Red Team" +/obj/structure/shuttle/engine/propulsion{ + icon_state = "burst_r" }, -/turf/simulated/floor/holofloor/tiled/dark, -/area/holodeck/source_emptycourt) +/turf/space, +/turf/simulated/shuttle/plating/airless/carry{ + dir = 1 + }, +/area/shuttle/supply) "by" = ( /obj/machinery/light{ dir = 8; @@ -549,47 +491,16 @@ pixel_y = 0 }, /turf/simulated/shuttle/floor, -/area/supply/dock) +/area/shuttle/supply) "bz" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/shuttle/floor, -/area/supply/dock) -"bA" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 6 - }, -/turf/simulated/floor/holofloor/grass, -/area/holodeck/source_picnicarea) +/area/shuttle/supply) "bB" = ( /turf/simulated/floor/holofloor/desert, /area/holodeck/source_picnicarea) -"bC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/holostool, -/turf/simulated/floor/holofloor/desert, -/area/holodeck/source_picnicarea) -"bD" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/holofloor/desert, -/area/holodeck/source_picnicarea) -"bE" = ( -/obj/structure/flora/ausbushes/brflowers, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 8 - }, -/turf/simulated/floor/holofloor/grass, -/area/holodeck/source_picnicarea) -"bF" = ( -/obj/structure/flora/ausbushes/brflowers, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 4 - }, -/turf/simulated/floor/holofloor/grass, -/area/holodeck/source_picnicarea) "bG" = ( /obj/effect/floor_decal/spline/plain{ dir = 1 @@ -655,40 +566,6 @@ /obj/structure/bed/chair/holochair, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_courtroom) -"bN" = ( -/obj/structure/window/reinforced/holowindow{ - dir = 8 - }, -/obj/structure/table/woodentable/holotable, -/turf/simulated/floor/holofloor/wood, -/area/holodeck/source_courtroom) -"bO" = ( -/obj/structure/bed/chair/holochair{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 1 - }, -/obj/effect/floor_decal/carpet{ - dir = 9 - }, -/turf/simulated/floor/holofloor/carpet, -/area/holodeck/source_courtroom) -"bP" = ( -/obj/structure/bed/chair/holochair{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 4 - }, -/obj/effect/floor_decal/carpet/corners{ - dir = 9 - }, -/turf/simulated/floor/holofloor/carpet, -/area/holodeck/source_courtroom) "bQ" = ( /obj/machinery/door/airlock/glass_external{ frequency = 1380; @@ -702,25 +579,18 @@ id = "QMLoad2" }, /turf/simulated/shuttle/plating, -/area/supply/dock) +/area/shuttle/supply) "bR" = ( /obj/machinery/conveyor{ dir = 4; id = "QMLoad2" }, /turf/simulated/shuttle/floor, -/area/supply/dock) +/area/shuttle/supply) "bS" = ( /obj/structure/table/woodentable/holotable, /turf/simulated/floor/holofloor/desert, /area/holodeck/source_picnicarea) -"bT" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 8 - }, -/turf/simulated/floor/holofloor/grass, -/area/holodeck/source_picnicarea) "bU" = ( /obj/structure/flora/ausbushes/ywflowers, /obj/effect/floor_decal/spline/fancy/wood{ @@ -800,150 +670,13 @@ }, /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_courtroom) -"cd" = ( -/obj/structure/bed/chair/holochair{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 8 - }, -/turf/simulated/floor/holofloor/carpet, -/area/holodeck/source_courtroom) -"ce" = ( -/obj/structure/bed/chair/holochair{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 4 - }, -/turf/simulated/floor/holofloor/carpet, -/area/holodeck/source_courtroom) -"cf" = ( -/obj/structure/bed/padded, -/obj/machinery/computer/security/telescreen/entertainment{ - icon_state = "frame"; - pixel_w = 0; - pixel_x = 0; - pixel_y = 32 - }, -/obj/item/weapon/bedsheet/clown{ - desc = "A surprisingly soft linen bedsheet, except for the spots where it's crusty. Gross."; - name = "Dave's bedsheet" - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"cg" = ( -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"ch" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"ci" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) "cj" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 8; - frequency = 1331; - id_tag = "merc_shuttle_pump" +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 9 }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"ck" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/obj/machinery/sleeper{ - dir = 8 - }, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) -"cl" = ( -/obj/structure/table/standard, -/obj/structure/closet/secure_closet/medical_wall{ - pixel_y = 32; - req_access = list(150) - }, -/obj/item/bodybag, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{ - pixel_x = 4; - pixel_y = 7 - }, -/obj/item/weapon/reagent_containers/syringe, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) -"cm" = ( -/obj/machinery/sleep_console, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) -"cn" = ( -/obj/machinery/body_scanconsole, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) -"co" = ( -/obj/machinery/bodyscanner{ - dir = 8 - }, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) -"cp" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1331; - id_tag = "merc_shuttle_pump" - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"cq" = ( -/obj/machinery/atmospherics/pipe/manifold4w/visible, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"cr" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) +/turf/simulated/floor/tiled/steel, +/area/space) "cs" = ( /obj/machinery/door/airlock/glass_external{ frequency = 1380; @@ -953,7 +686,7 @@ name = "Shuttle Hatch" }, /turf/simulated/shuttle/floor, -/area/supply/dock) +/area/shuttle/supply) "ct" = ( /obj/structure/holostool, /obj/effect/floor_decal/carpet{ @@ -1006,112 +739,13 @@ /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_emptycourt) "cC" = ( -/obj/machinery/button/remote/blast_door{ - id = "syndieshutters_infirmary"; - name = "remote shutter control"; - pixel_x = -25 +/obj/effect/step_trigger/lost_in_space/tram, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"cD" = ( -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"cE" = ( -/obj/machinery/vending/medical{ - density = 0; - pixel_y = -32; - req_access = null - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"cF" = ( -/obj/machinery/atmospherics/pipe/tank/air{ - dir = 4; - start_pressure = 740.5 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"cG" = ( -/obj/structure/table/standard, -/obj/item/stack/cable_coil/black, -/obj/item/weapon/storage/toolbox/syndicate, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"cH" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, -/obj/effect/landmark{ - name = "Syndicate-Spawn" - }, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"cI" = ( -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1331; - id_tag = "merc_shuttle"; - pixel_x = 0; - pixel_y = 0; - req_access = list(150) - }, -/turf/simulated/shuttle/wall/dark, -/area/syndicate_station/start) -"cJ" = ( -/turf/simulated/shuttle/wall/dark/hard_corner, -/area/syndicate_station/start) -"cK" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1331; - id_tag = "merc_shuttle_inner"; - name = "Ship External Access"; - req_access = list(150) - }, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1331; - master_tag = "merc_shuttle"; - name = "interior access button"; - pixel_x = -25; - pixel_y = 0; - req_access = list(150) - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"cL" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"cM" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1331; - id_tag = "merc_shuttle_inner"; - name = "Ship External Access"; - req_access = list(150) - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"cN" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) +/area/space) "cO" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller{ frequency = 1380; @@ -1122,7 +756,7 @@ tag_door = "supply_shuttle_hatch" }, /turf/simulated/shuttle/floor, -/area/supply/dock) +/area/shuttle/supply) "cP" = ( /obj/structure/flora/ausbushes/ywflowers, /obj/effect/floor_decal/spline/fancy/wood{ @@ -1137,16 +771,6 @@ }, /turf/simulated/floor/holofloor/grass, /area/holodeck/source_picnicarea) -"cR" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/effect/floor_decal/spline/fancy/wood{ - dir = 5 - }, -/turf/simulated/floor/holofloor/grass, -/area/holodeck/source_picnicarea) "cS" = ( /obj/structure/bed/chair/holochair{ dir = 1 @@ -1171,42 +795,6 @@ }, /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_courtroom) -"cV" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 8 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"cW" = ( -/obj/structure/table/glass, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"cX" = ( -/obj/machinery/vending/boozeomat, -/turf/simulated/shuttle/wall/dark, -/area/syndicate_station/start) -"cY" = ( -/obj/machinery/vending/food, -/turf/simulated/shuttle/wall/dark, -/area/syndicate_station/start) -"cZ" = ( -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) "da" = ( /obj/structure/flora/ausbushes/brflowers, /obj/effect/floor_decal/spline/fancy/wood/corner{ @@ -1214,20 +802,6 @@ }, /turf/simulated/floor/holofloor/grass, /area/holodeck/source_picnicarea) -"db" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/floor_decal/spline/fancy/wood/corner{ - dir = 4 - }, -/turf/simulated/floor/holofloor/grass, -/area/holodeck/source_picnicarea) -"dc" = ( -/obj/machinery/door/window/holowindoor{ - base_state = "right"; - icon_state = "right" - }, -/turf/simulated/floor/holofloor/tiled, -/area/holodeck/source_courtroom) "dd" = ( /obj/effect/floor_decal/carpet{ dir = 8 @@ -1240,17 +814,11 @@ }, /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_courtroom) -"df" = ( -/obj/machinery/door/window/holowindoor{ - base_state = "right"; - icon_state = "right"; - name = "Green Team" - }, -/turf/simulated/floor/holofloor/tiled/dark, -/area/holodeck/source_emptycourt) "dg" = ( -/turf/simulated/floor/plating, -/area/syndicate_station/start) +/turf/unsimulated/wall{ + icon = 'icons/turf/transit_vr.dmi' + }, +/area/space) "dh" = ( /obj/machinery/door/airlock/glass_external{ frequency = 1380; @@ -1264,14 +832,14 @@ id = "QMLoad" }, /turf/simulated/shuttle/plating, -/area/supply/dock) +/area/shuttle/supply) "di" = ( /obj/machinery/conveyor{ dir = 4; id = "QMLoad" }, /turf/simulated/shuttle/floor, -/area/supply/dock) +/area/shuttle/supply) "dj" = ( /obj/structure/holostool, /obj/effect/floor_decal/carpet{ @@ -1315,48 +883,6 @@ }, /turf/simulated/floor/holofloor/carpet, /area/holodeck/source_theatre) -"dn" = ( -/obj/structure/bed/chair/holochair{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 8 - }, -/obj/effect/floor_decal/carpet, -/obj/effect/floor_decal/carpet{ - dir = 10 - }, -/turf/simulated/floor/holofloor/carpet, -/area/holodeck/source_courtroom) -"do" = ( -/obj/structure/bed/chair/holochair{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 4 - }, -/obj/effect/floor_decal/carpet, -/obj/effect/floor_decal/carpet{ - dir = 6 - }, -/turf/simulated/floor/holofloor/carpet, -/area/holodeck/source_courtroom) -"dp" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, -/obj/machinery/computer/security/telescreen/entertainment{ - icon_state = "frame"; - pixel_w = 0; - pixel_x = 32; - pixel_y = 0 - }, -/obj/effect/landmark{ - name = "Syndicate-Spawn" - }, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) "dq" = ( /obj/structure/flora/pottedplant{ icon_state = "plant-06" @@ -1427,16 +953,27 @@ }, /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_emptycourt) -"dy" = ( -/turf/simulated/shuttle/wall/dark/hard_corner, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "dz" = ( -/turf/simulated/shuttle/wall/dark/hard_corner, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) +/obj/effect/floor_decal/transit/orange{ + dir = 8 + }, +/obj/effect/transit/light{ + dir = 8 + }, +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) "dA" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -1451,24 +988,13 @@ /obj/structure/window/reinforced, /turf/unsimulated/wall, /area/space) -"dC" = ( -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"dD" = ( -/obj/machinery/computer/shuttle_control/multi/tether_antag_ground, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) "dE" = ( /obj/structure/shuttle/engine/heater, /obj/structure/window/reinforced{ dir = 1 }, /turf/simulated/floor/airless, -/area/supply/dock) +/area/shuttle/supply) "dF" = ( /turf/simulated/floor/holofloor/space, /area/holodeck/source_space) @@ -1491,13 +1017,6 @@ /obj/structure/holostool, /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_basketball) -"dL" = ( -/obj/structure/holostool, -/obj/structure/window/reinforced/holowindow{ - dir = 4 - }, -/turf/simulated/floor/holofloor/tiled, -/area/holodeck/source_basketball) "dM" = ( /obj/effect/floor_decal/corner/red/full{ dir = 8 @@ -1533,13 +1052,6 @@ /obj/structure/holostool, /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_thunderdomecourt) -"dT" = ( -/obj/structure/holostool, -/obj/structure/window/reinforced/holowindow{ - dir = 4 - }, -/turf/simulated/floor/holofloor/tiled, -/area/holodeck/source_thunderdomecourt) "dU" = ( /obj/structure/table/holotable, /obj/machinery/readybutton{ @@ -1577,32 +1089,8 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_boxingcourt) "dZ" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 4 - }, -/obj/effect/step_trigger/lost_in_space/tram, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"ea" = ( -/obj/machinery/power/emitter/gyrotron/anchored{ - desc = "It is a heavy duty pulse laser emitter."; - dir = 8; - icon_state = "emitter-off"; - name = "pulse laser" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/syndicate_station/start) -"eb" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "propulsion_r"; - dir = 4 - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/syndicate_station/start) +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) "ec" = ( /obj/effect/landmark{ name = "Holocarp Spawn Random" @@ -1698,12 +1186,6 @@ /obj/structure/table/woodentable/holotable, /turf/simulated/floor/holofloor/wood, /area/holodeck/source_meetinghall) -"er" = ( -/obj/machinery/door/window/holowindoor{ - name = "Red Team" - }, -/turf/simulated/floor/holofloor/tiled/dark, -/area/holodeck/source_basketball) "es" = ( /obj/item/clothing/glasses/sunglasses, /turf/simulated/floor/holofloor/beach/sand, @@ -1713,12 +1195,6 @@ /obj/effect/overlay/coconut, /turf/simulated/floor/holofloor/beach/sand, /area/holodeck/source_beach) -"eu" = ( -/obj/machinery/door/window/holowindoor{ - name = "Red Team" - }, -/turf/simulated/floor/holofloor/tiled/dark, -/area/holodeck/source_thunderdomecourt) "ev" = ( /obj/machinery/door/window/holowindoor{ base_state = "right"; @@ -1732,123 +1208,6 @@ /obj/structure/window/reinforced/holowindow, /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_boxingcourt) -"ex" = ( -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"ey" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"ez" = ( -/obj/structure/closet/secure_closet/medical_wall{ - pixel_x = 0; - pixel_y = 32; - req_access = list(150) - }, -/obj/item/stack/medical/splint, -/obj/item/stack/medical/ointment, -/obj/item/stack/medical/ointment, -/obj/item/stack/medical/bruise_pack, -/obj/item/stack/medical/bruise_pack, -/obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/firstaid/combat, -/obj/machinery/light{ - dir = 4 - }, -/obj/item/device/defib_kit/compact/combat/loaded, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"eA" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"eB" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/sign/nosmoking_1, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"eC" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/table/standard, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, -/obj/item/stack/nanopaste, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/floor, -/area/syndicate_station/start) -"eD" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"eE" = ( -/obj/machinery/door/window{ - dir = 1; - name = "Surgery"; - req_access = list(150) - }, -/turf/simulated/shuttle/floor, -/area/syndicate_station/start) -"eF" = ( -/obj/structure/sign/department/operational, -/turf/simulated/shuttle/wall/dark, -/area/syndicate_station/start) -"eG" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 4 - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/syndicate_station/start) -"eH" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/floor, -/area/syndicate_station/start) -"eI" = ( -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 11; - pixel_y = 0 - }, -/obj/structure/closet/secure_closet/medical_wall{ - pixel_x = 32; - pixel_y = 0; - req_access = list(150) - }, -/obj/item/weapon/tank/anesthetic, -/obj/item/clothing/mask/breath/medical, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/gloves/sterile/latex, -/obj/item/weapon/reagent_containers/syringe, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/turf/simulated/shuttle/floor, -/area/syndicate_station/start) "eJ" = ( /obj/structure/flora/tree/dead, /turf/simulated/floor/holofloor/snow, @@ -1891,8 +1250,9 @@ /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/source_boxingcourt) "eS" = ( -/turf/simulated/shuttle/floor, -/area/syndicate_station/start) +/obj/effect/floor_decal/industrial/danger, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) "eT" = ( /obj/structure/flora/grass/green, /turf/simulated/floor/holofloor/snow, @@ -2015,36 +1375,6 @@ }, /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_boxingcourt) -"fk" = ( -/obj/structure/shuttle/engine/heater{ - icon_state = "heater"; - dir = 4 - }, -/turf/simulated/shuttle/plating/airless, -/area/syndicate_station/start) -"fl" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "propulsion_l"; - dir = 4 - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/syndicate_station/start) -"fm" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = -32; - pixel_y = 0; - subspace_transmission = 1; - syndie = 1 - }, -/obj/structure/closet, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) "fn" = ( /obj/structure/holostool, /obj/effect/floor_decal/carpet{ @@ -2118,12 +1448,6 @@ }, /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_boxingcourt) -"fy" = ( -/obj/structure/closet, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) "fz" = ( /obj/effect/floor_decal/corner/green{ dir = 9 @@ -2160,14 +1484,6 @@ }, /turf/simulated/floor/holofloor/tiled, /area/holodeck/source_boxingcourt) -"fF" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) "fG" = ( /obj/structure/flora/grass/brown, /turf/simulated/floor/holofloor/snow, @@ -2181,14 +1497,6 @@ dir = 8 }, /area/holodeck/source_meetinghall) -"fI" = ( -/obj/machinery/door/window/holowindoor{ - base_state = "right"; - icon_state = "right"; - name = "Green Team" - }, -/turf/simulated/floor/holofloor/tiled/dark, -/area/holodeck/source_basketball) "fJ" = ( /obj/effect/floor_decal/corner/green{ dir = 10 @@ -2200,14 +1508,6 @@ icon_state = "beach" }, /area/holodeck/source_beach) -"fL" = ( -/obj/machinery/door/window/holowindoor{ - base_state = "right"; - icon_state = "right"; - name = "Green Team" - }, -/turf/simulated/floor/holofloor/tiled/dark, -/area/holodeck/source_thunderdomecourt) "fM" = ( /obj/structure/window/reinforced/holowindow{ dir = 1 @@ -2376,19 +1676,6 @@ /obj/structure/flora/tree/pine, /turf/simulated/floor/holofloor/snow, /area/holodeck/holodorm/source_snow) -"gp" = ( -/obj/effect/step_trigger/teleporter/random{ - affect_ghosts = 1; - name = "escapeshuttle_leave"; - teleport_x = 25; - teleport_x_offset = 245; - teleport_y = 25; - teleport_y_offset = 245; - teleport_z = 6; - teleport_z_offset = 6 - }, -/turf/space, -/area/space) "gq" = ( /obj/structure/bed/holobed, /turf/simulated/floor/holofloor/wood, @@ -2404,182 +1691,6 @@ /obj/structure/flora/grass/both, /turf/simulated/floor/holofloor/snow, /area/holodeck/holodorm/source_snow) -"gu" = ( -/turf/unsimulated/wall, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gv" = ( -/obj/structure/table/standard, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gw" = ( -/obj/structure/closet/wardrobe/pink, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gx" = ( -/obj/structure/closet/wardrobe/white, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gy" = ( -/obj/structure/closet/wardrobe/green, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gz" = ( -/obj/structure/closet/wardrobe/grey, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gA" = ( -/obj/structure/closet/wardrobe/black, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gB" = ( -/obj/structure/closet/wardrobe/pjs, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gC" = ( -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gD" = ( -/obj/structure/closet/crate, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 1 - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gE" = ( -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gF" = ( -/obj/item/weapon/storage/firstaid/toxin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = 1 - }, -/obj/item/weapon/storage/firstaid/fire{ - pixel_x = 1 - }, -/obj/item/weapon/storage/firstaid/o2{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/weapon/storage/firstaid/regular, -/obj/structure/table/reinforced, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) -"gG" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/sign/department/medbay, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"gH" = ( -/obj/structure/medical_stand, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/floor, -/area/syndicate_station/start) -"gI" = ( -/obj/item/roller, -/obj/item/roller, -/obj/item/roller, -/obj/structure/table/reinforced, -/obj/item/bodybag/cryobag, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) -"gJ" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/stack/medical/advanced/bruise_pack, -/turf/simulated/shuttle/floor, -/area/syndicate_station/start) -"gK" = ( -/obj/machinery/optable, -/turf/simulated/shuttle/floor, -/area/syndicate_station/start) -"gL" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "syndieshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"gM" = ( -/obj/structure/table/rack, -/obj/item/ammo_magazine/m380, -/obj/item/ammo_magazine/m380, -/obj/item/ammo_magazine/m380, -/obj/item/ammo_magazine/m380, -/obj/item/ammo_magazine/m380, -/obj/item/weapon/gun/projectile/giskard, -/obj/item/clothing/accessory/holster, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) "gN" = ( /obj/structure/flora/ausbushes/fullgrass, /turf/simulated/floor/holofloor/desert, @@ -2602,124 +1713,11 @@ "gS" = ( /turf/simulated/floor/holofloor/reinforced, /area/holodeck/holodorm/source_off) -"gT" = ( -/obj/structure/closet/wardrobe/yellow, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) "gU" = ( -/obj/structure/closet/wardrobe/suit, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gV" = ( -/obj/item/weapon/stool/padded, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gW" = ( -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 1 - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"gX" = ( -/turf/unsimulated/mineral{ - icon = 'icons/turf/transit_vr.dmi'; - icon_state = "rock" - }, -/area/centcom/ferry) -"gY" = ( -/obj/machinery/recharger, -/obj/structure/table/steel_reinforced, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"gZ" = ( -/obj/machinery/vending/cigarette{ - name = "hacked cigarette machine"; - prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"ha" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "syndieshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"hb" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "syndieshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"hc" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/button/remote/blast_door{ - id = "syndieshutters"; - name = "remote shutter control"; - req_access = list(150) - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"hd" = ( -/obj/structure/sign/department/bridge, -/turf/simulated/shuttle/wall/dark/hard_corner, -/area/syndicate_station/start) -"he" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"hf" = ( -/obj/structure/bed/chair, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) +/obj/machinery/light, +/obj/effect/floor_decal/industrial/danger, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) "hg" = ( /obj/structure/flora/ausbushes/ywflowers, /obj/effect/landmark{ @@ -2727,152 +1725,10 @@ }, /turf/simulated/floor/holofloor/grass, /area/holodeck/holodorm/source_garden) -"hh" = ( -/obj/item/weapon/stool/padded, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hi" = ( -/obj/structure/closet/wardrobe/mixed, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hj" = ( -/obj/structure/closet/wardrobe/xenos, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hk" = ( -/obj/effect/landmark{ - name = "Trader" - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hl" = ( -/turf/unsimulated/wall{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"hm" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 8 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) "hn" = ( -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"ho" = ( -/turf/unsimulated/floor/maglev{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"hp" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 4 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"hq" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"hr" = ( -/obj/machinery/door/blast/shutters{ - dir = 8; - id = "qm_warehouse"; - name = "Warehouse Shutters" - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 1 - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hs" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/FixOVein{ - pixel_x = -6; - pixel_y = 1 - }, -/obj/item/weapon/surgical/hemostat, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1"; - pixel_x = 0 - }, -/obj/item/weapon/surgical/surgicaldrill, -/turf/simulated/shuttle/floor, -/area/syndicate_station/start) -"ht" = ( -/obj/structure/toilet{ - dir = 4 - }, -/turf/simulated/shuttle/floor/red, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hu" = ( -/obj/machinery/door/airlock/silver{ - name = "Toilet" - }, -/turf/simulated/shuttle/floor/white, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hv" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 8 - }, -/obj/effect/transit/light{ - dir = 8 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"hw" = ( -/obj/effect/floor_decal/rust, -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "mfloor5" - }, -/obj/machinery/light/small{ - icon_state = "bulb1"; - dir = 8 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) +/obj/machinery/telecomms/relay/preset/centcom/tether/base_high, +/turf/unsimulated/floor/steel, +/area/centcom/control) "hx" = ( /turf/simulated/floor/holofloor/wood, /area/holodeck/holodorm/source_seating) @@ -2930,31 +1786,6 @@ "hF" = ( /turf/simulated/floor/holofloor/space, /area/holodeck/holodorm/source_space) -"hG" = ( -/obj/machinery/door/airlock/multi_tile/glass{ - dir = 4; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/white, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hH" = ( -/turf/simulated/shuttle/floor, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hI" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 4 - }, -/obj/effect/transit/light{ - dir = 4 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) "hJ" = ( /obj/structure/bed/chair/holochair{ dir = 4 @@ -2977,29 +1808,6 @@ }, /turf/simulated/floor/holofloor/carpet, /area/holodeck/holodorm/source_seating) -"hM" = ( -/obj/structure/sink{ - icon_state = "sink"; - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/structure/mirror{ - pixel_x = -28 - }, -/turf/simulated/shuttle/floor/white, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hN" = ( -/obj/structure/curtain/open/shower, -/obj/machinery/shower{ - pixel_y = 3 - }, -/turf/simulated/shuttle/floor, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) "hO" = ( /obj/effect/floor_decal/carpet{ dir = 8 @@ -3035,5115 +1843,7 @@ }, /turf/simulated/floor/holofloor/tiled/dark, /area/holodeck/holodorm/source_boxing) -"hS" = ( -/obj/structure/table/standard, -/obj/item/weapon/soap/deluxe, -/turf/simulated/shuttle/floor, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hT" = ( -/obj/structure/undies_wardrobe, -/turf/simulated/shuttle/floor, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"hU" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/sign/department/telecoms, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"hV" = ( -/obj/structure/closet, -/turf/simulated/shuttle/floor{ - icon_state = "floor_yellow" - }, -/area/syndicate_station/start) -"hW" = ( -/obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/obj/item/weapon/reagent_containers/food/snacks/liquidfood, -/turf/simulated/shuttle/floor{ - icon_state = "floor_yellow" - }, -/area/syndicate_station/start) -"hX" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/structure/closet, -/turf/simulated/shuttle/floor{ - icon_state = "floor_yellow" - }, -/area/syndicate_station/start) -"hY" = ( -/obj/machinery/computer/shuttle_control/multi/syndicate{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"hZ" = ( -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"ia" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 8 - }, -/obj/effect/transit/light{ - dir = 8 - }, -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdownside"; - nostop = 1; - stopper = 0; - tiles = 0 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"ib" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 8; - name = "thrower_escapeshuttletop(left)"; - tiles = 0 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"ic" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 8; - name = "thrower_escapeshuttletop(left)"; - tiles = 0 - }, -/turf/unsimulated/floor/maglev{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"id" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 4; - name = "thrower_escapeshuttletop(right)"; - tiles = 0 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"ie" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 4; - name = "thrower_escapeshuttletop(right)"; - tiles = 0 - }, -/turf/unsimulated/floor/maglev{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"if" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 4 - }, -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdownside"; - nostop = 1; - stopper = 0; - tiles = 0 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"ig" = ( -/turf/simulated/shuttle/floor{ - icon_state = "floor_yellow" - }, -/area/syndicate_station/start) -"ii" = ( -/obj/machinery/computer/security/nuclear{ - dir = 4; - icon_state = "computer" - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"ij" = ( -/obj/machinery/computer/shuttle_control/multi/tether_antag_space, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"ik" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "syndieshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"il" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/button/remote/blast_door{ - id = "smindicate"; - name = "ship lockdown control"; - pixel_x = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"im" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1380; - id_tag = "trade_shuttle_bay"; - name = "shuttle bay controller"; - pixel_x = 25; - pixel_y = 0; - tag_door = "trade_shuttle_bay_door" - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"in" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 8 - }, -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdownside"; - nostop = 1; - stopper = 0; - tiles = 0 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"io" = ( -/turf/unsimulated/floor/maglev{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/shuttle/escape/transit) -"ip" = ( -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/shuttle/escape/transit) -"iq" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 4 - }, -/obj/effect/transit/light{ - dir = 4 - }, -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdownside"; - nostop = 1; - stopper = 0; - tiles = 0 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"ir" = ( -/obj/structure/closet, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"is" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 0; - pixel_y = -32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"it" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"iu" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"iv" = ( -/obj/structure/table/glass, -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 0; - pixel_y = -32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"iw" = ( -/obj/machinery/teleport/station, -/turf/simulated/shuttle/floor{ - icon_state = "floor_yellow" - }, -/area/syndicate_station/start) -"ix" = ( -/obj/structure/frame/computer, -/turf/simulated/shuttle/floor{ - icon_state = "floor_yellow" - }, -/area/syndicate_station/start) -"iy" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "trade_shuttle_bay_door"; - locked = 1 - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/syndicate_mothership{ - name = "\improper Trader Base" - }) -"iz" = ( -/obj/machinery/teleport/hub, -/turf/simulated/shuttle/floor{ - icon_state = "floor_yellow" - }, -/area/syndicate_station/start) -"iB" = ( -/obj/machinery/vending/snack{ - name = "hacked Getmore Chocolate Corp"; - prices = list() - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"iC" = ( -/turf/simulated/shuttle/wall/dark/hard_corner, -/area/shuttle/trade/centcom) -"iD" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "trade_shuttle_hatch"; - locked = 1; - name = "Shuttle Hatch" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"iE" = ( -/turf/simulated/shuttle/wall/dark, -/area/shuttle/trade/centcom) -"iF" = ( -/obj/machinery/washing_machine, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"iG" = ( -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"iH" = ( -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"iI" = ( -/obj/structure/window/reinforced, -/obj/machinery/door/blast/shutters{ - density = 0; - icon_state = "shutter0"; - id = "tradestarshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"iJ" = ( -/obj/structure/window/reinforced, -/obj/machinery/door/blast/shutters{ - density = 0; - icon_state = "shutter0"; - id = "tradestarshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"iK" = ( -/obj/structure/window/reinforced, -/obj/machinery/door/blast/shutters{ - density = 0; - icon_state = "shutter0"; - id = "tradestarshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"iL" = ( -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = 32 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"iM" = ( -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"iN" = ( -/obj/structure/shuttle/engine/heater{ - icon_state = "heater"; - dir = 4 - }, -/turf/simulated/shuttle/plating/airless, -/area/shuttle/trade/centcom) "iO" = ( -/obj/fiftyspawner/rods, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"iP" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/structure/table/reinforced, -/obj/item/device/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/device/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/device/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/device/assembly/signaler{ - pixel_y = 2 - }, -/obj/item/device/assembly/signaler{ - pixel_y = 2 - }, -/obj/item/device/assembly/signaler{ - pixel_y = 2 - }, -/obj/item/clothing/gloves/yellow, -/obj/item/clothing/gloves/yellow, -/obj/item/clothing/gloves/yellow, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/obj/item/clothing/glasses/night, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"iQ" = ( -/obj/machinery/door/airlock/silver{ - name = "Toilet" - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"iR" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"iS" = ( -/obj/structure/closet{ - icon_closed = "cabinet_closed"; - icon_opened = "cabinet_open"; - icon_state = "cabinet_closed" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"iT" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/rd, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"iU" = ( -/obj/structure/table/standard, -/obj/machinery/chemical_dispenser/bar_alc/full, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"iV" = ( -/obj/structure/table/standard, -/obj/machinery/microwave, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"iW" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"iX" = ( -/obj/structure/bed/chair, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"iY" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-22" - }, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"iZ" = ( -/obj/machinery/sleep_console{ - dir = 8 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ja" = ( -/obj/machinery/sleeper{ - dir = 4 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jc" = ( -/obj/structure/mirror{ - pixel_x = 0; - pixel_y = 28 - }, -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 11; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"jd" = ( -/obj/machinery/door/airlock/centcom{ - name = "Equipment Storage"; - req_one_access = list(150) - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"je" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "tradestarshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"jf" = ( -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jg" = ( -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jh" = ( -/obj/machinery/door/airlock/silver{ - name = "Sleeping" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ji" = ( -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"jj" = ( -/obj/structure/table/standard, -/obj/item/weapon/storage/box/donkpockets, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"jk" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"jl" = ( -/obj/machinery/atm{ - pixel_x = -32 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jm" = ( -/obj/machinery/suit_cycler/syndicate, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jn" = ( -/obj/machinery/bodyscanner{ - dir = 8 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jo" = ( -/obj/machinery/body_scanconsole, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jp" = ( -/obj/item/weapon/storage/firstaid/regular{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/weapon/storage/firstaid/regular{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/bodybag/cryobag{ - pixel_x = 5 - }, -/obj/item/bodybag/cryobag{ - pixel_x = 5 - }, -/obj/item/weapon/storage/firstaid/o2{ - layer = 2.8; - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/weapon/storage/box/masks{ - pixel_x = 0; - pixel_y = 0 - }, -/obj/item/weapon/storage/box/gloves{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ - layer = 2.9; - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = -2 - }, -/obj/item/weapon/reagent_containers/blood/empty, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/structure/closet/medical_wall{ - pixel_y = 32 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jq" = ( -/obj/machinery/light{ - dir = 4; - icon_state = "tube1" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jr" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"js" = ( -/obj/item/weapon/tool/screwdriver, -/obj/effect/spawner/newbomb/timer/syndicate, -/obj/structure/table/reinforced, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"jt" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"ju" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "tradestarshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"jv" = ( -/obj/structure/closet/wardrobe/pjs, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jw" = ( -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/weapon/pen{ - pixel_y = 4 - }, -/obj/machinery/light, -/obj/structure/table/glass, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jx" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, -/obj/structure/sign/poster{ - pixel_y = -32 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jy" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"jz" = ( -/obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"jA" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/inflatable_duck, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jB" = ( -/obj/structure/table/steel_reinforced, -/obj/item/stack/material/mhydrogen, -/obj/item/stack/material/diamond, -/obj/item/stack/material/sandstone, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jC" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/rig/internalaffairs, -/obj/item/clothing/head/helmet/space/void/wizard, -/obj/item/clothing/suit/space/void/wizard, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jD" = ( -/obj/structure/table/steel_reinforced, -/obj/random/tool, -/obj/random/tool, -/obj/random/tool, -/obj/random/tool, -/obj/random/tool, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jE" = ( -/obj/structure/table/steel_reinforced, -/obj/random/toolbox, -/obj/random/toolbox, -/obj/random/toolbox, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jF" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"jG" = ( -/obj/vehicle/train/engine, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jH" = ( -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/trade/centcom) -"jI" = ( -/obj/machinery/door/airlock/glass_medical{ - name = "Medical Bay"; - req_access = list(160); - req_one_access = newlist() - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jJ" = ( -/obj/machinery/optable, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jL" = ( -/obj/machinery/vending/coffee{ - name = "hacked Hot Drinks machine"; - prices = list() - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"jM" = ( -/obj/structure/closet/walllocker/emerglocker{ - pixel_y = -32 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jN" = ( -/obj/machinery/button/remote/blast_door{ - id = "tradestarshutters"; - name = "remote shutter control"; - pixel_x = 30; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jO" = ( -/obj/structure/table/steel_reinforced, -/obj/random/firstaid, -/obj/random/firstaid, -/obj/random/firstaid, -/obj/random/firstaid, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jP" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 9 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jQ" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jR" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 5 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jS" = ( -/obj/structure/table/steel_reinforced, -/obj/random/tech_supply, -/obj/random/tech_supply, -/obj/random/tech_supply, -/obj/random/tech_supply, -/obj/random/tech_supply, -/obj/random/tech_supply, -/obj/item/weapon/weldpack, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jT" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"jU" = ( -/obj/vehicle/train/trolley, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jV" = ( -/obj/machinery/light, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jW" = ( -/obj/structure/closet/wardrobe/captain, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jX" = ( -/obj/machinery/door/airlock/silver{ - name = "Restroom" - }, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"jY" = ( -/obj/machinery/door/airlock/multi_tile/glass{ - dir = 4; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"jZ" = ( -/obj/structure/table/steel_reinforced, -/obj/random/medical, -/obj/random/medical, -/obj/random/medical, -/obj/random/medical, -/obj/structure/window/reinforced, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ka" = ( -/obj/machinery/door/window/southleft{ - name = "Cargo Hold"; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kb" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/coin/uranium, -/obj/item/weapon/coin/silver, -/obj/item/weapon/coin/platinum, -/obj/item/weapon/coin/phoron, -/obj/item/weapon/coin/iron, -/obj/item/weapon/coin/gold, -/obj/item/weapon/coin/diamond, -/obj/structure/window/reinforced, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kc" = ( -/obj/machinery/door/window/southright{ - name = "Cargo Hold"; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kd" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/high, -/obj/item/weapon/cell/hyper, -/obj/item/weapon/cell/potato, -/obj/structure/window/reinforced, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ke" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"kf" = ( -/obj/structure/table/standard, -/obj/item/clothing/gloves/sterile/latex, -/obj/item/clothing/mask/surgical, -/obj/item/weapon/surgical/retractor{ - pixel_x = 0; - pixel_y = 6 - }, -/obj/item/weapon/surgical/scalpel, -/obj/item/weapon/surgical/surgicaldrill, -/obj/item/weapon/surgical/circular_saw, -/obj/item/stack/nanopaste, -/obj/item/weapon/surgical/hemostat{ - pixel_y = 4 - }, -/obj/item/weapon/surgical/cautery{ - pixel_y = 4 - }, -/obj/item/weapon/surgical/FixOVein{ - pixel_x = -6; - pixel_y = 1 - }, -/obj/item/stack/medical/advanced/bruise_pack, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel{ - pixel_x = 4; - pixel_y = 3 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kg" = ( -/obj/structure/medical_stand, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kh" = ( -/obj/machinery/door/blast/shutters{ - density = 0; - icon_state = "shutter0"; - id = "tradebridgeshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"ki" = ( -/obj/machinery/door/blast/shutters{ - density = 0; - icon_state = "shutter0"; - id = "tradebridgeshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"kj" = ( -/obj/machinery/vending/coffee, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kk" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kl" = ( -/obj/machinery/door/airlock/multi_tile/glass, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/trade/centcom) -"km" = ( -/obj/structure/closet/crate/secure/weapon, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kn" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/weapon/pen{ - pixel_y = 4 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ko" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/newscaster{ - pixel_x = 32 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kp" = ( -/obj/structure/toilet, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/shuttle/floor/white, -/area/shuttle/trade/centcom) -"kq" = ( -/obj/structure/sink{ - icon_state = "sink"; - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/machinery/light/small, -/turf/simulated/shuttle/floor/white, -/area/shuttle/trade/centcom) -"kr" = ( -/obj/structure/mirror{ - pixel_x = 0; - pixel_y = 28 - }, -/turf/simulated/shuttle/floor/white, -/area/shuttle/trade/centcom) -"ks" = ( -/obj/structure/curtain/open/shower, -/obj/machinery/shower{ - pixel_y = 3 - }, -/turf/simulated/shuttle/floor/white, -/area/shuttle/trade/centcom) -"kt" = ( -/obj/machinery/vending/snack{ - name = "hacked Getmore Chocolate Corp"; - prices = list() - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ku" = ( -/obj/structure/window/reinforced, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"kv" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kw" = ( -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "tradebridgeshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"kx" = ( -/obj/structure/frame/computer, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ky" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/sign/kiddieplaque{ - desc = "A plaque commemorating the construction of the cargo ship Beruang."; - name = "Beruang"; - pixel_x = 32 - }, -/mob/living/simple_mob/animal/passive/dog/tamaskan/Spice, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/trade/centcom) -"kz" = ( -/obj/machinery/door/airlock/silver{ - name = "Toilet" - }, -/turf/simulated/shuttle/floor/white, -/area/shuttle/trade/centcom) -"kA" = ( -/obj/machinery/door/airlock/silver{ - name = "Restroom" - }, -/turf/simulated/shuttle/floor/white, -/area/shuttle/trade/centcom) -"kB" = ( -/obj/structure/undies_wardrobe, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kC" = ( -/obj/machinery/vending/cigarette{ - name = "Cigarette machine"; - prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kD" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/largecrate/animal/cat, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kE" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/obj/structure/largecrate/animal/cow, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kF" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/obj/structure/closet/crate/freezer/rations, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kG" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/obj/item/device/kit/paint/ripley/death, -/obj/item/device/kit/paint/ripley/flames_blue, -/obj/item/device/kit/paint/ripley/flames_red, -/obj/item/device/kit/paint/ripley, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kI" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/obj/structure/largecrate/hoverpod, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kJ" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 5 - }, -/obj/mecha/working/ripley/mining, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kK" = ( -/obj/machinery/door/window/westright{ - name = "Storefront"; - req_access = list(160) - }, -/obj/structure/table/marble, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "trade"; - name = "Shop Shutters"; - opacity = 0 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/trade/centcom) -"kL" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/trade/centcom) -"kM" = ( -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "tradebridgeshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"kN" = ( -/obj/machinery/computer/shuttle_control{ - name = "Beruang control console"; - req_access = list(160); - shuttle_tag = "Trade" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kO" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/trade/centcom) -"kP" = ( -/obj/machinery/door/airlock/command{ - name = "Bridge"; - req_access = list(160); - req_one_access = newlist() - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kQ" = ( -/obj/structure/noticeboard{ - pixel_y = 32 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kR" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 10 - }, -/obj/structure/largecrate/animal/corgi, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kS" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/structure/largecrate/animal/corgi, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kT" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/structure/closet/crate/internals, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kU" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/industrial/warning, -/obj/item/device/kit/paint/gygax/darkgygax, -/obj/item/device/kit/paint/gygax/recitence, -/obj/item/device/kit/paint/durand, -/obj/item/device/kit/paint/durand/phazon, -/obj/item/device/kit/paint/durand/seraph, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kW" = ( -/obj/effect/floor_decal/industrial/warning, -/obj/structure/largecrate/hoverpod, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kX" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 6 - }, -/obj/mecha/working/ripley/firefighter, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"kY" = ( -/obj/machinery/door/window/westleft{ - name = "Storefront"; - req_access = list(160) - }, -/obj/structure/window/reinforced, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "trade"; - name = "Shop Shutters"; - opacity = 0 - }, -/obj/structure/table/marble, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/trade/centcom) -"kZ" = ( -/obj/machinery/computer/arcade/battle, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"la" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/button/remote/blast_door{ - id = "tradebridgeshutters"; - name = "remote shutter control"; - pixel_x = 30; - req_access = list(150) - }, -/obj/structure/flora/pottedplant{ - icon_state = "plant-09"; - name = "Esteban"; - pixel_y = 8 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lb" = ( -/obj/machinery/vending/assist{ - contraband = null; - name = "Old Vending Machine"; - products = list(/obj/item/device/assembly/prox_sensor = 5, /obj/item/device/assembly/signaler = 4, /obj/item/device/assembly/infra = 4, /obj/item/device/assembly/prox_sensor = 4, /obj/item/weapon/handcuffs = 8, /obj/item/device/flash = 4, /obj/item/weapon/cartridge/signal = 4, /obj/item/clothing/glasses/sunglasses = 4) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lc" = ( -/obj/structure/closet{ - name = "custodial" - }, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ld" = ( -/obj/machinery/vending/sovietsoda, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"le" = ( -/obj/machinery/light, -/obj/structure/table/standard, -/obj/item/weapon/soap, -/obj/item/weapon/towel{ - color = "#0000FF" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lf" = ( -/obj/structure/sign/poster{ - pixel_y = -32 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lg" = ( -/obj/machinery/door/airlock/multi_tile/glass{ - dir = 2; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lh" = ( -/obj/machinery/door/window/westleft{ - name = "Storefront"; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"li" = ( -/obj/machinery/button/remote/blast_door{ - id = "trade"; - name = "Shop Shutters"; - pixel_x = 0; - pixel_y = -26 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/trade/centcom) -"lj" = ( -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "tradebridgeshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"lk" = ( -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "tradebridgeshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"ll" = ( -/obj/machinery/vending/boozeomat{ - req_access = null - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lm" = ( -/obj/structure/table/standard, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ln" = ( -/obj/structure/table/standard, -/obj/item/weapon/storage/toolbox/mechanical, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lo" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdownside"; - nostop = 1; - stopper = 0; - tiles = 0 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"lp" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/table/steel_reinforced, -/obj/item/weapon/contraband/poster, -/obj/item/weapon/contraband/poster, -/obj/item/weapon/contraband/poster, -/obj/item/weapon/contraband/poster, -/obj/item/weapon/contraband/poster, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lq" = ( -/obj/machinery/door/window/northleft{ - name = "Cargo Hold"; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lr" = ( -/obj/structure/table/steel_reinforced, -/obj/random/plushie, -/obj/random/plushie, -/obj/random/plushie, -/obj/random/plushie, -/obj/random/plushie, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ls" = ( -/obj/machinery/door/window/northright{ - name = "Cargo Hold"; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lt" = ( -/obj/structure/table/steel_reinforced, -/obj/item/clothing/gloves/black, -/obj/item/clothing/gloves/blue, -/obj/item/clothing/gloves/brown, -/obj/item/clothing/gloves/captain, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/gloves/green, -/obj/item/clothing/gloves/grey, -/obj/item/clothing/gloves/light_brown, -/obj/item/clothing/gloves/purple, -/obj/item/clothing/gloves/rainbow, -/obj/item/clothing/gloves/swat, -/obj/item/clothing/gloves/white, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lu" = ( -/obj/machinery/atmospherics/pipe/tank/air{ - dir = 2; - start_pressure = 740.5 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lv" = ( -/obj/structure/closet/walllocker/emerglocker{ - pixel_y = 32 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lw" = ( -/obj/machinery/autolathe{ - desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; - hacked = 1; - name = "Unlocked Autolathe" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lx" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdownside"; - nostop = 1; - stopper = 0; - tiles = 0 - }, -/turf/unsimulated/floor/maglev{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/centcom/ferry) -"ly" = ( -/obj/machinery/button/remote/blast_door{ - id = "tradeportshutters"; - name = "remote shutter control"; - pixel_x = 30; - req_access = list(160) - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lz" = ( -/obj/structure/table/steel_reinforced, -/obj/random/contraband, -/obj/random/contraband, -/obj/random/contraband, -/obj/random/contraband, -/obj/random/contraband, -/obj/random/contraband, -/obj/item/weapon/bikehorn, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lA" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 10 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lB" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lC" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 6 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lD" = ( -/obj/structure/table/steel_reinforced, -/obj/item/clothing/head/bearpelt, -/obj/item/clothing/head/bowler, -/obj/item/clothing/head/caphat/cap, -/obj/item/clothing/head/beaverhat, -/obj/item/clothing/head/beret/centcom, -/obj/item/clothing/head/beret/sec, -/obj/item/clothing/head/collectable/kitty, -/obj/item/clothing/head/collectable/kitty, -/obj/item/clothing/head/collectable/kitty, -/obj/item/clothing/head/collectable/rabbitears, -/obj/item/clothing/head/collectable/rabbitears, -/obj/item/clothing/head/collectable/rabbitears, -/obj/item/clothing/head/collectable/petehat, -/obj/item/clothing/head/collectable/pirate, -/obj/item/clothing/head/collectable/wizard, -/obj/item/clothing/head/collectable/xenom, -/obj/item/clothing/head/cowboy_hat, -/obj/item/clothing/head/pin/flower/violet, -/obj/item/clothing/head/pin/flower/blue, -/obj/item/clothing/head/pin/flower/orange, -/obj/item/clothing/head/pin/flower/pink, -/obj/item/clothing/head/justice, -/obj/item/clothing/head/justice/blue, -/obj/item/clothing/head/justice/green, -/obj/item/clothing/head/justice/pink, -/obj/item/clothing/head/justice/yellow, -/obj/item/clothing/head/philosopher_wig, -/obj/item/clothing/head/plaguedoctorhat, -/obj/item/clothing/head/xenos, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lE" = ( -/obj/machinery/atmospherics/pipe/simple/visible, -/obj/machinery/meter, -/obj/structure/largecrate/animal/cat, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lF" = ( -/obj/machinery/door/airlock/glass_engineering{ - name = "Engineering"; - req_access = list(160); - req_one_access = newlist() - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lG" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "tradeportshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"lH" = ( -/obj/machinery/vending/medical{ - density = 0; - pixel_x = 32; - pixel_y = 0; - req_access = null - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"lI" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/bookcase, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lJ" = ( -/obj/structure/bed/chair/comfy/black, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lK" = ( -/obj/structure/bed/chair/office/dark, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"lL" = ( -/obj/machinery/photocopier, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"lM" = ( -/obj/structure/table/steel_reinforced, -/obj/random/action_figure, -/obj/random/action_figure, -/obj/random/action_figure, -/obj/random/action_figure, -/obj/random/action_figure, -/obj/random/action_figure, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lN" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/lipstick/black, -/obj/item/weapon/lipstick/jade, -/obj/item/weapon/lipstick/purple, -/obj/item/weapon/lipstick, -/obj/item/weapon/lipstick/random, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lO" = ( -/obj/structure/table/steel_reinforced, -/obj/item/clothing/accessory/holster/hip, -/obj/item/clothing/accessory/holster/armpit, -/obj/item/clothing/accessory/holster/armpit, -/obj/item/clothing/accessory/holster/hip, -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/white_vest, -/obj/item/clothing/accessory/storage/webbing, -/obj/item/clothing/accessory/storage/webbing, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/brown_vest, -/obj/item/clothing/accessory/storage/brown_vest, -/obj/item/clothing/accessory/scarf/white, -/obj/item/clothing/accessory/scarf/lightblue, -/obj/item/clothing/accessory/scarf/red, -/obj/item/clothing/accessory/scarf/purple, -/obj/item/clothing/accessory/armband/science, -/obj/item/clothing/accessory/armband/med, -/obj/item/clothing/accessory/armband/engine, -/obj/item/clothing/accessory/armband/cargo, -/obj/item/clothing/accessory/armband, -/obj/item/clothing/accessory/medal/nobel_science, -/obj/item/clothing/accessory/medal/silver, -/obj/item/clothing/accessory/medal/gold, -/obj/item/clothing/accessory/medal/bronze_heart, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lP" = ( -/obj/structure/table/steel_reinforced, -/obj/item/clothing/under/cheongsam, -/obj/item/clothing/under/hosformalmale, -/obj/item/clothing/under/hosformalfem, -/obj/item/clothing/under/harness, -/obj/item/clothing/under/gladiator, -/obj/item/clothing/under/ert, -/obj/item/clothing/under/schoolgirl, -/obj/item/clothing/under/redcoat, -/obj/item/clothing/under/sexymime, -/obj/item/clothing/under/sexyclown, -/obj/item/clothing/under/soviet, -/obj/item/clothing/under/space, -/obj/item/clothing/under/swimsuit/stripper/mankini, -/obj/item/clothing/under/suit_jacket/female, -/obj/item/clothing/under/rank/psych/turtleneck, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/tacticool, -/obj/item/clothing/under/syndicate/tacticool, -/obj/item/clothing/under/dress/sailordress, -/obj/item/clothing/under/dress/redeveninggown, -/obj/item/clothing/under/dress/dress_saloon, -/obj/item/clothing/under/dress/blacktango, -/obj/item/clothing/under/dress/blacktango/alt, -/obj/item/clothing/under/dress/dress_orange, -/obj/item/clothing/under/dress/maid/janitor, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lQ" = ( -/obj/structure/table/steel_reinforced, -/obj/item/clothing/suit/hgpirate, -/obj/item/clothing/suit/imperium_monk, -/obj/item/clothing/suit/leathercoat, -/obj/item/clothing/suit/justice, -/obj/item/clothing/suit/justice, -/obj/item/clothing/suit/justice, -/obj/item/clothing/suit/justice, -/obj/item/clothing/suit/justice, -/obj/item/clothing/suit/pirate, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lR" = ( -/obj/machinery/atmospherics/pipe/simple/visible, -/obj/structure/closet/crate/solar, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lS" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 8; - icon_state = "shutter0"; - id = "tradeportshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"lT" = ( -/obj/machinery/door/airlock/command{ - name = "Captain's Quarters"; - req_access = list(160); - req_one_access = newlist() - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"lU" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/weapon/pen{ - pixel_y = 4 - }, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"lV" = ( -/obj/structure/table/woodentable, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"lW" = ( -/obj/structure/table/woodentable, -/obj/item/modular_computer/laptop/preset/custom_loadout/standard, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"lX" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "tradeportshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"lY" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "tradeportshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"lZ" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "tradeportshutters"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced, -/turf/simulated/shuttle/plating, -/area/shuttle/trade/centcom) -"ma" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 5 - }, -/obj/machinery/atm{ - pixel_x = -32 - }, -/obj/machinery/meter, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mb" = ( -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1331; - master_tag = "trade2_control"; - pixel_x = -22; - pixel_y = -32; - req_one_access = list(150) - }, -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 1 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mc" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 10 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"md" = ( -/obj/structure/table/standard, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/head/helmet/space/void/merc, -/obj/item/clothing/head/helmet/space/void/merc, -/obj/item/clothing/head/helmet/space/void/merc, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"me" = ( -/obj/structure/table/standard, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/clothing/gloves/yellow, -/obj/item/clothing/gloves/yellow, -/obj/item/clothing/gloves/yellow, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mf" = ( -/obj/structure/table/standard, -/obj/item/stack/material/steel{ - amount = 2 - }, -/obj/item/stack/material/steel{ - amount = 2 - }, -/obj/item/stack/material/glass{ - amount = 15 - }, -/obj/item/stack/material/glass{ - amount = 15 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mg" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/captain, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mh" = ( -/obj/structure/table/glass, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = -35 - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mi" = ( -/obj/structure/filingcabinet/filingcabinet, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mj" = ( -/obj/machinery/light, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"mk" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 1 - }, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"ml" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-10" - }, -/turf/simulated/floor/carpet, -/area/shuttle/trade/centcom) -"mm" = ( -/obj/machinery/atmospherics/pipe/simple/visible, -/obj/machinery/door/airlock/glass_external{ - frequency = 1331; - icon_state = "door_locked"; - id_tag = "trade2_shuttle_inner"; - locked = 1; - name = "Ship Hatch" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mn" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1331; - icon_state = "door_locked"; - id_tag = "trade2_shuttle_inner"; - locked = 1; - name = "Ship Hatch" - }, -/obj/machinery/atmospherics/pipe/simple/visible, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mo" = ( -/obj/machinery/vending/engivend, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mp" = ( -/obj/machinery/vending/tool, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mq" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 1; - frequency = 1331; - id_tag = "trade2_vent" - }, -/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1331; - id_tag = "trade2_control"; - pixel_x = -24; - req_access = list(150); - tag_airpump = "trade2_vent"; - tag_chamber_sensor = "trade2_sensor"; - tag_exterior_door = "trade2_shuttle_outer"; - tag_interior_door = "trade2_shuttle_inner" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mr" = ( -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 - }, -/obj/machinery/airlock_sensor{ - frequency = 1331; - id_tag = "trade2_sensor"; - pixel_x = 25 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 1; - frequency = 1331; - id_tag = "trade2_vent" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"ms" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1331; - icon_state = "door_locked"; - id_tag = "trade2_shuttle_outer"; - locked = 1; - name = "Ship Hatch" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mt" = ( -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1331; - master_tag = "trade2_control"; - pixel_x = 24; - req_one_access = list(150) - }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1331; - icon_state = "door_locked"; - id_tag = "trade2_shuttle_outer"; - locked = 1; - name = "Ship Hatch" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/trade/centcom) -"mu" = ( -/obj/effect/transit/light{ - dir = 8 - }, -/turf/unsimulated/mineral{ - icon = 'icons/turf/transit_vr.dmi'; - icon_state = "rock" - }, -/area/centcom/ferry) -"mv" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - tiles = 0 - }, -/turf/space, -/area/space) -"mw" = ( -/turf/simulated/shuttle/wall/dark/hard_corner, -/area/wizard_station) -"mx" = ( -/obj/effect/wingrille_spawn/reinforced/crescent, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"my" = ( -/obj/machinery/chemical_dispenser/bar_soft/full, -/obj/structure/table/marble, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/wizard_station) -"mz" = ( -/obj/item/weapon/reagent_containers/food/drinks/bottle/pwine{ - pixel_x = -4; - pixel_y = 10 - }, -/obj/structure/table/marble, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/wizard_station) -"mA" = ( -/obj/structure/sink/kitchen{ - pixel_y = 28 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/wizard_station) -"mB" = ( -/obj/machinery/computer/arcade/battle, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mC" = ( -/obj/machinery/computer/arcade/orion_trail, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mD" = ( -/obj/machinery/microwave{ - pixel_x = -1; - pixel_y = 8 - }, -/obj/structure/table/marble, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/wizard_station) -"mE" = ( -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/wizard_station) -"mF" = ( -/obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ - on = 0; - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/toy/figure/ninja, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/wizard_station) -"mG" = ( -/obj/structure/bed, -/obj/item/weapon/bedsheet/rd, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/wizard_station) -"mH" = ( -/obj/structure/bed/chair/wood/wings, -/obj/machinery/newscaster{ - layer = 3.3; - pixel_x = 0; - pixel_y = 30 - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mI" = ( -/obj/machinery/status_display{ - layer = 4; - pixel_x = 0; - pixel_y = 32 - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mJ" = ( -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mK" = ( -/obj/item/weapon/storage/box/donkpockets{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/structure/table/marble, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/wizard_station) -"mL" = ( -/obj/structure/mirror{ - pixel_x = -28 - }, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/wizard_station) -"mM" = ( -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/wizard_station) -"mN" = ( -/obj/structure/table/woodentable, -/obj/machinery/status_display{ - layer = 4; - pixel_x = 0; - pixel_y = 32 - }, -/obj/item/weapon/ore/slag{ - desc = "Well at least Arthur doesn't have to share now..."; - name = "pet rock" - }, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/wizard_station) -"mO" = ( -/obj/machinery/newscaster{ - layer = 3.3; - pixel_x = 0; - pixel_y = 30 - }, -/obj/structure/bedsheetbin, -/obj/structure/table/woodentable, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/wizard_station) -"mP" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Subversive Intercom"; - pixel_x = -32; - subspace_transmission = 1; - syndie = 1 - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mQ" = ( -/obj/structure/table/woodentable, -/obj/item/device/radio/headset, -/obj/item/weapon/spacecash/c500, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mR" = ( -/obj/structure/bed/chair/wood/wings{ - icon_state = "wooden_chair_wings"; - dir = 8 - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mS" = ( -/obj/item/weapon/reagent_containers/food/snacks/spellburger{ - pixel_y = 8 - }, -/obj/structure/table/marble, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/wizard_station) -"mT" = ( -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"mU" = ( -/obj/structure/undies_wardrobe, -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Subversive Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"mV" = ( -/obj/structure/bed/chair/wood/wings{ - icon_state = "wooden_chair_wings"; - dir = 4 - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mW" = ( -/obj/structure/table/woodentable, -/obj/item/device/paicard, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mX" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/book/manual/security_space_law, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mY" = ( -/obj/machinery/door/airlock/hatch, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"mZ" = ( -/obj/machinery/door/airlock/hatch, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"na" = ( -/obj/item/weapon/antag_spawner/technomancer_apprentice, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nb" = ( -/obj/structure/table/woodentable, -/obj/item/clothing/shoes/boots/workboots, -/obj/item/clothing/under/technomancer, -/obj/item/clothing/head/technomancer, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nc" = ( -/obj/structure/bed/chair/wood/wings{ - icon_state = "wooden_chair_wings"; - dir = 1 - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"nd" = ( -/obj/machinery/portable_atmospherics/hydroponics, -/turf/unsimulated/floor{ - icon_state = "grass0"; - name = "grass" - }, -/area/wizard_station) -"ne" = ( -/obj/machinery/vending/hydroseeds, -/turf/unsimulated/floor{ - icon_state = "grass0"; - name = "grass" - }, -/area/wizard_station) -"nf" = ( -/obj/structure/closet{ - icon_closed = "cabinet_closed"; - icon_opened = "cabinet_open"; - icon_state = "cabinet_closed" - }, -/obj/item/clothing/suit/wizrobe/magusblue, -/obj/item/clothing/head/wizard/magus, -/obj/item/weapon/staff, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"ng" = ( -/obj/effect/landmark/start{ - name = "wizard" - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nh" = ( -/obj/item/weapon/reagent_containers/food/snacks/cheesewedge, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"ni" = ( -/obj/structure/table/woodentable, -/obj/machinery/librarycomp{ - pixel_y = 6 - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"nj" = ( -/obj/machinery/media/jukebox, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"nk" = ( -/obj/machinery/vending/hydronutrients, -/turf/unsimulated/floor{ - icon_state = "grass0"; - name = "grass" - }, -/area/wizard_station) -"nl" = ( -/obj/structure/closet{ - icon_closed = "cabinet_closed"; - icon_opened = "cabinet_open"; - icon_state = "cabinet_closed" - }, -/obj/item/clothing/under/psysuit, -/obj/item/clothing/suit/wizrobe/psypurple, -/obj/item/clothing/head/wizard/amp, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nm" = ( -/mob/living/simple_mob/animal/passive/mouse/gray{ - desc = "He looks kingly."; - name = "Arthur" - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nn" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-24" - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"no" = ( -/obj/machinery/photocopier, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"np" = ( -/obj/structure/bookcase, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"nq" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-08" - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/wizard_station) -"nr" = ( -/obj/structure/closet{ - icon_closed = "cabinet_closed"; - icon_opened = "cabinet_open"; - icon_state = "cabinet_closed" - }, -/obj/item/clothing/shoes/sandal/marisa{ - desc = "A set of fancy shoes that are as functional as they are comfortable."; - name = "Gentlemans Shoes" - }, -/obj/item/clothing/under/gentlesuit, -/obj/item/clothing/suit/wizrobe/gentlecoat, -/obj/item/clothing/head/wizard/cap, -/obj/item/weapon/staff/gentcane, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"ns" = ( -/obj/structure/closet{ - icon_closed = "cabinet_closed"; - icon_opened = "cabinet_open"; - icon_state = "cabinet_closed" - }, -/obj/item/clothing/suit/wizrobe/magusred, -/obj/item/clothing/head/wizard/magus, -/obj/item/weapon/staff, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nt" = ( -/obj/structure/closet{ - icon_closed = "cabinet_closed"; - icon_opened = "cabinet_open"; - icon_state = "cabinet_closed" - }, -/obj/item/clothing/suit/wizrobe/marisa, -/obj/item/clothing/shoes/sandal/marisa, -/obj/item/clothing/head/wizard/marisa, -/obj/item/weapon/staff/broom, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nu" = ( -/obj/structure/closet{ - icon_closed = "cabinet_closed"; - icon_opened = "cabinet_open"; - icon_state = "cabinet_closed" - }, -/obj/item/clothing/suit/wizrobe/red, -/obj/item/clothing/shoes/sandal, -/obj/item/clothing/head/wizard/red, -/obj/item/weapon/staff, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nv" = ( -/obj/machinery/the_singularitygen, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nw" = ( -/obj/machinery/crystal, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nx" = ( -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"ny" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/arrow/quill, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nz" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/stock_parts/matter_bin/super, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nA" = ( -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"nB" = ( -/obj/machinery/computer/communications, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nC" = ( -/obj/structure/sign/double/map/left{ - pixel_y = 32 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nD" = ( -/obj/structure/sign/double/map/right{ - pixel_y = 32 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nE" = ( -/obj/machinery/computer/message_monitor, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nF" = ( -/obj/machinery/computer/security, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nG" = ( -/obj/structure/table/steel_reinforced, -/obj/item/stack/telecrystal, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nH" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nI" = ( -/obj/structure/table/steel_reinforced, -/obj/item/clothing/head/philosopher_wig, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nJ" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-04" - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nK" = ( -/obj/structure/sign/electricshock, -/turf/simulated/shuttle/wall/dark/hard_corner, -/area/wizard_station) -"nL" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"nM" = ( -/obj/machinery/computer/shuttle, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nN" = ( -/obj/structure/bed/chair/comfy/brown{ - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nO" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"nP" = ( -/obj/machinery/computer/crew, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nQ" = ( -/obj/machinery/computer/power_monitor, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nR" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Subversive Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/machinery/computer/station_alert/all, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nS" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/mmi/radio_enabled, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nT" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/material/knife/ritual, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nU" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-03" - }, -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Subversive Intercom"; - pixel_x = -32; - subspace_transmission = 1; - syndie = 1 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nV" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"nW" = ( -/obj/machinery/power/port_gen/pacman, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"nX" = ( -/obj/structure/table/steel_reinforced, -/obj/item/xenos_claw, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"nY" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/coin/diamond, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"nZ" = ( -/obj/structure/table/steel_reinforced, -/obj/item/broken_device, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oa" = ( -/obj/structure/table/steel_reinforced, -/obj/item/organ/internal/stack, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"ob" = ( -/obj/machinery/floodlight, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oc" = ( -/obj/machinery/mecha_part_fabricator, -/obj/machinery/status_display{ - layer = 4; - pixel_x = 0; - pixel_y = 32 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"od" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/cell_charger, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"oe" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/ripley_build_and_repair, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"of" = ( -/obj/item/device/suit_cooling_unit, -/obj/structure/table/steel_reinforced, -/obj/machinery/newscaster{ - layer = 3.3; - pixel_x = 0; - pixel_y = 30 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"og" = ( -/obj/machinery/newscaster{ - layer = 3.3; - pixel_x = 0; - pixel_y = 30 - }, -/obj/item/target, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"oh" = ( -/obj/item/target/syndicate, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"oi" = ( -/obj/structure/table/steel_reinforced, -/obj/item/toy/sword, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"oj" = ( -/obj/machinery/status_display{ - layer = 4; - pixel_x = 0; - pixel_y = 32 - }, -/obj/structure/table/steel_reinforced, -/obj/item/weapon/gun/energy/laser/practice, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"ok" = ( -/obj/machinery/recharge_station, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"ol" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/engineering_hacking, -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Subversive Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"om" = ( -/obj/effect/floor_decal/industrial/warning/corner, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"on" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oo" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - icon_state = "warningcorner"; - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"op" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Subversive Intercom"; - pixel_x = -32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/item/target, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"oq" = ( -/obj/item/robot_parts/r_arm, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"or" = ( -/obj/item/robot_parts/l_leg, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"os" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/book/manual/robotics_cyborgs, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"ot" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 4 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"ou" = ( -/obj/machinery/power/emitter{ - anchored = 1; - desc = "It is a heavy duty industrial laser used in a very non-industrial way."; - name = "teleport defender" - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"ov" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"ow" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 9 - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"ox" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 1 - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oy" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 5 - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oz" = ( -/obj/item/weapon/stool/padded, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oA" = ( -/obj/item/robot_parts/r_leg, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oB" = ( -/obj/item/robot_parts/chest, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oC" = ( -/obj/item/robot_parts/l_arm, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oD" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 4 - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oE" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oF" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oG" = ( -/obj/structure/target_stake, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oH" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 4 - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oI" = ( -/obj/structure/AIcore, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oJ" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-20" - }, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"oK" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 10 - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oL" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oM" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 6 - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oN" = ( -/obj/effect/decal/mecha_wreckage/phazon, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oO" = ( -/obj/item/robot_parts/head, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/wizard_station) -"oP" = ( -/obj/item/weapon/firstaid_arm_assembly, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"oQ" = ( -/obj/item/weapon/bucket_sensor, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oR" = ( -/obj/item/weapon/farmbot_arm_assembly, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"oS" = ( -/obj/structure/table/steel_reinforced, -/turf/unsimulated/floor{ - icon_state = "vault"; - dir = 5 - }, -/area/wizard_station) -"oT" = ( -/obj/structure/table/steel_reinforced, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oU" = ( -/obj/machinery/computer/teleporter, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oV" = ( -/obj/machinery/teleport/station, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oW" = ( -/obj/machinery/teleport/hub, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/wizard_station) -"oX" = ( -/turf/unsimulated/wall, -/area/antag/antag_base) -"oY" = ( -/turf/simulated/floor/outdoors/grass/sif/virgo3b{ - tree_chance = 0 - }, -/area/antag/antag_base) -"oZ" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"pa" = ( -/obj/structure/table/glass, -/obj/item/weapon/handcuffs/fuzzy, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"pb" = ( -/obj/structure/flora/tree/sif, -/turf/simulated/floor/outdoors/grass/sif/virgo3b{ - tree_chance = 0 - }, -/area/antag/antag_base) -"pc" = ( -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"pd" = ( -/obj/machinery/door/airlock/centcom{ - name = "Private Room"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pe" = ( -/obj/effect/floor_decal/corner/red{ - dir = 5 - }, -/obj/structure/table/rack, -/obj/item/weapon/gun/launcher/rocket, -/obj/item/ammo_casing/rocket, -/obj/item/ammo_casing/rocket, -/obj/item/ammo_casing/rocket, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pf" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"pg" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/plasmastun, -/obj/item/weapon/gun/energy/plasmastun, -/obj/effect/floor_decal/corner/red{ - dir = 5 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"ph" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/darkmatter, -/obj/item/weapon/gun/energy/darkmatter, -/obj/effect/floor_decal/corner/red{ - dir = 5 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pi" = ( -/obj/structure/bed/chair, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"pj" = ( -/obj/structure/bed/chair, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"pk" = ( -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pl" = ( -/obj/machinery/newscaster{ - layer = 3.3; - pixel_x = 0; - pixel_y = 32 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pm" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/xray, -/obj/item/weapon/gun/energy/xray, -/obj/effect/floor_decal/corner/red{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pn" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 2 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/antag/antag_base) -"po" = ( -/obj/structure/window/reinforced{ - dir = 2 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/antag/antag_base) -"pp" = ( -/obj/structure/window/reinforced{ - dir = 2 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/antag/antag_base) -"pr" = ( -/obj/structure/closet/syndicate, -/obj/item/clothing/mask/gas/wwii, -/obj/item/clothing/head/helmet, -/obj/item/clothing/shoes/boots/jackboots, -/obj/item/clothing/suit/armor/vest, -/obj/item/clothing/under/syndicate, -/obj/item/clothing/gloves/black, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"ps" = ( -/obj/machinery/atmospherics/pipe/tank/air{ - dir = 4; - start_pressure = 740.5 - }, -/obj/machinery/door/window, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) -"pt" = ( -/obj/machinery/shower{ - dir = 8; - icon_state = "shower"; - pixel_x = -5; - pixel_y = 0 - }, -/obj/structure/curtain/open/shower, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"pu" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/item/weapon/gun/energy/sniperrifle, -/obj/effect/floor_decal/corner/red{ - dir = 10 - }, -/obj/effect/floor_decal/corner/red{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pv" = ( -/obj/structure/closet/athletic_mixed, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/antag/antag_base) -"px" = ( -/obj/structure/table/woodentable, -/obj/item/stack/medical/bruise_pack, -/obj/item/stack/medical/bruise_pack, -/obj/item/weapon/melee/telebaton, -/obj/machinery/computer/security/telescreen/entertainment{ - icon_state = "frame"; - pixel_w = 0; - pixel_x = 0; - pixel_y = 32 - }, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/antag/antag_base) -"py" = ( -/obj/structure/reagent_dispensers/water_cooler/full, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/antag/antag_base) -"pz" = ( -/obj/structure/closet{ - icon_closed = "cabinet_closed"; - icon_opened = "cabinet_open"; - icon_state = "cabinet_closed"; - name = "Clothing Storage" - }, -/obj/item/clothing/shoes/boots/combat, -/obj/item/clothing/shoes/boots/combat, -/obj/item/clothing/shoes/boots/combat, -/obj/item/clothing/shoes/boots/combat, -/obj/item/clothing/shoes/boots/combat, -/obj/item/clothing/shoes/boots/combat, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/gloves/combat, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"pA" = ( -/obj/structure/table/standard, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/obj/item/device/radio/headset/syndicate/alt, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"pB" = ( -/obj/structure/table/standard, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/obj/item/device/pda/syndicate, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"pC" = ( -/obj/structure/table/standard, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/obj/item/weapon/card/id/syndicate, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"pD" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-10" - }, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"pF" = ( -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"pI" = ( -/obj/machinery/door/airlock/vault{ - name = "War Armory"; - req_access = list(999); - req_one_access = list(999) - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pJ" = ( -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/antag/antag_base) -"pK" = ( -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"pL" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/obj/machinery/recharger/wallcharger{ - pixel_x = 32; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"pM" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 9 - }, -/turf/simulated/shuttle/floor/white, -/area/syndicate_station/start) -"pN" = ( -/obj/machinery/embedded_controller/radio/airlock/phoron{ - id_tag = "merc_south_airlock"; - pixel_x = 0; - pixel_y = 0 - }, -/turf/simulated/shuttle/wall/dark, -/area/syndicate_station/start) -"pO" = ( -/obj/machinery/access_button/airlock_exterior{ - command = "cycle_interior"; - master_tag = "merc_south_airlock"; - pixel_x = -25; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/visible, -/obj/machinery/door/airlock/glass_external/public{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "merc_south_airlock_inner"; - locked = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"pP" = ( -/obj/machinery/door/airlock/glass_external/public{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "merc_south_airlock_inner"; - locked = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"pQ" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced{ - dir = 2 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "syndieshutters_workshop"; - name = "Blast Shutters"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"pS" = ( -/obj/structure/table/rack, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pT" = ( -/obj/structure/table/rack, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/shield/energy, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, -/obj/item/weapon/melee/energy/sword/red, -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = 32 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pU" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/effect/floor_decal/corner/purple{ - dir = 5 - }, -/obj/effect/floor_decal/corner/purple{ - dir = 10 - }, -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = 32 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pV" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/item/weapon/storage/box/syndie_kit/imp_uplink, -/obj/effect/floor_decal/corner/green{ - dir = 10 - }, -/obj/effect/floor_decal/corner/green{ - dir = 5 - }, -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = 32 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pW" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-21" - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"pX" = ( -/obj/machinery/vending/fitness, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/antag/antag_base) -"pY" = ( -/obj/machinery/scale, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/antag/antag_base) -"pZ" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-21" - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/antag/antag_base) -"qa" = ( -/obj/effect/floor_decal/steeldecal/steel_decals6{ - dir = 4 - }, -/obj/effect/floor_decal/steeldecal/steel_decals6, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/antag/antag_base) -"qb" = ( -/obj/machinery/door/airlock/centcom{ - name = "Gym"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/antag/antag_base) -"qc" = ( -/obj/machinery/door/airlock/centcom{ - name = "Barracks"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"qd" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"qe" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/obj/machinery/recharger/wallcharger{ - pixel_x = 32; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"qf" = ( -/obj/machinery/suit_cycler/syndicate{ - locked = 0 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"qg" = ( -/obj/effect/floor_decal/corner/purple{ - dir = 5 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qh" = ( -/obj/effect/floor_decal/corner/green{ - dir = 5 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qi" = ( -/obj/structure/closet{ - icon_closed = "cabinet_closed"; - icon_opened = "cabinet_open"; - icon_state = "cabinet_closed"; - name = "Clothing Storage" - }, -/obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/clothing/suit/storage/hooded/wintercoat, -/obj/item/clothing/shoes/boots/winter, -/obj/item/clothing/shoes/boots/winter, -/obj/item/clothing/shoes/boots/winter, -/obj/item/clothing/shoes/boots/winter, -/obj/item/clothing/shoes/boots/winter, -/obj/item/clothing/shoes/boots/winter, -/obj/item/clothing/shoes/boots/winter, -/obj/item/clothing/mask/balaclava, -/obj/item/clothing/mask/balaclava, -/obj/item/clothing/mask/balaclava, -/obj/item/clothing/mask/balaclava, -/obj/item/clothing/mask/balaclava, -/obj/item/clothing/mask/balaclava, -/obj/item/clothing/mask/balaclava, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"qj" = ( -/obj/machinery/atmospherics/pipe/manifold4w/visible, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"qk" = ( -/obj/effect/floor_decal/corner/red{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"ql" = ( -/obj/structure/table/rack, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/ammo_magazine/m10mm, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/item/weapon/gun/projectile/automatic/c20r, -/obj/effect/floor_decal/corner/red{ - dir = 9 - }, -/obj/effect/floor_decal/corner/red{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qm" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/item/weapon/gun/projectile/silenced, -/obj/effect/floor_decal/corner/red{ - dir = 9 - }, -/obj/effect/floor_decal/corner/red{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qn" = ( -/obj/effect/floor_decal/corner/red{ - dir = 9 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qo" = ( -/obj/structure/table/rack, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/head/helmet/space/void/merc, -/obj/effect/floor_decal/borderfloorblack{ - dir = 9 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qp" = ( -/obj/structure/table/rack, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/head/helmet/space/void/merc, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qq" = ( -/obj/structure/table/rack, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/item/weapon/tank/jetpack/oxygen, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qr" = ( -/obj/structure/table/rack, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/suit/space/void/merc, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/head/helmet/space/void/merc, -/obj/effect/floor_decal/borderfloorblack{ - dir = 5 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qs" = ( -/obj/structure/table/standard, -/obj/item/clothing/glasses/sunglasses/prescription, -/obj/item/clothing/glasses/sunglasses/prescription, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/glasses/sunglasses, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"qt" = ( -/obj/structure/table/standard, -/obj/item/weapon/storage/backpack/dufflebag/syndie, -/obj/item/weapon/storage/backpack/dufflebag/syndie, -/obj/item/weapon/storage/backpack/messenger/black, -/obj/item/weapon/storage/backpack/messenger/black, -/obj/item/weapon/storage/backpack/satchel/norm, -/obj/item/weapon/storage/backpack/satchel/norm, -/obj/item/weapon/storage/backpack/satchel/norm, -/obj/item/weapon/storage/backpack/satchel/norm, -/obj/item/weapon/storage/backpack/satchel/norm, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"qu" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/obj/item/weapon/reagent_containers/food/snacks/sandwich, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"qv" = ( -/obj/item/weapon/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/weapon/pen{ - pixel_y = 4 - }, -/obj/structure/table/glass, -/obj/item/weapon/folder{ - pixel_y = 2 - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"qw" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 8; - frequency = 1379; - id_tag = "merc_south_airlock_pump" - }, -/obj/structure/grille, -/obj/structure/railing{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"qy" = ( -/obj/structure/table/rack, -/obj/item/ammo_magazine/m45/rubber, -/obj/item/ammo_magazine/m45/rubber, -/obj/item/ammo_magazine/m45/rubber, -/obj/item/ammo_magazine/m45/rubber, -/obj/item/ammo_magazine/m45/rubber, -/obj/item/ammo_magazine/m45/rubber, -/obj/item/ammo_magazine/m45, -/obj/item/ammo_magazine/m45, -/obj/item/ammo_magazine/m45, -/obj/item/ammo_magazine/m45, -/obj/item/ammo_magazine/m45, -/obj/item/ammo_magazine/m45, -/obj/item/ammo_magazine/m45, -/obj/effect/floor_decal/corner/red{ - dir = 9 - }, -/obj/effect/floor_decal/corner/red{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qz" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/item/weapon/gun/energy/laser, -/obj/effect/floor_decal/corner/red{ - dir = 9 - }, -/obj/effect/floor_decal/corner/red{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qA" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 4 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qB" = ( -/obj/effect/floor_decal/borderfloorblack/corner{ - dir = 1 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qC" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qD" = ( -/obj/structure/undies_wardrobe, -/turf/unsimulated/floor{ - icon_state = "lino" - }, -/area/antag/antag_base) -"qE" = ( -/obj/structure/table/glass, -/obj/item/weapon/storage/box/donut{ - desc = "There's a name, and a message written on the lid. It reads, \"DO NOT EAT. That means you, Dave!\""; - name = "Mike's donut box" - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"qF" = ( -/obj/structure/table/steel, -/obj/item/roller, -/obj/item/roller{ - pixel_y = 8 - }, -/obj/item/roller{ - pixel_y = 16 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"qG" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1380; - id_tag = "antag_ground_shuttle"; - pixel_x = -25; - pixel_y = 0; - req_one_access = list(13,31); - tag_door = "antag_ground_shuttle_hatch" - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"qH" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"qI" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1380; - id_tag = "antag_space_shuttle"; - pixel_x = -25; - pixel_y = 0; - req_one_access = list(13,31); - tag_door = "antag_space_shuttle_hatch" - }, -/obj/structure/table/steel, -/obj/item/roller, -/obj/item/roller{ - pixel_y = 8 - }, -/obj/item/roller{ - pixel_y = 16 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"qJ" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor/darkred, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"qK" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"qL" = ( -/obj/effect/floor_decal/corner/yellow{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qM" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/item/weapon/gun/energy/gun, -/obj/effect/floor_decal/corner/yellow{ - dir = 6 - }, -/obj/effect/floor_decal/corner/yellow{ - dir = 9 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qN" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle/pistol, -/obj/item/weapon/gun/energy/ionrifle, -/obj/item/weapon/gun/energy/ionrifle, -/obj/effect/floor_decal/corner/yellow{ - dir = 6 - }, -/obj/effect/floor_decal/corner/yellow{ - dir = 9 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qO" = ( -/obj/effect/floor_decal/corner/yellow{ - dir = 9 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qP" = ( -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/borderfloorblack/corner2, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qQ" = ( -/obj/effect/floor_decal/borderfloorblack/corner{ - dir = 8 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qR" = ( -/obj/effect/floor_decal/borderfloorblack/corner, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qS" = ( -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 9 - }, -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = -32 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qT" = ( -/obj/effect/landmark{ - name = "Syndicate-Uplink" - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qU" = ( -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/borderfloorblack/corner2, -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = -32 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qV" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/tram{ - name = "\improper Landcrawler Scrubber" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"qW" = ( -/turf/simulated/shuttle/floor/black, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"qX" = ( -/obj/effect/floor_decal/corner/blue{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qY" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/netgun, -/obj/item/weapon/gun/energy/netgun, -/obj/effect/floor_decal/corner/blue{ - dir = 6 - }, -/obj/effect/floor_decal/corner/blue{ - dir = 9 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"qZ" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/item/weapon/gun/energy/stunrevolver, -/obj/effect/floor_decal/corner/blue{ - dir = 6 - }, -/obj/effect/floor_decal/corner/blue{ - dir = 9 - }, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"ra" = ( -/obj/effect/floor_decal/corner/blue{ - dir = 9 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rb" = ( -/obj/structure/table/rack, -/obj/item/clothing/mask/gas/voice, -/obj/item/clothing/mask/gas/voice, -/obj/item/clothing/mask/gas/voice, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rc" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 10 - }, -/obj/structure/table/rack, -/obj/item/weapon/rig/merc/empty, -/obj/item/weapon/rig/merc/empty, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rd" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/floor_decal/borderfloorblack{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"re" = ( -/obj/machinery/door/airlock/vault{ - name = "Armory"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rf" = ( -/obj/structure/table/rack, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/item/weapon/tank/oxygen/red, -/obj/effect/floor_decal/borderfloorblack{ - dir = 10 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rg" = ( -/obj/machinery/suit_cycler/syndicate{ - locked = 0 - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rh" = ( -/obj/structure/table/marble, -/obj/item/weapon/reagent_containers/food/drinks/cup{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ - pixel_x = 3 - }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ - pixel_x = 8 - }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ - pixel_x = -4 - }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ - pixel_x = 8; - pixel_y = 12 - }, -/obj/item/weapon/reagent_containers/food/drinks/cup{ - pixel_x = -4; - pixel_y = 12 - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"ri" = ( -/obj/structure/table/marble, -/obj/machinery/chemical_dispenser/bar_coffee/full, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rj" = ( -/obj/machinery/computer/security/telescreen/entertainment{ - icon_state = "frame"; - pixel_w = 0; - pixel_x = 0; - pixel_y = 32 - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rk" = ( -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = 32 - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rl" = ( -/obj/machinery/vending/sovietsoda, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rm" = ( -/obj/machinery/portable_atmospherics/canister/air, -/turf/simulated/shuttle/floor/black, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"rn" = ( -/turf/simulated/shuttle/floor/black, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"ro" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "antag_ground_shuttle_hatch"; - locked = 1; - name = "Shuttle Hatch" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/antag_ground/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"rp" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "antag_space_shuttle_hatch"; - locked = 1; - name = "Shuttle Hatch" - }, -/turf/simulated/shuttle/floor/black, -/area/shuttle/antag_space/base{ - base_turf = /turf/unsimulated/floor/techfloor_grid - }) -"rq" = ( -/obj/structure/table/rack, -/obj/item/clothing/suit/storage/vest/heavy/merc, -/obj/item/clothing/suit/storage/vest/heavy/merc, -/obj/item/clothing/suit/storage/vest/heavy/merc, -/obj/item/clothing/suit/storage/vest/heavy/merc, -/obj/item/clothing/suit/storage/vest/heavy/merc, -/obj/item/clothing/suit/storage/vest/heavy/merc, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rr" = ( -/obj/structure/bed/chair/comfy/black, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rs" = ( -/turf/unsimulated/floor/steel{ - icon = 'icons/turf/flooring/circuit.dmi'; - icon_state = "bcircuit" - }, -/area/antag/antag_base) -"rt" = ( -/obj/machinery/mech_recharger, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"ru" = ( -/obj/structure/table/rack, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/obj/item/device/suit_cooling_unit, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rv" = ( -/obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/item/weapon/tank/emergency/oxygen/double, -/obj/effect/floor_decal/borderfloorblack{ - dir = 9 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rw" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/item/weapon/storage/toolbox/syndicate, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rx" = ( -/obj/structure/table/rack, -/obj/item/borg/sight/thermal, -/obj/item/borg/sight/thermal, -/obj/item/borg/sight/thermal, -/obj/item/borg/sight/thermal, -/obj/item/borg/sight/thermal, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 1 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"ry" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/storage/firstaid/combat, -/obj/item/weapon/reagent_containers/hypospray, -/obj/item/weapon/reagent_containers/hypospray, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 4 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rz" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/belt/security{ - name = "black belt" - }, -/obj/item/weapon/storage/belt/security{ - name = "black belt" - }, -/obj/item/weapon/storage/belt/security{ - name = "black belt" - }, -/obj/item/weapon/storage/belt/security{ - name = "black belt" - }, -/obj/item/weapon/storage/belt/security{ - name = "black belt" - }, -/obj/item/weapon/storage/belt/security{ - name = "black belt" - }, -/obj/item/weapon/storage/belt/security{ - name = "black belt" - }, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/item/weapon/storage/belt/security/tactical/bandolier, -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rA" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/effect/floor_decal/borderfloorblack{ - dir = 5 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rB" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/antag/antag_base) -"rC" = ( -/obj/machinery/vending/cigarette{ - name = "Breach Corp cigarette machine"; - prices = list(); - products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2) - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rD" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 4 - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rE" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/effect/floor_decal/rust, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rF" = ( -/obj/effect/floor_decal/rust, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rG" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 8 - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rH" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ - frequency = 1379; - scrub_id = "merc_south_airlock_scrubber" - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"rI" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/box/handcuffs{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/weapon/storage/box/flashbangs, -/obj/item/weapon/storage/box/smokes, -/obj/item/weapon/storage/box/frags, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rJ" = ( -/obj/structure/table/rack, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/item/weapon/tool/crowbar/red, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/obj/item/device/flashlight/maglight, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rK" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/adv, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/o2, -/obj/item/weapon/storage/firstaid/fire, -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 5 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rL" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-21" - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rM" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 1 - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rN" = ( /obj/effect/step_trigger/teleporter/random{ affect_ghosts = 1; name = "escapeshuttle_leave"; @@ -8151,1416 +1851,168 @@ teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; - teleport_z = 6; - teleport_z_offset = 6 + teleport_z = 4; + teleport_z_offset = 4 }, -/turf/simulated/mineral, +/turf/space/transit/west, /area/space) -"rO" = ( -/obj/machinery/access_button/airlock_exterior{ - master_tag = "merc_south_airlock"; - pixel_x = -25; - pixel_y = 0 +"iY" = ( +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/obj/effect/floor_decal/corner_steel_grid{ - dir = 10 +/area/space) +"jf" = ( +/turf/space/transit/north, +/area/space) +"jQ" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/east; + landmark_tag = "specops_transit"; + name = "Specops Transit" }, -/obj/effect/floor_decal/industrial/danger, -/obj/machinery/door/airlock/glass_external/public{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "merc_south_airlock_outer"; - locked = 1 +/turf/space/transit/west, +/area/space) +"kh" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/base_mid, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"kn" = ( +/obj/structure/fake_stairs/north/bottom{ + _stair_tag = "stairtest" }, -/obj/machinery/door/blast/regular{ - density = 0; - icon_state = "pdoor0"; - id = "smindicate"; - name = "Outer Airlock"; - opacity = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"rP" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/obj/item/weapon/storage/box/syndie_kit/combat_armor, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rQ" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/item/weapon/storage/box/syndie_kit/ewar_voice, -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = -32 - }, -/obj/item/weapon/card/emag, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rR" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/weapon/storage/box/syndie_kit/spy, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/radio_jammer, -/obj/item/device/chameleon, -/obj/item/device/chameleon, -/obj/item/device/chameleon, -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = -32 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rS" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/item/weapon/storage/box/syndie_kit/chameleon, -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = -32 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rT" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy{ - name = "Super Heavy Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ - name = "Heavy Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions_heavy{ - name = "Heavy Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ - name = "Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ - name = "Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ - name = "Demolitions kit" - }, -/obj/item/weapon/storage/box/syndie_kit/demolitions{ - name = "Demolitions kit" - }, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rU" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/item/clothing/mask/gas/wwii, -/obj/item/clothing/mask/gas/wwii, -/obj/item/clothing/mask/gas/wwii, -/obj/item/clothing/mask/gas/wwii, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rV" = ( -/obj/machinery/door/airlock/centcom{ - name = "Equipment Storage"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rW" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-20" - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/antag/antag_base) -"rX" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1331; - id_tag = "merc_base_hatch"; - req_access = list(150) - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"rY" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1331; - id_tag = "merc_base_hatch"; - req_access = list(150) - }, -/obj/effect/floor_decal/borderfloorblack{ +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"kr" = ( +/obj/machinery/telecomms/server/presets/centcomm, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"kF" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/midpoint, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"le" = ( +/obj/effect/floor_decal/transit/orange{ dir = 4 }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" +/obj/effect/step_trigger/lost_in_space/tram, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/area/antag/antag_base) -"rZ" = ( -/obj/machinery/door/airlock/glass_external{ - density = 1; - frequency = 1331; - id_tag = "merc_shuttle_outer"; - name = "Ship External Access"; - req_access = list(150) +/area/space) +"mZ" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 4; + name = "thrower_escapeshuttletop(right)"; + tiles = 0 }, -/obj/machinery/door/blast/regular{ - density = 0; - icon_state = "pdoor0"; - id = "smindicate"; - name = "Outer Airlock"; - opacity = 0 +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1331; - master_tag = "merc_shuttle"; - name = "exterior access button"; - pixel_x = -25; - pixel_y = 0; - req_access = list(150) - }, -/obj/effect/floor_decal/corner_steel_grid{ - dir = 5 - }, -/obj/effect/floor_decal/industrial/danger{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"sa" = ( -/obj/machinery/door/airlock/glass_external{ - density = 1; - frequency = 1331; - id_tag = "merc_shuttle_outer"; - name = "Ship External Access"; - req_access = list(150) - }, -/obj/machinery/door/blast/regular{ - density = 0; - icon_state = "pdoor0"; - id = "smindicate"; - name = "Outer Airlock"; - opacity = 0 - }, -/obj/effect/floor_decal/corner_steel_grid{ - dir = 5 - }, -/obj/effect/floor_decal/industrial/danger{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"sb" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/item/clothing/mask/gas/voice, -/obj/item/clothing/mask/gas/voice, -/obj/item/clothing/mask/gas/voice, -/obj/item/clothing/mask/gas/voice, -/obj/item/clothing/mask/gas/voice, -/obj/item/clothing/mask/gas/voice, -/obj/item/clothing/mask/gas/voice, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sc" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo, -/obj/item/weapon/storage/backpack/dufflebag/syndie/med, -/obj/effect/floor_decal/borderfloorblack{ +/area/space) +"oI" = ( +/obj/effect/step_trigger/teleporter/planetary_fall/virgo3b, +/turf/space/transit/east, +/area/space) +"pb" = ( +/obj/machinery/telecomms/processor/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"pu" = ( +/obj/effect/floor_decal/transit/orange{ dir = 4 }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 6 +/obj/effect/transit/light{ + dir = 4 }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/area/antag/antag_base) -"sd" = ( -/obj/structure/closet/secure_closet/medical_wall{ - pixel_x = -32; - pixel_y = 0; - req_access = list(150) +/area/space) +"pF" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/east; + landmark_tag = "escapepod1_transit"; + name = "Escapepod 1 Transit" }, -/obj/item/stack/medical/splint, -/obj/item/stack/medical/ointment, -/obj/item/stack/medical/ointment, -/obj/item/stack/medical/bruise_pack, -/obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/stack/medical/advanced/bruise_pack, -/obj/item/stack/medical/advanced/bruise_pack, -/obj/item/stack/medical/advanced/bruise_pack, -/obj/item/stack/medical/advanced/ointment, -/obj/item/stack/medical/advanced/ointment, -/obj/item/stack/medical/advanced/ointment, -/obj/effect/floor_decal/borderfloorblack{ +/turf/space/transit/east, +/area/space) +"qn" = ( +/turf/space/transit/east, +/area/space) +"qz" = ( +/turf/space, +/turf/space/internal_edge/bottomright, +/area/space) +"qH" = ( +/obj/effect/floor_decal/transit/orange{ dir = 8 }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/area/antag/antag_base) -"se" = ( -/obj/structure/symbol/da, -/turf/simulated/shuttle/wall/dark, -/area/syndicate_station/start) -"sf" = ( -/obj/structure/symbol/lo, -/turf/simulated/shuttle/wall/dark, -/area/syndicate_station/start) -"sg" = ( -/obj/structure/closet{ - name = "custodial" - }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 10 - }, -/obj/item/clothing/gloves/yellow, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"sh" = ( -/obj/structure/sink{ - dir = 8; - icon_state = "sink"; - pixel_x = -12; - pixel_y = 8 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"si" = ( -/obj/machinery/door/window{ - dir = 4; - name = "Cell"; - req_access = list(150) - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sj" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sk" = ( -/obj/structure/closet{ - name = "custodial" - }, -/obj/item/weapon/reagent_containers/glass/bucket, -/obj/item/weapon/mop, -/obj/item/weapon/reagent_containers/spray/cleaner, -/obj/effect/floor_decal/borderfloorblack{ - dir = 5 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) +/area/space) +"rE" = ( +/obj/machinery/telecomms/bus/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) "sl" = ( -/obj/structure/table/rack, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/item/device/camera, -/obj/effect/floor_decal/borderfloorblack{ - dir = 10 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sm" = ( -/obj/structure/table/rack, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/item/weapon/material/knife/tacknife/combatknife, -/obj/effect/floor_decal/borderfloorblack, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sn" = ( -/obj/structure/table/rack, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/item/device/binoculars, -/obj/effect/floor_decal/borderfloorblack, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"so" = ( -/obj/structure/table/rack, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/item/clothing/accessory/storage/black_vest, -/obj/effect/floor_decal/borderfloorblack, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sp" = ( -/obj/structure/table/rack, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/item/device/radio, -/obj/effect/floor_decal/borderfloorblack, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sq" = ( -/obj/structure/table/rack, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/item/weapon/pinpointer/nukeop, -/obj/effect/floor_decal/borderfloorblack, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sr" = ( -/obj/structure/table/rack, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/item/device/flashlight/flare, -/obj/effect/floor_decal/borderfloorblack{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"ss" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/machinery/vending/nifsoft_shop{ - categories = 111; - emagged = 1; - name = "Hacked NIFSoft Shop"; - prices = list() - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"st" = ( -/obj/machinery/telecomms/allinone{ - intercept = 1 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"su" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/machinery/meter, -/obj/effect/floor_decal/rust, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"sv" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 5 - }, -/obj/effect/decal/cleanable/generic, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"sw" = ( -/obj/structure/toilet{ - dir = 4 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sx" = ( -/obj/structure/bed, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sy" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced/full, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/antag/antag_base) -"sz" = ( -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs/fuzzy, -/obj/item/weapon/handcuffs, -/obj/structure/table/steel, -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 5 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sA" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced/full, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/antag/antag_base) -"sB" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 10 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sC" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "antag_ground_dock_hatch"; - locked = 1; - name = "Land Crawler Hatch" - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sD" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "antag_space_dock_hatch"; - locked = 1; - name = "Proto Shuttle Hatch" - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sE" = ( -/obj/item/weapon/reagent_containers/hypospray, -/obj/structure/table/steel, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) +/turf/space/internal_edge/top, +/area/space) "sF" = ( -/obj/machinery/door/airlock/centcom{ - name = "Prison Wing"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sG" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance_hatch{ - req_one_access = list(150) - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"sH" = ( -/obj/structure/table/reinforced, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"sI" = ( -/obj/effect/floor_decal/borderfloorblack/corner{ - dir = 4 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sJ" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 1 - }, -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1380; - id_tag = "antag_ground_dock"; - pixel_x = 0; - pixel_y = 28; - tag_door = "antag_ground_dock_hatch" - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sK" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 1 - }, -/obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1380; - id_tag = "antag_space_dock"; - pixel_x = 0; - pixel_y = 28; - tag_door = "antag_space_dock_hatch" - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sL" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sM" = ( -/mob/living/simple_mob/animal/passive/fox/syndicate{ - name = "Rick" - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sN" = ( -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sO" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/antag/antag_base) -"sP" = ( -/obj/structure/flora/pottedplant{ - icon_state = "plant-22" - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 10 - }, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 8 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sQ" = ( -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 9 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sR" = ( -/obj/effect/floor_decal/borderfloorblack, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sS" = ( -/obj/machinery/airlock_sensor/phoron{ - id_tag = "civ_airlock_sensor"; - pixel_x = 8; - pixel_y = -25 - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1379; - id_tag = "merc_south_airlock_pump" - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"sT" = ( -/obj/machinery/atmospherics/pipe/manifold/visible, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"sU" = ( -/obj/effect/floor_decal/borderfloorblack, -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = -32 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sV" = ( -/obj/effect/floor_decal/borderfloorblack, -/obj/effect/floor_decal/borderfloorblack/corner2{ - dir = 9 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"sW" = ( -/obj/machinery/door/airlock/centcom{ - name = "Bathroom"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/antag/antag_base) -"sX" = ( -/obj/machinery/door/airlock/centcom{ - name = "Kitchen"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"sY" = ( -/obj/machinery/door/airlock/centcom{ - name = "MedBay"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/antag/antag_base) -"sZ" = ( -/obj/item/weapon/material/knife/plastic{ - pixel_x = -6 - }, -/obj/item/weapon/reagent_containers/syringe/drugs{ - pixel_x = 3; - pixel_y = -1 - }, -/obj/item/weapon/reagent_containers/syringe/drugs{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/weapon/reagent_containers/syringe/drugs{ - pixel_x = 3; - pixel_y = 9 - }, -/obj/effect/floor_decal/borderfloorblack{ - dir = 8 - }, -/obj/structure/table/steel, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"ta" = ( -/obj/machinery/button/remote/blast_door{ - id = "syndieshutters_workshop"; - name = "remote shutter control"; - pixel_x = 0; - pixel_y = -25 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"tb" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"tc" = ( -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/antag/antag_base) -"td" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced, -/obj/machinery/door/blast/regular{ - density = 0; - icon_state = "pdoor0"; - id = "smindicate"; - name = "Outer Airlock"; - opacity = 0 - }, -/obj/machinery/door/blast/regular{ - density = 0; - icon_state = "pdoor0"; - id = "smindicate"; - name = "Outer Airlock"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"te" = ( -/obj/structure/toilet, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/antag/antag_base) -"tf" = ( -/obj/structure/closet/secure_closet/freezer/kitchen{ - req_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tg" = ( -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"th" = ( -/obj/structure/sink/kitchen{ - pixel_y = 28 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"ti" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tj" = ( -/obj/machinery/atmospherics/unary/cryo_cell, -/obj/effect/floor_decal/industrial/outline/yellow, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tk" = ( -/obj/machinery/atmospherics/unary/freezer, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tl" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tm" = ( -/obj/machinery/chemical_dispenser/full, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tn" = ( -/obj/machinery/chem_master, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"to" = ( -/obj/item/device/defib_kit, -/obj/item/device/defib_kit, -/obj/structure/table/standard, -/obj/machinery/recharger, -/obj/item/weapon/tool/screwdriver, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tp" = ( -/obj/item/weapon/reagent_containers/blood/AMinus, -/obj/item/weapon/reagent_containers/blood/APlus, -/obj/item/weapon/reagent_containers/blood/BMinus, -/obj/item/weapon/reagent_containers/blood/BPlus, -/obj/item/weapon/reagent_containers/blood/OPlus, -/obj/structure/closet/crate/freezer, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tq" = ( -/obj/structure/closet/crate/freezer, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/obj/item/weapon/reagent_containers/blood/OMinus, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tr" = ( -/obj/structure/closet/secure_closet/medical2, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"ts" = ( -/obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw, -/obj/item/weapon/surgical/surgicaldrill, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tt" = ( -/obj/structure/table/standard, -/obj/item/weapon/surgical/retractor, -/obj/item/weapon/surgical/bonesetter, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tu" = ( -/obj/item/weapon/gun/energy/sizegun, -/obj/item/weapon/gun/energy/sizegun, -/obj/structure/table/steel, -/obj/effect/floor_decal/borderfloorblack{ - dir = 4 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tv" = ( -/obj/machinery/door/airlock/centcom{ - name = "Toilet"; - req_one_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/antag/antag_base) -"tw" = ( -/obj/structure/table/reinforced, -/obj/item/weapon/tray{ - pixel_y = 5 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tx" = ( -/obj/structure/reagent_dispensers/beerkeg/fakenuke, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"ty" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 8; - icon_state = "map" - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tz" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 9; - icon_state = "intact" - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tB" = ( -/obj/structure/table/standard, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/FixOVein, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) +/obj/effect/overmap/bluespace_rift, +/turf/unsimulated/map, +/area/overmap) "tC" = ( -/obj/machinery/recharger/wallcharger{ - pixel_x = 5; - pixel_y = -32 - }, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/gun/energy/taser, -/obj/item/weapon/cell/device/weapon, -/obj/item/weapon/cell/device/weapon, -/obj/structure/table/steel, -/obj/effect/floor_decal/borderfloorblack, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tD" = ( -/obj/item/clothing/gloves/knuckledusters, -/obj/item/clothing/gloves/knuckledusters, -/obj/item/clothing/gloves/knuckledusters, -/obj/item/clothing/gloves/knuckledusters, -/obj/item/clothing/gloves/knuckledusters, -/obj/structure/table/steel, -/obj/effect/floor_decal/borderfloorblack{ - dir = 6 - }, -/obj/item/weapon/melee/baton/loaded, -/obj/item/weapon/melee/baton/loaded, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tE" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - icon_state = "intact"; - dir = 9 - }, -/obj/effect/floor_decal/industrial/warning/corner{ - icon_state = "warningcorner"; +/obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" +/turf/simulated/floor/tiled/steel, +/area/space) +"tD" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdown"; + stopper = 0; + tiles = 0 }, -/area/syndicate_station/start) -"tF" = ( -/obj/machinery/shower{ - dir = 1 - }, -/obj/structure/window/reinforced/tinted{ - dir = 4; - icon_state = "twindow" - }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/antag/antag_base) -"tG" = ( -/obj/machinery/washing_machine, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/antag/antag_base) +/turf/space/transit/east, +/area/space) "tH" = ( -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 11; - pixel_y = 0 +/obj/effect/floor_decal/transit/orange{ + dir = 8 }, -/obj/structure/mirror{ - dir = 4; - pixel_x = 28; - pixel_y = 0 +/obj/effect/step_trigger/lost_in_space/tram, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/antag/antag_base) -"tI" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "syndieshutters_workshop"; - name = "Blast Shutters"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/syndicate_station/start) +/area/space) "tJ" = ( -/obj/structure/table/reinforced, -/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{ - pixel_x = 3; - pixel_y = 12 +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 4; + name = "thrower_escapeshuttletop(right)"; + tiles = 0 }, -/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{ - pixel_x = -1; - pixel_y = 8 +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tK" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - pixel_x = -1; - pixel_y = 8 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tL" = ( -/obj/structure/table/standard, -/obj/machinery/chemical_dispenser/bar_soft/full, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tM" = ( -/obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square{ - pixel_x = 1; - pixel_y = 4 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tN" = ( -/obj/machinery/vending/food, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tP" = ( -/obj/structure/table/standard, -/obj/item/weapon/surgical/scalpel, -/obj/item/device/healthanalyzer, -/obj/item/weapon/surgical/hemostat, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tQ" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 1 - }, -/obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/portable_atmospherics/canister/oxygen/prechilled, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tR" = ( -/obj/structure/bed/roller, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "dark" - }, -/area/antag/antag_base) -"tS" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen"; - name = "Grenade Crate"; - opened = 1 - }, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/weapon/grenade/chem_grenade, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/igniter, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/obj/item/device/assembly/timer, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tT" = ( -/obj/item/weapon/tool/screwdriver, -/obj/item/weapon/storage/box/beakers, -/obj/item/stack/material/phoron, -/obj/item/stack/material/phoron, -/obj/item/stack/material/phoron, -/obj/item/stack/material/phoron, -/obj/item/stack/material/phoron, -/obj/structure/table/standard, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tU" = ( -/obj/structure/table/standard, -/obj/machinery/reagentgrinder, -/obj/item/weapon/reagent_containers/glass/beaker/large, -/obj/effect/floor_decal/steeldecal/steel_decals10, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tV" = ( -/obj/machinery/bodyscanner{ - dir = 8 - }, -/obj/effect/floor_decal/corner_steel_grid{ - dir = 10 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tW" = ( -/obj/machinery/body_scanconsole, -/obj/effect/floor_decal/corner_steel_grid{ - dir = 10 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tX" = ( -/obj/structure/medical_stand, -/obj/effect/floor_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tY" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"tZ" = ( -/obj/machinery/optable, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) -"ua" = ( -/obj/structure/table/standard, -/obj/item/stack/medical/advanced/bruise_pack{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/stack/medical/advanced/bruise_pack{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/weapon/surgical/bonegel, -/obj/item/weapon/surgical/bonegel, -/obj/item/stack/nanopaste, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/antag/antag_base) +/area/space) "uc" = ( /turf/unsimulated/wall, /area/centcom/suppy) @@ -9589,963 +2041,184 @@ icon_state = "dark" }, /area/centcom/suppy) -"uh" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - icon_state = "warningcorner"; - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"ui" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/weapon/storage/firstaid/combat, -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) -"uj" = ( -/obj/structure/closet, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/item/weapon/reagent_containers/food/snacks/tastybread, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_yellow" - }, -/area/syndicate_station/start) -"uk" = ( -/obj/structure/mopbucket, -/turf/simulated/floor/plating, -/area/syndicate_station/start) -"ul" = ( -/obj/machinery/door/airlock/glass, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"um" = ( -/obj/machinery/door/airlock/multi_tile/glass, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"un" = ( -/obj/structure/closet/syndicate, -/obj/item/clothing/mask/gas/wwii, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/obj/item/clothing/head/helmet, -/obj/item/clothing/shoes/boots/jackboots, -/obj/item/clothing/suit/armor/vest, -/obj/item/clothing/under/syndicate, -/obj/item/clothing/gloves/black, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uo" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/obj/item/clothing/glasses/goggles, -/obj/item/clothing/head/helmet/merc{ - armor = list("melee" = 70, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0); - desc = "A pilot's flight helmet. It's not very well armored, but it's very well padded, making it resistant to melee attacks."; - name = "pilot helmet" - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"up" = ( -/obj/machinery/door/airlock/multi_tile/metal{ - dir = 1; - req_one_access = list(150) - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"uq" = ( -/obj/machinery/door/airlock/multi_tile/glass{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"ur" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/machinery/vending/cola{ - name = "hacked Robust Softdrinks"; - prices = list() - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"us" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"ut" = ( -/obj/structure/sign/department/armory, -/turf/simulated/shuttle/wall/dark, -/area/syndicate_station/start) -"uu" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/industrial/outline/grey, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"uv" = ( -/obj/structure/table/rack, -/obj/item/weapon/paper{ - info = "Remember to stock the armory before leaving.\[br]-Mike"; - name = "reminder" - }, -/obj/effect/floor_decal/industrial/outline/grey, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"uw" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 10 - }, -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"ux" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/effect/floor_decal/industrial/warning/corner, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uy" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uz" = ( -/obj/effect/floor_decal/industrial/warning, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"uA" = ( -/obj/item/device/aicard, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/item/weapon/plastique, -/obj/structure/table/reinforced, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"uB" = ( -/obj/effect/floor_decal/corner_steel_grid{ - dir = 10 - }, -/obj/effect/floor_decal/industrial/danger, -/obj/machinery/door/airlock/glass_external/public{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "merc_south_airlock_outer"; - locked = 1 - }, -/obj/machinery/door/blast/regular{ - density = 0; - icon_state = "pdoor0"; - id = "smindicate"; - name = "Outer Airlock"; - opacity = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_dred" - }, -/area/syndicate_station/start) -"uC" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/obj/structure/table/rack, -/turf/simulated/shuttle/floor{ - icon_state = "floor_yellow" - }, -/area/syndicate_station/start) -"uD" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uE" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uF" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 0; - pixel_y = -32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/structure/closet/syndicate, -/obj/item/clothing/mask/gas/wwii, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/obj/item/clothing/head/helmet, -/obj/item/clothing/shoes/boots/jackboots, -/obj/item/clothing/suit/armor/vest, -/obj/item/clothing/under/syndicate, -/obj/item/clothing/gloves/black, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uH" = ( -/obj/machinery/washing_machine, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uI" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uJ" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hos, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uK" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"uL" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = -32; - pixel_y = 0; - subspace_transmission = 1; - syndie = 1 - }, -/obj/machinery/atmospherics/pipe/simple/visible{ - icon_state = "intact"; - dir = 6 - }, -/obj/machinery/light/small{ - icon_state = "bulb1"; - dir = 8 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_white" - }, -/area/syndicate_station/start) -"uM" = ( -/obj/structure/closet/secure_closet/medical_wall{ - pixel_x = 0; - pixel_y = -32; - req_access = list(150) - }, -/obj/item/stack/medical/splint, -/obj/item/stack/medical/ointment, -/obj/item/stack/medical/ointment, -/obj/item/stack/medical/bruise_pack, -/obj/item/stack/medical/bruise_pack, -/obj/item/stack/medical/bruise_pack, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/belt/medical/emt, -/obj/item/weapon/storage/firstaid/combat, -/obj/machinery/light{ - dir = 4 - }, -/obj/item/device/defib_kit/compact/combat/loaded, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uN" = ( -/obj/item/device/radio/intercom{ - desc = "Talk through this. Evilly"; - frequency = 1213; - name = "Syndicate Intercom"; - pixel_x = 0; - pixel_y = -32; - subspace_transmission = 1; - syndie = 1 - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uO" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"uP" = ( -/obj/item/weapon/storage/box/frags, -/obj/structure/table/reinforced, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1"; - pixel_x = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_black" - }, -/area/syndicate_station/start) -"uQ" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1379; - id_tag = "merc_south_airlock_pump" - }, -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor{ - icon_state = "floor_red" - }, -/area/syndicate_station/start) -"uU" = ( -/obj/item/weapon/tray{ - pixel_y = 5 - }, -/obj/structure/table/standard, -/obj/item/weapon/material/knife/butch, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"uX" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/brown, -/turf/unsimulated/floor{ - icon_state = "wood" - }, -/area/skipjack_station) -"uY" = ( -/obj/structure/table/standard, -/obj/random/projectile, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/skipjack_station) -"uZ" = ( -/obj/machinery/door/airlock{ - icon = 'icons/obj/doors/Dooruranium.dmi' - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/ninja_dojo/dojo) -"vq" = ( -/obj/structure/flight_right{ - dir = 1 - }, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"vs" = ( -/obj/effect/floor_decal/asteroid, -/turf/unsimulated/floor{ - dir = 2; - icon = 'icons/turf/snow_new.dmi'; - icon_state = "snow"; - name = "snow" - }, -/area/ninja_dojo/dojo) +"vi" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' + }, +/area/space) "vt" = ( -/obj/effect/decal/cleanable/cobweb2{ - icon_state = "spiderling"; - name = "dead spider" - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"vu" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/simulated/shuttle/floor/black, -/area/skipjack_station/start) -"vC" = ( -/obj/machinery/light{ - dir = 4; - icon_state = "tube1"; - pixel_x = 0 - }, -/obj/machinery/computer/security, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) +/obj/machinery/telecomms/relay/preset/centcom/tether/station_high, +/turf/unsimulated/floor/steel, +/area/centcom/control) "vG" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 +/obj/effect/step_trigger/lost_in_space/tram, +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' }, -/obj/structure/window/reinforced{ - dir = 8 +/area/space) +"vR" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/obj/structure/window/reinforced/full, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"vI" = ( -/obj/effect/landmark{ - name = "voxstart" - }, -/turf/unsimulated/floor{ - icon_state = "wood" - }, -/area/skipjack_station) -"vK" = ( -/obj/structure/table/rack, -/obj/item/weapon/grenade/empgrenade, -/obj/item/weapon/grenade/flashbang, -/obj/item/weapon/grenade/spawnergrenade/manhacks, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"vX" = ( -/obj/item/weapon/bedsheet/clown, -/obj/structure/bed/padded, -/turf/simulated/shuttle/floor/red, -/area/skipjack_station/start) -"vY" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - icon_state = "intact"; - dir = 9 - }, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1331; - master_tag = "ninja_shuttle"; - name = "interior access button"; - pixel_x = -25; - pixel_y = 25; - req_access = list(150) - }, -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) -"vZ" = ( -/obj/machinery/door/airlock/hatch{ - req_access = list(150) - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/skipjack_station) -"wa" = ( -/obj/effect/floor_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/table/steel_reinforced, -/obj/machinery/cell_charger, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"wb" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "ninjawindow"; - name = "Blast Shutters"; - opacity = 0 - }, -/obj/structure/window/reinforced/full, -/turf/simulated/shuttle/plating, -/area/ninja_dojo/start) -"we" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/simulated/shuttle/floor/black, -/area/skipjack_station/start) -"wi" = ( -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) +/area/space) +"wd" = ( +/obj/structure/sign/warning/nosmoking_2, +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) "wj" = ( -/obj/structure/toilet, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 +/turf/space/internal_edge/left, +/area/space) +"wl" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/evac) +"wn" = ( +/obj/structure/fake_stairs/south/top{ + _stair_tag = "stairtest" }, -/area/skipjack_station) -"wq" = ( -/obj/structure/undies_wardrobe, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"wr" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 8; + name = "thrower_escapeshuttletop(left)"; + tiles = 0 }, -/area/ninja_dojo/dojo) -"wv" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate{ - pixel_x = -1; - pixel_y = 3 +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/obj/machinery/button/remote/blast_door{ - id = "ninjawindow"; - name = "remote shutter control"; - pixel_x = 0; - pixel_y = -25; - req_access = list(150) - }, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"wA" = ( -/obj/structure/table/bench/wooden, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"wE" = ( -/obj/item/weapon/bedsheet/green, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/bed/padded, -/turf/simulated/shuttle/floor/red, -/area/skipjack_station/start) -"wQ" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "propulsion"; - dir = 1 - }, -/turf/simulated/shuttle/plating/airless/carry, -/area/ninja_dojo/start) -"wS" = ( -/obj/item/robot_parts/l_leg, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"wU" = ( -/obj/machinery/suit_cycler/syndicate{ - locked = 0 - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/skipjack_station) +/area/space) +"wy" = ( +/turf/unsimulated/wall, +/area/centcom/control) "wZ" = ( /turf/unsimulated/floor{ icon_state = "sandwater" }, /area/beach) -"xf" = ( -/turf/unsimulated/floor{ - icon_state = "dark" +"xc" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/east; + landmark_tag = "belter_transit"; + name = "Belter Transit" }, -/area/ninja_dojo/dojo) -"xm" = ( -/obj/item/clothing/glasses/night/vox, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" +/turf/space/transit/east, +/area/space) +"xe" = ( +/obj/machinery/account_database{ + name = "CentComm Accounts database" }, -/area/skipjack_station) -"xt" = ( -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"xD" = ( -/obj/structure/flight_left{ - dir = 1 - }, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"xG" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/skipjack_station) -"xL" = ( -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ +/turf/unsimulated/floor/steel, +/area/centcom/control) +"xM" = ( +/obj/machinery/light{ + icon_state = "tube1"; dir = 8 }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" - }, -/obj/structure/window/reinforced/full, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"xQ" = ( -/obj/machinery/computer/shuttle_control/web/ninja{ - dir = 1; - icon = 'icons/obj/computer.dmi'; - icon_state = "flightcomp_center" - }, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"xR" = ( -/obj/effect/decal/cleanable/cobweb2{ - icon_state = "spiderling"; - name = "dead spider" - }, -/turf/unsimulated/floor{ - icon_state = "steel_dirty" - }, -/area/skipjack_station) -"xV" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" - }, -/obj/structure/window/reinforced/full, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"xW" = ( -/obj/structure/window/reinforced{ - dir = 4; - health = 1e+006 - }, -/turf/unsimulated/floor{ - dir = 2; - icon = 'icons/turf/snow_new.dmi'; - icon_state = "snow"; - name = "snow" - }, -/area/ninja_dojo/dojo) -"xX" = ( -/obj/effect/landmark{ - name = "ninjastart" - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) "ya" = ( -/obj/structure/table/glass, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"yf" = ( -/obj/structure/table/bench/wooden, -/obj/effect/landmark{ - name = "ninjastart" - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"yl" = ( -/obj/machinery/teleport/station, -/turf/simulated/shuttle/plating, -/area/ninja_dojo/start) -"yv" = ( -/obj/item/broken_device, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/ninja_dojo/dojo) -"yw" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/skipjack_station) -"yA" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/tank/air{ - dir = 1; - start_pressure = 740 - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"yD" = ( -/turf/unsimulated/floor{ - icon = 'icons/turf/flooring/wood.dmi'; - icon_state = "wood_broken3" - }, -/area/skipjack_station) -"yI" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"yL" = ( -/obj/item/weapon/storage/box, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"yM" = ( -/turf/unsimulated/floor{ - dir = 2; - icon = 'icons/turf/snow_new.dmi'; - icon_state = "snow"; - name = "snow" - }, -/area/ninja_dojo/dojo) -"zb" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/recharger{ - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) -"zn" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/launcher/crossbow, -/obj/item/stack/rods{ - amount = 10 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/obj/item/weapon/beartrap, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"zs" = ( -/obj/item/weapon/bedsheet/rd, -/obj/structure/bed/padded, -/turf/simulated/shuttle/floor/red, -/area/skipjack_station/start) -"zv" = ( -/obj/effect/wingrille_spawn/reinforced, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"zz" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/unsimulated/wall, -/area/beach) -"zL" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"zT" = ( -/obj/machinery/door/airlock{ - icon = 'icons/obj/doors/Dooruranium.dmi' - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/ninja_dojo/dojo) -"Ab" = ( -/obj/structure/table/standard, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/reagent_containers/syringe/antiviral, -/obj/item/weapon/storage/firstaid/clotting, -/obj/item/stack/medical/splint, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"Ac" = ( -/obj/structure/closet/crate, -/obj/random/tech_supply, -/obj/random/tech_supply, -/obj/random/tech_supply, -/obj/random/tech_supply, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/ninja_dojo/dojo) -"Af" = ( /obj/effect/step_trigger/thrower{ affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; + direction = 4; + name = "thrower_escapeshuttletop(right)"; tiles = 0 }, -/obj/effect/step_trigger/teleporter/random{ - affect_ghosts = 1; - name = "escapeshuttle_leave"; - teleport_x = 25; - teleport_x_offset = 245; - teleport_y = 25; - teleport_y_offset = 245; - teleport_z = 6; - teleport_z_offset = 6 - }, -/turf/space, +/turf/simulated/sky/virgo3b/south, /area/space) -"Ai" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"Ak" = ( -/turf/simulated/shuttle/floor/black, -/area/skipjack_station/start) -"At" = ( -/obj/machinery/sleep_console, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/ninja_dojo/dojo) -"Av" = ( -/obj/machinery/atmospherics/pipe/simple/visible, -/obj/machinery/portable_atmospherics/hydroponics, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Aw" = ( -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ +"ym" = ( +/obj/effect/floor_decal/industrial/warning{ dir = 4 }, -/obj/structure/window/reinforced{ +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"yA" = ( +/obj/machinery/telecomms/receiver/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"yF" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"yK" = ( +/obj/machinery/door/airlock/multi_tile/metal, +/obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"zb" = ( +/obj/effect/step_trigger/thrower{ + direction = 1; + name = "thrower_throwup"; + nostop = 0; + tiles = 0 }, -/obj/structure/window/reinforced/full, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) +/turf/space/transit/east, +/area/space) +"zv" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 8 + }, +/obj/effect/transit/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"zK" = ( +/obj/machinery/door/blast/regular{ + dir = 4 + }, +/turf/simulated/floor/maglev, +/area/centcom/simulated/terminal) +"Al" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"Av" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 8; + name = "thrower_escapeshuttletop(left)"; + tiles = 0 + }, +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' + }, +/area/space) "Ax" = ( /turf/unsimulated/beach/coastline{ density = 1; @@ -10555,524 +2228,88 @@ "Az" = ( /turf/unsimulated/beach/coastline, /area/beach) -"AA" = ( -/obj/item/clothing/mask/gas/swat/vox, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"AB" = ( -/obj/structure/table/rack, -/obj/item/clothing/suit/space/vox/stealth, -/obj/item/clothing/suit/space/vox/stealth, -/obj/item/clothing/head/helmet/space/vox/stealth, -/obj/item/clothing/head/helmet/space/vox/stealth, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"AF" = ( -/obj/effect/floor_decal/carpet{ - dir = 1 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" - }, -/area/ninja_dojo/dojo) -"AJ" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry{ - dir = 1 - }, -/area/supply/dock) -"AN" = ( -/obj/item/weapon/gun/launcher/pneumatic, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"AP" = ( -/obj/machinery/door/airlock{ - icon = 'icons/obj/doors/Dooruranium.dmi' - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"AV" = ( -/obj/effect/floor_decal/carpet{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 4 - }, -/obj/effect/floor_decal/carpet{ - dir = 10 - }, -/obj/effect/floor_decal/carpet{ - dir = 6 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" - }, -/area/skipjack_station) -"AY" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, -/turf/unsimulated/floor{ - icon_state = "wood" - }, -/area/skipjack_station) -"AZ" = ( -/obj/structure/table/rack, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/random/multiple/voidsuit, -/obj/random/multiple/voidsuit, -/obj/random/energy, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Bd" = ( -/turf/unsimulated/floor{ - icon_state = "steel_dirty" - }, -/area/skipjack_station) -"Be" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/orange, -/turf/unsimulated/floor{ - icon = 'icons/turf/flooring/wood.dmi'; - icon_state = "wood_broken1" - }, -/area/skipjack_station) -"Bg" = ( -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"Bh" = ( -/obj/machinery/door/morgue, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"Bi" = ( -/obj/machinery/portable_atmospherics/hydroponics, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Bj" = ( -/obj/machinery/door/airlock/hatch{ - frequency = 1331; - icon_state = "door_closed"; - id_tag = "vox_northeast_lock"; - locked = 0; - req_access = list(150) - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Bk" = ( -/obj/item/weapon/gun/energy/plasmastun, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"Bo" = ( -/obj/machinery/bodyscanner{ - dir = 8 - }, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) "Bw" = ( /turf/unsimulated/beach/water, /area/beach) -"BC" = ( -/obj/machinery/teleport/station, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/ninja_dojo/dojo) "BD" = ( /obj/effect/overlay/palmtree_r, /turf/unsimulated/beach/sand, /area/beach) -"BE" = ( -/obj/structure/table/wooden_reinforced, -/obj/item/device/radio/uplink, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"BH" = ( -/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1331; - id_tag = "skipjack_shuttle"; - pixel_x = -24; - req_access = list(150); - tag_airpump = "vox_east_vent"; - tag_chamber_sensor = "vox_east_sensor"; - tag_exterior_door = "vox_northeast_lock"; - tag_interior_door = "vox_southeast_lock" - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1331; - id_tag = "vox_east_vent" - }, -/obj/machinery/light/small, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"BN" = ( -/obj/structure/table/steel, -/obj/machinery/recharger, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"BP" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 4 - }, +"BK" = ( /turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/trade/centcom) -"Cf" = ( -/obj/structure/toilet{ - dir = 4 - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Cg" = ( -/obj/machinery/airlock_sensor{ - frequency = 1331; - id_tag = "vox_west_sensor"; - pixel_x = 25 - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Ch" = ( -/obj/structure/toilet{ - dir = 4 - }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/ninja_dojo/dojo) -"Ci" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "propulsion_l"; - dir = 4 - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/trade/centcom) -"Cj" = ( -/obj/structure/table/glass, -/obj/item/clothing/mask/balaclava, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"Cl" = ( -/obj/structure/window/reinforced/tinted{ +/turf/space/internal_edge/bottomleft, +/area/space) +"Cn" = ( +/turf/simulated/sky/virgo3b/south, +/area/space) +"Ct" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/station_low, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Cw" = ( +/obj/machinery/r_n_d/server/centcom, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Cy" = ( +/obj/effect/floor_decal/industrial/warning/dust{ dir = 1 }, -/obj/structure/table/glass, -/obj/item/weapon/towel{ - color = "#FF6666"; - name = "light red towel" - }, -/obj/item/weapon/towel{ - color = "#FF6666"; - name = "light red towel" - }, -/obj/random/soap, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/ninja_dojo/dojo) -"Cu" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 1 - }, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"CE" = ( -/obj/machinery/atmospherics/pipe/simple/visible, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"CG" = ( -/obj/structure/flora/tree/pine, -/turf/unsimulated/floor{ - dir = 2; - icon = 'icons/turf/snow_new.dmi'; - icon_state = "snow"; - name = "snow" - }, -/area/ninja_dojo/dojo) -"CK" = ( -/obj/structure/bed/chair, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/skipjack_station) -"Db" = ( -/obj/machinery/airlock_sensor{ - frequency = 1331; - id_tag = "ninja_shuttle_sensor"; - pixel_x = 0; - pixel_y = 28 - }, -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) -"Dd" = ( -/obj/effect/floor_decal/carpet, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" - }, -/area/ninja_dojo/dojo) -"Dg" = ( -/obj/machinery/shower{ - dir = 8; - icon_state = "shower"; - pixel_x = -5; - pixel_y = -1 - }, -/obj/structure/curtain/open/shower/medical, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/ninja_dojo/dojo) +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"Dc" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/station_mid, +/turf/unsimulated/floor/steel, +/area/centcom/control) "Dk" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/hop, -/turf/unsimulated/floor{ - icon_state = "wood" +/obj/effect/floor_decal/industrial/warning{ + dir = 8 }, -/area/skipjack_station) +/turf/simulated/floor/tiled/steel, +/area/space) +"Dn" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/sci_outpost, +/turf/unsimulated/floor/steel, +/area/centcom/control) "Dw" = ( /obj/structure/table/standard, /obj/item/weapon/reagent_containers/food/snacks/chips, /turf/unsimulated/beach/sand, /area/beach) -"Dx" = ( -/obj/structure/sink{ - icon_state = "sink"; - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"DC" = ( -/obj/structure/table/steel_reinforced, -/obj/item/rig_module/chem_dispenser/ninja, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/ninja_dojo/dojo) "DF" = ( -/obj/item/device/suit_cooling_unit, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"DK" = ( -/obj/structure/table/rack, -/obj/item/clothing/suit/space/vox/carapace, -/obj/item/clothing/suit/space/vox/carapace, -/obj/item/clothing/head/helmet/space/vox/carapace, -/obj/item/clothing/head/helmet/space/vox/carapace, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"DM" = ( -/obj/structure/kitchenspike, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"DO" = ( -/obj/structure/flight_left, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"DZ" = ( -/obj/machinery/gibber, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"Ec" = ( -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 11; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor/black, -/area/skipjack_station/start) -"Eo" = ( -/obj/structure/closet/crate, -/obj/item/clothing/gloves/vox, -/obj/item/clothing/gloves/vox, -/obj/item/clothing/gloves/vox, -/obj/item/clothing/gloves/vox, -/obj/item/clothing/gloves/vox, -/obj/item/clothing/gloves/vox, -/obj/item/clothing/shoes/magboots/vox, -/obj/item/clothing/shoes/magboots/vox, -/obj/item/clothing/shoes/magboots/vox, -/obj/item/clothing/shoes/magboots/vox, -/obj/item/clothing/shoes/magboots/vox, -/obj/item/clothing/shoes/magboots/vox, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"Ep" = ( -/obj/structure/table/rack, -/obj/item/clothing/mask/gas/swat/vox, -/obj/item/clothing/mask/gas/swat/vox, -/obj/item/clothing/mask/gas/swat/vox, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"Es" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/body_scanconsole, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"Ev" = ( -/obj/structure/table/rack, -/obj/item/clothing/glasses/thermal/plain/monocle, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"Ew" = ( -/obj/machinery/sleeper{ - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/ninja_dojo/dojo) -"EA" = ( -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/ninja_dojo/dojo) -"EF" = ( -/obj/machinery/door/airlock/hatch{ - req_access = list(150) - }, -/turf/simulated/shuttle/floor/red, -/area/skipjack_station/start) -"EH" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/blue, -/turf/unsimulated/floor{ - icon_state = "wood" - }, -/area/skipjack_station) -"EN" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"EU" = ( -/obj/item/weapon/ore, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"EX" = ( -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/skipjack_station) -"EZ" = ( -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) +/turf/space, +/turf/space/internal_edge/topright, +/area/space) +"El" = ( +/turf/space/transit/west, +/area/space) +"ET" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) "Fa" = ( /obj/structure/table/standard, /turf/unsimulated/beach/sand, /area/beach) -"Fl" = ( -/obj/structure/table/standard, -/obj/machinery/chemical_dispenser/bar_soft/full, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"Fs" = ( -/obj/effect/floor_decal/carpet{ - dir = 1 - }, -/obj/effect/floor_decal/carpet{ +"Fp" = ( +/turf/simulated/floor/maglev, +/area/centcom/simulated/terminal) +"Fr" = ( +/obj/effect/floor_decal/transit/orange{ dir = 4 }, -/obj/effect/floor_decal/carpet{ - dir = 5 +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/area/ninja_dojo/dojo) -"Fw" = ( -/obj/item/weapon/rig/light/stealth, -/obj/structure/table/rack, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/ninja_dojo/dojo) -"FE" = ( -/obj/structure/flight_right, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"FF" = ( -/obj/structure/sink{ - icon_state = "sink"; - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/structure/mirror{ - pixel_x = -28 - }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/ninja_dojo/dojo) +/area/space) "FH" = ( /obj/structure/bed/chair, /obj/effect/landmark{ @@ -11084,209 +2321,57 @@ }, /turf/unsimulated/beach/sand, /area/beach) -"FM" = ( -/obj/item/target, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" +"FT" = ( +/obj/effect/shuttle_landmark{ + base_area = null; + base_turf = null; + docking_controller = null; + landmark_tag = "escape_transit"; + name = "Escape Transit" }, -/area/ninja_dojo/dojo) -"FN" = ( -/obj/structure/table/wooden_reinforced, -/obj/item/weapon/material/sword/katana, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" }, -/area/ninja_dojo/dojo) -"FO" = ( -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"FQ" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"FV" = ( -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" - }, -/area/ninja_dojo/dojo) -"FX" = ( -/obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/weapon/storage/firstaid/adv, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/ninja_dojo/dojo) -"Ge" = ( -/obj/machinery/computer/shuttle_control/web/heist{ - icon = 'icons/obj/computer.dmi' - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"Gi" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced/full, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "ninjawindow"; - name = "Blast Shutters"; - opacity = 0 - }, -/turf/simulated/shuttle/plating, -/area/ninja_dojo/start) -"Gk" = ( -/obj/structure/table/steel, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) +/area/space) +"FW" = ( +/obj/machinery/telecomms/relay/preset/centcom/underdark, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"Ga" = ( +/turf/unsimulated/floor/steel, +/area/centcom/control) "Gq" = ( /turf/unsimulated/wall, /area/beach) +"Gs" = ( +/turf/space, +/turf/space/transit/north, +/area/space) "Gw" = ( /obj/effect/overlay/palmtree_l, /turf/unsimulated/beach/sand, /area/beach) -"Gx" = ( -/obj/structure/lattice, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/space, -/area/space) -"Gz" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/shuttle/plating/airless, -/area/skipjack_station/start) -"He" = ( -/obj/effect/floor_decal/carpet{ - dir = 8 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" - }, -/area/ninja_dojo/dojo) "Hf" = ( -/obj/effect/floor_decal/carpet{ - dir = 4 +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/north; + landmark_tag = "ninja_transit"; + name = "Ninja Transit" }, -/obj/effect/floor_decal/carpet, -/obj/effect/floor_decal/carpet{ - dir = 6 +/turf/space/transit/north, +/area/space) +"Hy" = ( +/turf/unsimulated/mineral{ + icon = 'icons/turf/transit_vr.dmi'; + icon_state = "rock" }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" - }, -/area/ninja_dojo/dojo) -"Hg" = ( -/obj/structure/table/rack, -/obj/random/rigsuit, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"Hm" = ( -/obj/item/weapon/ore, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"Hq" = ( -/obj/machinery/space_heater, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"HD" = ( -/obj/structure/table/steel_reinforced, -/obj/machinery/cell_charger, -/obj/random/powercell, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/ninja_dojo/dojo) -"HJ" = ( -/obj/structure/table/standard, -/obj/item/weapon/surgical/bonesetter, -/obj/item/weapon/surgical/bonegel, -/obj/item/weapon/surgical/FixOVein, -/obj/item/stack/nanopaste, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"HL" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced/full, -/obj/machinery/door/blast/shutters{ - density = 0; - dir = 2; - icon_state = "shutter0"; - id = "ninjawindow"; - name = "Blast Shutters"; - opacity = 0 - }, -/turf/simulated/shuttle/plating, -/area/ninja_dojo/start) -"HN" = ( -/obj/structure/table/rack, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"HS" = ( -/obj/item/robot_parts/head, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"HX" = ( -/obj/machinery/recharger{ - pixel_y = 0 - }, -/obj/structure/table/steel_reinforced, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"Id" = ( -/turf/simulated/mineral, -/area/skipjack_station) -"Ig" = ( -/obj/machinery/door/airlock/hatch{ - req_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/skipjack_station) +/area/space) +"HQ" = ( +/obj/machinery/telecomms/broadcaster/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) "Ik" = ( /obj/structure/table/standard, /obj/item/weapon/reagent_containers/food/drinks/cans/cola, @@ -11297,995 +2382,784 @@ /obj/item/weapon/reagent_containers/food/drinks/cans/cola, /turf/unsimulated/beach/sand, /area/beach) -"Il" = ( -/obj/item/weapon/ore, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "asteroid_dug" +"In" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/space/transit/north; + landmark_tag = "skipjack_transit"; + name = "Skipjack Transit" }, -/area/skipjack_station) -"Ip" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "burst_r" +/turf/space/transit/north, +/area/space) +"Iq" = ( +/obj/machinery/telecomms/hub/preset_cent, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"IN" = ( +/obj/effect/floor_decal/transit/orange{ + dir = 8 }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry{ - dir = 1 +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 }, -/area/supply/dock) -"Ir" = ( -/obj/effect/floor_decal/industrial/warning{ +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"IR" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdown"; + stopper = 0; + tiles = 0 + }, +/turf/simulated/sky/virgo3b/south, +/area/space) +"Jx" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/obj/effect/floor_decal/corner_steel_grid/diagonal{ dir = 4 }, -/obj/machinery/atmospherics/pipe/tank/air{ - dir = 2; - start_pressure = 740.5 +/obj/effect/floor_decal/industrial/danger{ + dir = 8 }, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"Ix" = ( -/obj/item/weapon/bedsheet/hos, -/obj/structure/bed/padded, -/turf/simulated/shuttle/floor/red, -/area/skipjack_station/start) -"Iy" = ( -/obj/structure/closet/crate, -/obj/item/clothing/under/vox/vox_casual, -/obj/item/clothing/under/vox/vox_casual, -/obj/item/clothing/under/vox/vox_casual, -/obj/item/clothing/under/vox/vox_robes, -/obj/item/clothing/under/vox/vox_robes, -/obj/item/clothing/under/vox/vox_robes, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"IA" = ( -/obj/machinery/space_heater, -/turf/unsimulated/floor{ - icon = 'icons/turf/flooring/wood.dmi'; - icon_state = "wood_broken3" - }, -/area/ninja_dojo/dojo) -"IC" = ( -/obj/structure/table/standard, -/obj/item/device/paicard, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/skipjack_station) -"ID" = ( -/obj/item/pizzabox/meat, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"IG" = ( -/obj/structure/bed/chair/comfy/black, -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) -"IL" = ( -/obj/item/target/syndicate, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"IM" = ( -/obj/machinery/door/airlock/external{ - req_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/skipjack_station) -"IP" = ( -/obj/structure/table/glass, -/obj/item/clothing/mask/balaclava/tactical{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/clothing/mask/balaclava, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"IR" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"IS" = ( -/obj/machinery/airlock_sensor{ - frequency = 1331; - id_tag = "vox_east_sensor"; - pixel_x = -25 - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"IW" = ( -/obj/structure/table/standard, -/obj/item/weapon/handcuffs/legcuffs, -/turf/simulated/shuttle/floor/black, -/area/skipjack_station/start) -"Jc" = ( -/turf/simulated/shuttle/wall/voidcraft/green, -/area/ninja_dojo/start) -"Je" = ( -/obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 - }, -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) -"Jg" = ( -/obj/item/weapon/bedsheet/rainbow, -/obj/structure/bed/padded, -/turf/simulated/shuttle/floor/red, -/area/skipjack_station/start) -"Ji" = ( -/obj/structure/table/steel_reinforced, -/obj/item/rig_module/fabricator/energy_net, -/obj/item/rig_module/vision/multi, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/ninja_dojo/dojo) -"Jk" = ( -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/ninja_dojo/dojo) -"Jp" = ( -/obj/structure/mirror/raider{ - pixel_x = -32 - }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/skipjack_station) -"Jq" = ( -/obj/structure/ore_box, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"Jt" = ( -/obj/item/clothing/mask/gas/swat{ - desc = "A close-fitting mask clearly not made for a human face."; - name = "\improper alien mask" - }, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"Ju" = ( -/obj/machinery/microwave{ - pixel_x = -1; - pixel_y = 8 - }, -/obj/structure/table/standard, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"Jv" = ( -/obj/structure/table/wooden_reinforced, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) "Jz" = ( -/obj/structure/table/standard, -/obj/item/weapon/surgical/cautery, -/obj/item/weapon/surgical/retractor, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/glass/bottle/stoxin, -/obj/item/weapon/reagent_containers/syringe, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"JE" = ( +/obj/effect/step_trigger/teleporter/random{ + affect_ghosts = 1; + name = "escapeshuttle_leave"; + teleport_x = 25; + teleport_x_offset = 245; + teleport_y = 25; + teleport_y_offset = 245; + teleport_z = 4; + teleport_z_offset = 4 + }, +/turf/space/transit/north, +/area/space) +"JL" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdown"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/space/transit/north, +/area/space) +"JR" = ( +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "TelelockdownC"; + name = "Security Doors"; + opacity = 0 + }, /obj/effect/floor_decal/industrial/warning{ - icon_state = "warning"; - dir = 1 + dir = 10 }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/ninja_dojo/dojo) -"JJ" = ( -/obj/machinery/door/airlock/hatch{ - req_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"JK" = ( -/obj/machinery/atmospherics/pipe/simple/visible, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1331; - master_tag = "vox_east_control"; - pixel_x = 22; - req_access = list(150) - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) "JW" = ( /turf/unsimulated/beach/water{ density = 1; opacity = 1 }, /area/beach) -"JX" = ( -/turf/simulated/wall/skipjack, -/area/skipjack_station/start) -"JY" = ( -/obj/machinery/atmospherics/pipe/simple/visible, -/obj/machinery/access_button{ - command = "cycle_interior"; - frequency = 1331; - master_tag = "vox_west_control"; - pixel_x = -22; - req_one_access = list(150) +"JZ" = ( +/turf/space/internal_edge/right, +/area/space) +"Kj" = ( +/obj/effect/shuttle_landmark/transit{ + base_area = /area/space; + base_turf = /turf/simulated/sky/virgo3b/south; + landmark_tag = "tether_backup_transit"; + name = "Tether Backup Transit" }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Kh" = ( -/obj/item/weapon/bedsheet/orange, -/obj/structure/bed/padded, -/turf/simulated/shuttle/floor/red, -/area/skipjack_station/start) -"KH" = ( -/obj/machinery/light{ - dir = 8; - icon_state = "tube1"; - pixel_y = 0 - }, -/obj/machinery/computer/station_alert, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"KL" = ( -/obj/structure/table/rack, -/obj/item/weapon/melee/energy/sword/pirate, -/obj/item/clothing/suit/space/pirate, -/obj/item/clothing/suit/space/pirate, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/pinpointer/shuttle/heist, -/obj/item/weapon/pinpointer/shuttle/heist, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"KN" = ( -/obj/machinery/computer/teleporter, -/turf/simulated/shuttle/plating, -/area/ninja_dojo/start) -"KT" = ( -/obj/machinery/washing_machine, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"KX" = ( -/obj/structure/window/reinforced{ - dir = 4; - health = 1e+006 - }, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/ninja_dojo/dojo) -"KZ" = ( -/obj/machinery/vending/hydroseeds, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Lb" = ( -/obj/structure/table/steel, -/obj/item/device/radio/uplink, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/skipjack_station) -"Li" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - frequency = 1331; - id_tag = "vox_east_vent" - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Lm" = ( -/obj/machinery/floodlight, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Ly" = ( -/obj/effect/floor_decal/carpet, -/obj/effect/floor_decal/carpet{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 10 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" - }, -/area/ninja_dojo/dojo) -"Lz" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/item/weapon/tank/nitrogen, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"LH" = ( -/obj/machinery/shower{ - dir = 1 - }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/skipjack_station) -"LI" = ( -/obj/structure/table/rack, -/obj/item/clothing/suit/space/vox/pressure, -/obj/item/clothing/suit/space/vox/pressure, -/obj/item/clothing/head/helmet/space/vox/pressure, -/obj/item/clothing/head/helmet/space/vox/pressure, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"LJ" = ( -/obj/item/seeds/potatoseed, -/obj/item/seeds/potatoseed, -/obj/item/seeds/ambrosiavulgarisseed, -/obj/item/weapon/material/minihoe, -/obj/item/weapon/beartrap, -/obj/structure/table/steel, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"LN" = ( -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" - }, -/obj/structure/window/reinforced/full, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"LQ" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/skipjack_station) -"LT" = ( -/obj/machinery/door/airlock/hatch{ - frequency = 1331; - icon_state = "door_closed"; - id_tag = "vox_southeast_lock"; - locked = 0; - req_access = list(150) - }, -/obj/machinery/atmospherics/pipe/simple/visible, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"LY" = ( -/obj/effect/floor_decal/carpet{ - dir = 8 - }, -/obj/effect/floor_decal/carpet{ - dir = 4 - }, -/obj/effect/floor_decal/carpet{ - dir = 9 - }, -/obj/effect/floor_decal/carpet{ +/turf/simulated/sky/virgo3b/south, +/area/space) +"Lg" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; dir = 5 }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" +/turf/simulated/floor/tiled/steel, +/area/space) +"Lw" = ( +/obj/effect/step_trigger/teleporter/random{ + affect_ghosts = 1; + name = "escapeshuttle_leave"; + teleport_x = 25; + teleport_x_offset = 245; + teleport_y = 25; + teleport_y_offset = 245; + teleport_z = 4; + teleport_z_offset = 4 }, -/area/skipjack_station) -"Mg" = ( -/turf/unsimulated/wall{ - desc = "That looks like it doesn't open easily."; - icon = 'icons/obj/doors/rapid_pdoor.dmi'; - icon_state = "pdoor1"; - name = "Shuttle Bay Blast Door" +/turf/space, +/turf/space/transit/north, +/area/space) +"Lz" = ( +/obj/effect/step_trigger/teleporter/planetary_fall/virgo3b, +/turf/simulated/sky/virgo3b/south, +/area/space) +"Mb" = ( +/obj/effect/transit/light{ + dir = 8 }, -/area/skipjack_station) -"Ml" = ( -/turf/simulated/shuttle/wall/voidcraft/blue, -/area/ninja_dojo/start) -"Mq" = ( -/obj/structure/table/standard, -/obj/item/weapon/deck/cards, -/turf/simulated/shuttle/floor/black, -/area/skipjack_station/start) -"Ms" = ( -/obj/item/xenos_claw, -/obj/item/organ/internal/brain/vox, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" +/turf/unsimulated/mineral{ + icon = 'icons/turf/transit_vr.dmi'; + icon_state = "rock" }, -/area/skipjack_station) -"Mx" = ( -/obj/structure/sink{ - icon_state = "sink"; - dir = 8; - pixel_x = -12; - pixel_y = 2 +/area/space) +"ME" = ( +/obj/machinery/computer/rdservercontrol{ + name = "Master R&D Server Controller"; + icon_state = "computer"; + dir = 1; + badmin = 1 }, -/obj/structure/mirror{ +/turf/unsimulated/floor/steel, +/area/centcom/control) +"MK" = ( +/obj/machinery/light{ dir = 4; - pixel_x = -28; - pixel_y = 0 + icon_state = "tube1"; + pixel_x = 0 }, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"ML" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + name = "thrower_leftnostop" }, -/area/skipjack_station) -"MB" = ( -/obj/structure/table/steel_reinforced, -/obj/item/device/paicard, -/obj/item/device/pda/syndicate, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"MO" = ( -/obj/effect/decal/cleanable/blood, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/skipjack_station) -"MQ" = ( -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Ng" = ( -/turf/unsimulated/floor{ - icon = 'icons/turf/flooring/wood.dmi'; - icon_state = "wood_broken1" - }, -/area/ninja_dojo/dojo) +/turf/space/transit/east, +/area/space) "Nj" = ( /obj/item/clothing/head/collectable/paper, /turf/unsimulated/beach/sand, /area/beach) -"Nk" = ( -/obj/structure/table/standard, -/obj/effect/decal/cleanable/cobweb2, -/turf/unsimulated/floor{ - icon_state = "wood" - }, -/area/skipjack_station) "No" = ( /obj/item/weapon/beach_ball, /turf/unsimulated/beach/sand, /area/beach) -"Np" = ( -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" +"Nq" = ( +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Nr" = ( +/obj/machinery/cryopod/robot/door/gateway, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 }, -/area/skipjack_station) -"Ns" = ( -/obj/machinery/door/airlock/voidcraft/vertical{ - frequency = 1331; - id_tag = "ninja_shuttle_outer"; - name = "Ship External Hatch"; - req_access = list(150) - }, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 8; - icon_state = "pdoor0"; - id = "blastninja"; - name = "Outer Airlock"; - opacity = 0 - }, -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) "Nt" = ( /turf/unsimulated/beach/sand{ density = 1; opacity = 1 }, /area/beach) -"Ny" = ( -/obj/machinery/door/airlock/hatch{ - req_access = list(150) +"Oj" = ( +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 8; + name = "thrower_escapeshuttletop(left)"; + tiles = 0 }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"Nz" = ( -/turf/unsimulated/wall, -/area/ninja_dojo/dojo) -"ND" = ( -/obj/machinery/door/airlock/hatch{ - req_access = list(150) - }, -/turf/unsimulated/floor{ - icon_state = "steel_dirty" - }, -/area/skipjack_station) -"NT" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"NY" = ( -/obj/structure/table/standard, -/obj/item/weapon/storage/fancy/cigarettes, -/obj/item/weapon/flame/lighter/zippo, -/obj/item/clothing/gloves/yellow, -/obj/item/stack/material/steel{ - amount = 50 - }, -/obj/item/stack/material/glass{ - amount = 50 - }, -/obj/item/weapon/card/emag, +/turf/simulated/sky/virgo3b/south, +/area/space) +"OR" = ( +/turf/simulated/shuttle/wall, +/area/shuttle/escape) +"OY" = ( +/turf/unsimulated/map, +/area/overmap) +"Pe" = ( +/obj/structure/grille, +/obj/structure/shuttle/window, /turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Od" = ( -/obj/structure/sink{ - dir = 4; - icon_state = "sink"; - pixel_x = 11; - pixel_y = 0 +/area/shuttle/escape) +"Pf" = ( +/obj/structure/table/woodentable{ + dir = 5 }, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"Oo" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/skipjack_station/start) -"Ow" = ( -/obj/structure/table/steel_reinforced, -/obj/item/rig_module/mounted/energy_blade, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/ninja_dojo/dojo) -"OF" = ( -/obj/machinery/microwave{ - pixel_x = -1; +/obj/structure/flora/pottedplant{ pixel_y = 8 }, -/obj/structure/table/steel, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"OH" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"OK" = ( -/obj/effect/wingrille_spawn/reinforced, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/ninja_dojo/dojo) -"OQ" = ( -/obj/effect/decal/cleanable/blood, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"OX" = ( -/obj/machinery/atmospherics/pipe/simple/visible, -/obj/item/weapon/tool/crowbar, -/obj/item/device/suit_cooling_unit, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"OZ" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Pg" = ( +/turf/simulated/shuttle/wall/hard_corner, +/area/shuttle/escape) "Pi" = ( -/obj/item/device/suit_cooling_unit, -/turf/unsimulated/floor{ - icon_state = "dark" +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdown"; + nostop = 1; + stopper = 0; + tiles = 0 }, -/area/ninja_dojo/dojo) -"Pm" = ( -/obj/item/weapon/gun/launcher/crossbow, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" +/turf/space/transit/west, +/area/space) +"Pq" = ( +/turf/simulated/floor/maglev{ + icon = 'icons/turf/transit_vr.dmi' }, -/area/skipjack_station) -"Po" = ( -/obj/effect/landmark{ - name = "voxstart" - }, -/turf/unsimulated/floor{ - icon = 'icons/turf/flooring/wood.dmi'; - icon_state = "wood_broken2" - }, -/area/skipjack_station) -"Pt" = ( -/obj/structure/table/steel_reinforced, -/obj/item/clothing/head/pirate, -/obj/item/clothing/glasses/thermal/plain/monocle, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"Pw" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"PI" = ( -/turf/unsimulated/mineral, -/area/ninja_dojo/dojo) -"PK" = ( -/obj/structure/table/rack, -/obj/item/clothing/suit/space/vox/medic, -/obj/item/clothing/suit/space/vox/medic, -/obj/item/clothing/head/helmet/space/vox/medic, -/obj/item/clothing/head/helmet/space/vox/medic, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"PL" = ( -/obj/structure/table/steel, -/obj/item/device/pda/syndicate, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/skipjack_station) -"PQ" = ( -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1331; - master_tag = "vox_west_control"; - req_one_access = list(150) - }, -/turf/simulated/wall/skipjack, -/area/skipjack_station/start) -"PS" = ( -/obj/item/weapon/tank/vox, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"PX" = ( -/obj/machinery/computer/station_alert, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"PY" = ( -/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - tag_airpump = "vox_west_vent"; - tag_exterior_door = "vox_northwest_lock"; - frequency = 1331; - id_tag = "vox_west_control"; - tag_interior_door = "vox_southwest_lock"; - pixel_x = 24; - req_access = list(150); - tag_chamber_sensor = "vox_west_sensor" - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 8; - frequency = 1331; - id_tag = "vox_west_vent" - }, -/obj/machinery/light/small, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Qb" = ( -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" - }, -/obj/structure/window/reinforced/full, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Qw" = ( -/turf/unsimulated/wall{ - icon = 'icons/obj/doors/Dooruranium.dmi'; - icon_state = "door_closed"; - name = "Sealed Door" - }, -/area/ninja_dojo/dojo) -"QB" = ( -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"QC" = ( -/obj/machinery/door/airlock{ - icon = 'icons/obj/doors/Dooruranium.dmi' - }, -/turf/unsimulated/floor{ - icon_state = "dark" - }, -/area/ninja_dojo/dojo) -"QI" = ( -/obj/item/robot_parts/robot_suit, -/obj/item/robot_parts/r_leg, -/obj/item/robot_parts/r_arm, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"QJ" = ( -/obj/machinery/recharge_station, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/ninja_dojo/dojo) -"QT" = ( -/obj/structure/table/steel, -/obj/item/weapon/deck/cards, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"QU" = ( -/turf/simulated/mineral, -/area/ninja_dojo/dojo) -"QZ" = ( -/obj/machinery/computer/teleporter, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/ninja_dojo/dojo) -"Ra" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/ninja_dojo/dojo) -"Rb" = ( -/obj/effect/decal/cleanable/cobweb2, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/skipjack_station) -"Rn" = ( -/obj/item/weapon/storage/box/syndie_kit/spy, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/skipjack_station) -"Rp" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"RB" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"RN" = ( -/obj/structure/inflatable, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"RU" = ( -/obj/structure/flora/ausbushes/palebush, -/turf/unsimulated/floor{ - dir = 2; - icon = 'icons/turf/snow_new.dmi'; - icon_state = "snow"; - name = "snow" - }, -/area/ninja_dojo/dojo) -"RX" = ( -/obj/machinery/portable_atmospherics/canister/phoron, -/obj/item/weapon/tank/vox, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"Sc" = ( -/obj/effect/floor_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/visible, -/obj/machinery/meter, -/turf/simulated/shuttle/floor/voidcraft/light, -/area/ninja_dojo/start) -"St" = ( -/obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1331; - id_tag = "ninja_shuttle"; - pixel_x = 0; - pixel_y = -25; - req_access = list(150) - }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1331; - id_tag = "ninja_shuttle_pump" - }, -/obj/machinery/button/remote/blast_door{ - id = "blastninja"; - name = "ship lockdown control"; - pixel_x = -25 - }, -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) -"Sv" = ( -/obj/structure/table/standard, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = 1 - }, -/obj/item/weapon/storage/firstaid/toxin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/closet/secure_closet/medical_wall{ - pixel_x = 32; - pixel_y = 0; - req_access = list(150) - }, -/obj/item/weapon/storage/firstaid/fire{ - pixel_x = 1 +/area/space) +"Qa" = ( +/obj/structure/closet/hydrant{ + pixel_x = -30; + pixel_y = 0 }, /obj/item/weapon/storage/firstaid/o2{ - pixel_x = 3; - pixel_y = 3 + layer = 2.8; + pixel_x = 4; + pixel_y = 6 }, -/obj/item/weapon/storage/firstaid/regular, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"Sy" = ( -/obj/machinery/button/remote/blast_door{ - id = "skipjackshutters"; - name = "remote shutter control"; - req_access = list(150) +/obj/item/weapon/storage/firstaid/fire, +/obj/item/weapon/storage/firstaid/toxin, +/obj/structure/bed/chair/shuttle, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" }, -/turf/simulated/wall/skipjack, -/area/skipjack_station/start) -"SI" = ( +/area/shuttle/escape) +"QW" = ( +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"QX" = ( +/obj/structure/bed/chair/shuttle, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"QY" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-21" + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Rc" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"Rd" = ( /obj/structure/table/standard, -/obj/item/weapon/storage/box/glasses/square{ - pixel_x = 1; - pixel_y = 4 - }, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"SJ" = ( -/obj/item/clothing/head/xenos, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"SL" = ( -/obj/effect/floor_decal/carpet{ - dir = 4 - }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" - }, -/area/ninja_dojo/dojo) -"SM" = ( -/obj/structure/bed/chair{ +/obj/random/maintenance/clean, +/obj/machinery/light{ dir = 1 }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" }, -/area/skipjack_station) -"SU" = ( -/obj/structure/grille, -/obj/structure/window/reinforced{ - dir = 4 +/area/shuttle/escape) +"Re" = ( +/obj/structure/table/standard, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" }, -/obj/structure/window/reinforced{ +/area/shuttle/escape) +"Rf" = ( +/obj/machinery/status_display{ + pixel_y = 30 + }, +/obj/structure/table/standard, +/obj/machinery/light{ dir = 1 }, -/obj/structure/window/reinforced{ - dir = 8 +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" }, +/area/shuttle/escape) +"Rg" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rh" = ( +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'HIGH VOLTAGE'"; + icon_state = "shock"; + name = "HIGH VOLTAGE" + }, +/turf/unsimulated/wall, +/area/centcom/simulated/terminal) +"Ri" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "escape_shuttle_hatch_station"; + locked = 1; + name = "Shuttle Hatch" + }, +/turf/simulated/shuttle/floor/yellow, +/area/shuttle/escape) +"Rj" = ( +/obj/machinery/door/airlock/glass_external{ + frequency = 1380; + icon_state = "door_locked"; + id_tag = "escape_shuttle_hatch_offsite"; + locked = 1; + name = "Shuttle Hatch" + }, +/turf/simulated/shuttle/floor/yellow, +/area/shuttle/escape) +"Rk" = ( +/obj/structure/bed/chair/shuttle, +/obj/structure/closet/walllocker/emerglocker{ + pixel_x = -28 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rl" = ( +/obj/structure/bed/chair/shuttle, +/obj/structure/closet/walllocker/emerglocker{ + pixel_x = 28 + }, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rm" = ( +/obj/structure/table/standard, +/obj/random/junk, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Ro" = ( +/obj/structure/table/standard, +/obj/random/maintenance/clean, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rq" = ( /obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "TelelockdownC"; + name = "Security Doors"; + opacity = 0 }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Te" = ( -/obj/effect/floor_decal/carpet{ +/obj/effect/floor_decal/industrial/warning, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Rr" = ( +/obj/structure/flora/pottedplant{ + icon_state = "plant-22" + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"Rs" = ( +/obj/structure/sign/nanotrasen, +/obj/effect/shuttle_landmark{ + base_area = /area/centcom/simulated/terminal; + base_turf = /turf/simulated/floor/tiled/techfloor/grid; + docking_controller = null; + landmark_tag = "escape_cc"; + name = "Escape Centcom" + }, +/turf/simulated/shuttle/wall, +/area/shuttle/escape) +"Rt" = ( +/obj/structure/sign/nanotrasen, +/turf/simulated/shuttle/wall, +/area/shuttle/escape) +"Ru" = ( +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"Rv" = ( +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "TelelockdownC"; + name = "Security Doors"; + opacity = 0 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Rw" = ( +/obj/structure/table/standard, +/obj/item/clothing/head/beret/nanotrasen, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Rx" = ( +/obj/structure/table/standard, +/obj/random/plushie, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"Ry" = ( +/obj/structure/bed/chair/shuttle{ dir = 1 }, -/obj/effect/floor_decal/carpet{ - dir = 8 +/obj/structure/closet/walllocker/emerglocker{ + pixel_x = -28 }, -/obj/effect/floor_decal/carpet{ - dir = 9 +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" +/area/shuttle/escape) +"Rz" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 }, -/area/ninja_dojo/dojo) -"Tg" = ( -/obj/effect/floor_decal/carpet{ - dir = 8 +/obj/structure/closet/walllocker/emerglocker{ + pixel_x = 28 }, -/obj/effect/floor_decal/carpet{ +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RA" = ( +/obj/structure/grille, +/obj/structure/shuttle/window, +/turf/simulated/shuttle/floor/white, +/area/shuttle/escape) +"RC" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RD" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RE" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/light, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RF" = ( +/obj/random/junk, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RG" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/random/soap, +/turf/simulated/shuttle/floor/white{ + color = "#cccccc" + }, +/area/shuttle/escape) +"RV" = ( +/obj/effect/step_trigger/teleporter/random{ + affect_ghosts = 1; + name = "escapeshuttle_leave"; + teleport_x = 25; + teleport_x_offset = 245; + teleport_y = 25; + teleport_y_offset = 245; + teleport_z = 6; + teleport_z_offset = 6 + }, +/turf/simulated/sky/virgo3b/south, +/area/space) +"Sh" = ( +/obj/effect/floor_decal/transit/orange{ dir = 4 }, -/turf/unsimulated/floor{ - dir = 2; - icon_state = "carpet" +/obj/effect/transit/light{ + dir = 4 }, -/area/skipjack_station) +/obj/effect/step_trigger/thrower{ + affect_ghosts = 1; + direction = 2; + name = "thrower_throwdownside"; + nostop = 1; + stopper = 0; + tiles = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid{ + icon = 'icons/turf/transit_vr.dmi'; + initial_flooring = null; + icon_state = "techfloor_grid" + }, +/area/space) +"Sl" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/camera/network/crescent{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"Sm" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/unknown/dorm4) +"Sn" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/unknown/dorm4) +"So" = ( +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Sp" = ( +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Sq" = ( +/obj/structure/toilet, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Sr" = ( +/obj/machinery/shower{ + pixel_y = 13 + }, +/obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Ss" = ( +/obj/machinery/door/airlock/alien/blue/public, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"Su" = ( +/obj/structure/closet/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"Sw" = ( +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"Sx" = ( +/obj/structure/fans, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"Sz" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/towel/random, +/obj/item/weapon/towel/random, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SA" = ( +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SB" = ( +/obj/structure/table/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SC" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Unknown"; + tele_network = "unkfour" + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"SD" = ( +/obj/item/weapon/bedsheet/rddouble, +/obj/structure/bed/double/padded, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SE" = ( +/obj/structure/prop/alien/computer{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SF" = ( +/obj/structure/prop/alien/dispenser, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SG" = ( +/obj/machinery/door/blast/regular{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"SH" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"SK" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SN" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SO" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SP" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm4) +"SQ" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor/voidcraft, +/area/unknown/dorm4) +"SR" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"SS" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"ST" = ( +/obj/structure/prop/alien/power, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm4) +"SV" = ( +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"SW" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Transfer"; + tele_network = "centcom" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"SX" = ( +/turf/simulated/shuttle/wall/alien/blue/hard_corner, +/area/unknown/dorm3) +"SY" = ( +/turf/simulated/shuttle/wall/alien/blue, +/area/unknown/dorm3) +"SZ" = ( +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Ta" = ( +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Tb" = ( +/obj/structure/toilet, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Tc" = ( +/obj/machinery/shower{ + pixel_y = 13 + }, +/obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Td" = ( +/obj/machinery/door/airlock/alien/blue/public, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"Tf" = ( +/obj/machinery/cryopod/robot/door/gateway, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Th" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Ti" = ( +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Tj" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Tk" = ( +/obj/structure/closet/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tl" = ( +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tm" = ( +/obj/structure/fans, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) "Tn" = ( /obj/structure/table/standard, /obj/item/clothing/under/color/rainbow, @@ -12295,28 +3169,95 @@ }, /turf/unsimulated/beach/sand, /area/beach) +"To" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/towel/random, +/obj/item/weapon/towel/random, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tp" = ( +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tq" = ( +/obj/structure/table/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tr" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Unknown"; + tele_network = "unkthree" + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) "Ts" = ( /obj/effect/overlay/coconut, /turf/unsimulated/beach/sand, /area/beach) -"Tv" = ( -/obj/structure/closet/crate, -/obj/item/clothing/accessory/storage/vox, -/obj/item/clothing/accessory/storage/vox, -/obj/item/clothing/accessory/storage/vox, -/obj/item/clothing/accessory/storage/vox, -/obj/item/clothing/accessory/storage/vox, -/obj/item/clothing/accessory/storage/vox, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" +"Tt" = ( +/obj/item/weapon/bedsheet/rddouble, +/obj/structure/bed/double/padded, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tu" = ( +/obj/structure/prop/alien/computer{ + dir = 8 }, -/area/skipjack_station) -"Tw" = ( -/turf/unsimulated/floor{ - icon_state = "steel" +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tx" = ( +/obj/structure/prop/alien/dispenser, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Ty" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"Tz" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"TA" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 }, -/area/skipjack_station) +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"TB" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm3) +"TC" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor/voidcraft, +/area/unknown/dorm3) +"TD" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"TE" = ( +/obj/machinery/computer/teleporter{ + dir = 1 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) "TF" = ( /obj/structure/bed/chair, /obj/effect/landmark{ @@ -12330,526 +3271,1611 @@ }, /turf/unsimulated/beach/sand, /area/beach) -"TL" = ( -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"TO" = ( -/obj/structure/table/wooden_reinforced, -/obj/item/weapon/flame/candle, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" +"TH" = ( +/obj/structure/prop/alien/power, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm3) +"TI" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/centcom/simulated/terminal) +"TJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"TK" = ( +/turf/simulated/shuttle/wall/alien/hard_corner, +/area/unknown/dorm2) +"TM" = ( +/turf/simulated/shuttle/wall/alien, +/area/unknown/dorm2) +"TN" = ( +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TP" = ( +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TQ" = ( +/obj/structure/toilet, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TR" = ( +/obj/machinery/shower{ + pixel_y = 13 }, -/area/ninja_dojo/dojo) -"Ue" = ( -/obj/item/weapon/ore, -/turf/unsimulated/floor{ - icon_state = "steel" +/obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 }, -/area/skipjack_station) -"Un" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TS" = ( +/obj/machinery/door/airlock/alien/public, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"TT" = ( +/obj/structure/closet/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TU" = ( +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TV" = ( +/obj/structure/fans, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TW" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/towel/random, +/obj/item/weapon/towel/random, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TX" = ( +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"TY" = ( +/obj/machinery/door/firedoor, +/turf/unsimulated/floor/steel, +/area/centcom/simulated/terminal) +"TZ" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Ua" = ( +/obj/structure/table/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Ub" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Unknown"; + tele_network = "unktwo" + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"Uc" = ( +/obj/item/weapon/bedsheet/rddouble, +/obj/structure/bed/double/padded, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Ud" = ( +/obj/structure/prop/alien/computer{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Uf" = ( +/obj/structure/prop/alien/dispenser, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Ug" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Uh" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Ui" = ( +/obj/structure/bed/chair/comfy/black{ dir = 4 }, -/obj/machinery/door/airlock/voidcraft/vertical{ - frequency = 1331; - id_tag = "ninja_shuttle_inner"; - name = "Ship Internal Hatch"; - req_access = list(150) +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Uj" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm2) +"Uk" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor/voidcraft, +/area/unknown/dorm2) +"Ul" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"Um" = ( +/obj/machinery/computer/teleporter{ + dir = 1 }, -/turf/simulated/shuttle/floor/voidcraft/dark, -/area/ninja_dojo/start) -"Uq" = ( -/obj/item/weapon/gun/energy/sonic, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"Uo" = ( +/obj/structure/prop/alien/power, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm2) +"Up" = ( +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Ur" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Us" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + dir = 8 }, -/area/skipjack_station) -"Uy" = ( -/obj/structure/table/rack, -/obj/item/weapon/tank/vox, -/turf/unsimulated/floor{ - icon_state = "asteroid" +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Ut" = ( +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Uu" = ( +/obj/effect/floor_decal/industrial/warning/dust, +/obj/machinery/light{ + dir = 1 }, -/area/skipjack_station) -"UB" = ( -/turf/simulated/shuttle/floor/red, -/area/skipjack_station/start) +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Uv" = ( +/obj/effect/floor_decal/industrial/outline, +/obj/structure/bed/chair, +/turf/unsimulated/floor/steel, +/area/centcom/simulated/main_hall) +"Uw" = ( +/turf/simulated/shuttle/wall/alien/hard_corner, +/area/unknown/dorm1) +"Ux" = ( +/turf/simulated/shuttle/wall/alien, +/area/unknown/dorm1) +"Uz" = ( +/obj/machinery/recharge_station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UA" = ( +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UC" = ( +/obj/structure/toilet, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UD" = ( +/obj/machinery/shower{ + pixel_y = 13 + }, +/obj/structure/curtain/open/shower, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UE" = ( +/obj/effect/floor_decal/industrial/outline, +/obj/structure/bed/chair, +/obj/machinery/status_display{ + pixel_y = 29 + }, +/turf/unsimulated/floor/steel, +/area/centcom/simulated/main_hall) +"UF" = ( +/obj/machinery/door/airlock/alien/public, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UG" = ( +/obj/structure/closet/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UH" = ( +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UI" = ( +/obj/structure/fans, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UJ" = ( +/obj/machinery/smartfridge/survival_pod, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu13, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu10, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/menu9, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/storage/mre/random, +/obj/item/weapon/towel/random, +/obj/item/weapon/towel/random, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) "UK" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "propulsion_r"; +/obj/machinery/sleeper/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UM" = ( +/obj/structure/table/survival_pod, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UN" = ( +/obj/item/device/perfect_tele_beacon/stationary{ + tele_name = "Unknown"; + tele_network = "unkone" + }, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UP" = ( +/obj/item/weapon/bedsheet/rddouble, +/obj/structure/bed/double/padded, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UQ" = ( +/obj/structure/prop/alien/computer{ + dir = 8 + }, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UR" = ( +/obj/structure/prop/alien/dispenser, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"US" = ( +/obj/structure/closet/secure_closet/personal, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UT" = ( +/obj/structure/bed/chair/comfy/black, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UU" = ( +/obj/structure/bed/chair/comfy/black{ dir = 4 }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/trade/centcom) -"UL" = ( -/obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/device/multitool, -/obj/item/device/multitool, -/obj/item/clothing/shoes/magboots, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"UO" = ( -/obj/structure/table/standard, -/obj/item/weapon/surgical/circular_saw{ - pixel_y = 8 +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UV" = ( +/obj/structure/table/alien, +/turf/simulated/shuttle/floor/alien, +/area/unknown/dorm1) +"UW" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/teleport/hub, +/turf/simulated/shuttle/floor/voidcraft, +/area/unknown/dorm1) +"UX" = ( +/obj/machinery/teleport/station, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UY" = ( +/obj/machinery/computer/teleporter{ + dir = 1 }, -/obj/item/weapon/surgical/hemostat, -/obj/item/weapon/surgical/scalpel, -/obj/item/stack/medical/advanced/bruise_pack, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"Vx" = ( -/turf/unsimulated/floor{ - icon_state = "wood" - }, -/area/skipjack_station) -"VA" = ( -/obj/item/pizzabox/meat, -/turf/simulated/shuttle/floor/red, -/area/skipjack_station/start) -"VC" = ( -/turf/unsimulated/beach/sand, -/area/beach) -"VG" = ( -/obj/item/clothing/head/philosopher_wig, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"VH" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/reagent_containers/food/snacks/fortunecookie, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"VT" = ( -/obj/machinery/door/airlock/hatch{ - req_access = list(150) - }, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"VW" = ( -/obj/structure/undies_wardrobe, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/skipjack_station) -"Wa" = ( -/obj/structure/reagent_dispensers/watertank, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"UZ" = ( +/obj/structure/prop/alien/power, +/turf/simulated/shuttle/floor/alienplating, +/area/unknown/dorm1) +"Va" = ( +/obj/effect/floor_decal/rust/steel_decals_rusted2, +/obj/effect/floor_decal/industrial/warning/dust, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vb" = ( +/obj/machinery/recharge_station, /obj/machinery/light/small{ dir = 4 }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Wf" = ( +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Vc" = ( +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Vd" = ( /turf/unsimulated/wall, -/area/skipjack_station) -"Wg" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/unsimulated/floor{ - name = "plating"; - icon_state = "cult" - }, -/area/skipjack_station) -"Wn" = ( -/obj/machinery/door/airlock/hatch{ - frequency = 1331; - icon_state = "door_closed"; - id_tag = "vox_northwest_lock"; - locked = 0; - req_access = list(150) - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Wr" = ( -/obj/machinery/door/airlock/hatch{ - frequency = 1331; - icon_state = "door_closed"; - id_tag = "vox_southwest_lock"; - locked = 0; - req_access = list(150) - }, -/obj/machinery/atmospherics/pipe/simple/visible, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Ww" = ( -/obj/structure/inflatable, -/turf/unsimulated/floor{ - icon_state = "asteroid" - }, -/area/skipjack_station) -"Wx" = ( -/obj/structure/table/standard, -/turf/unsimulated/floor{ - icon_state = "wood" - }, -/area/skipjack_station) -"Wy" = ( -/obj/machinery/teleport/hub, -/obj/effect/floor_decal/industrial/hatch/yellow, +/area/centcom/simulated/medical) +"Ve" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/obj/structure/sign/department/medbay, /turf/unsimulated/floor{ icon_state = "plating"; name = "plating" }, -/area/ninja_dojo/dojo) +/area/centcom/simulated/medical) +"Vf" = ( +/obj/machinery/door/airlock{ + name = "Unit 4" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Vg" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/living) +"Vh" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/obj/effect/floor_decal/corner_steel_grid/diagonal{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/danger{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Vi" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vj" = ( +/turf/simulated/floor/tiled/steel, +/area/shuttle/large_escape_pod2/centcom{ + base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b + }) +"Vk" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/bathroom) +"Vl" = ( +/obj/structure/sign/warning{ + name = "\improper STAND AWAY FROM TRACK EDGE" + }, +/turf/unsimulated/wall, +/area/centcom/simulated/living) +"Vm" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel, +/area/shuttle/large_escape_pod2/centcom{ + base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b + }) +"Vn" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vo" = ( +/obj/machinery/door/blast/regular{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vp" = ( +/obj/effect/floor_decal/rust/part_rusted3, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vq" = ( +/obj/effect/floor_decal/rust/part_rusted3, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vr" = ( +/obj/effect/floor_decal/rust, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vs" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vt" = ( +/obj/effect/floor_decal/rust/mono_rusted3, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Vu" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/main_hall) +"Vv" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/unsimulated/floor/steel, +/area/centcom/simulated/terminal) +"Vw" = ( +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"Vy" = ( +/obj/machinery/door/airlock{ + name = "Unit 3" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Vz" = ( +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"VB" = ( +/obj/effect/floor_decal/sign/dock/one, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VC" = ( +/turf/unsimulated/beach/sand, +/area/beach) +"VD" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VE" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/centcom/simulated/evac; + base_turf = /turf/unsimulated/floor/steel; + docking_controller = null; + landmark_tag = "escapepod1_cc"; + name = "Centcom Recovery Area" + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VF" = ( +/obj/effect/floor_decal/sign/dock/two, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VI" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"VJ" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/restaurant) +"VL" = ( +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/restaurant) +"VM" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/restaurant) +"VN" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/turf/simulated/floor/tiled/steel, +/area/shuttle/large_escape_pod2/centcom{ + base_turf = /turf/simulated/floor/tiled/steel_dirty/virgo3b + }) +"VO" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VP" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VQ" = ( +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"VR" = ( +/obj/structure/bed/chair/wood/wings, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"VS" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/obj/effect/floor_decal/industrial/warning/dust/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VU" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VV" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VW" = ( +/turf/space, +/turf/space/internal_edge/topleft, +/area/space) +"VX" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"VY" = ( +/obj/structure/closet/crate/bin, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"VZ" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wb" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/pastatomato, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wc" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wd" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 8 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"We" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/fries, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wh" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Wi" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Wj" = ( +/obj/effect/blocker, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/living) +"Wk" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/cheeseburger{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/weapon/reagent_containers/food/snacks/cheeseburger, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wl" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/kitsuneudon, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wm" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/lasagna, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wo" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/hotdog, +/obj/item/weapon/reagent_containers/food/snacks/hotdog{ + pixel_x = -5; + pixel_y = -3 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wp" = ( +/obj/machinery/cryopod/robot/door/dorms, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Wq" = ( +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/obj/machinery/computer/cryopod/dorms{ + name = "Company Property Retention System"; + pixel_x = 0; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Ws" = ( +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"Wt" = ( +/obj/machinery/porta_turret/crescent{ + density = 1 + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Wu" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Wv" = ( +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Wz" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WA" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/grilledcheese, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WB" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/turf/simulated/floor/plating, +/area/centcom/simulated/restaurant) +"WC" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/turf/simulated/floor/plating, +/area/centcom/simulated/medical) "WD" = ( /obj/effect/overlay/palmtree_r, /obj/effect/overlay/coconut, /turf/unsimulated/beach/sand, /area/beach) -"WG" = ( -/obj/machinery/door/airlock/hatch{ - req_access = list(150) +"WE" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "FrontlockC2"; + name = "Security Door"; + opacity = 0 }, -/turf/simulated/shuttle/floor/black, -/area/skipjack_station/start) -"WM" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - frequency = 1331; - id_tag = "vox_west_vent" +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"WF" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/meatballsoup, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WH" = ( +/obj/item/weapon/stool/padded, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WI" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/roastbeef, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/northleft{ + req_access = list(63); + req_one_access = list(1) }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"WX" = ( +/obj/item/weapon/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/weapon/pen, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "FrontlockC2"; + name = "Security Door"; + opacity = 0 + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"WK" = ( +/obj/structure/table/reinforced, /obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window/brigdoor/northright{ + req_access = list(63); + req_one_access = list(1) + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "FrontlockC2"; + name = "Security Door"; + opacity = 0 + }, +/obj/machinery/computer/skills, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"WL" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/meatsteak, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WN" = ( +/obj/structure/bed/chair/wood/wings{ + icon_state = "wooden_chair_wings"; + dir = 4 + }, +/obj/machinery/light{ dir = 8 }, -/turf/unsimulated/floor{ - dir = 2; - icon = 'icons/turf/snow_new.dmi'; - icon_state = "snow"; - name = "snow" +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"WO" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/drinks/bottle/cola, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WP" = ( +/obj/structure/table/woodentable, +/obj/machinery/cash_register/civilian, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WQ" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/drinks/bottle/space_mountain_wind, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WR" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich{ + pixel_w = 0; + pixel_x = 0; + pixel_y = 10 }, -/area/ninja_dojo/dojo) -"WY" = ( -/obj/item/target/alien, -/turf/unsimulated/floor{ - icon = 'icons/turf/flooring/wood.dmi'; - icon_state = "wood_broken2" +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WS" = ( +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"WT" = ( +/obj/structure/bed/chair, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"WU" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/spray/cleaner{ + desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; + name = "Surgery Cleaner"; + pixel_x = 2; + pixel_y = 2 }, -/area/ninja_dojo/dojo) -"Xo" = ( -/obj/structure/table/steel, -/obj/item/clothing/glasses/regular, -/obj/item/clothing/glasses/regular, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"Xq" = ( -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"WV" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WW" = ( +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"WZ" = ( +/obj/machinery/vending/coffee, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xa" = ( +/obj/machinery/vending/sovietsoda, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xb" = ( +/obj/machinery/vending/snack, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xc" = ( +/obj/machinery/vending/cola, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xd" = ( +/obj/machinery/vending/cigarette, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"Xe" = ( +/obj/machinery/smartfridge/drinks, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Xf" = ( +/obj/machinery/vending/boozeomat, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Xg" = ( +/obj/structure/table/reinforced, +/obj/machinery/chemical_dispenser/bar_soft/full, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Xh" = ( +/obj/structure/table/reinforced, +/obj/machinery/chemical_dispenser/bar_alc/full, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Xi" = ( +/turf/unsimulated/wall, +/area/centcom/simulated/bar) +"Xj" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/firstaid/surgery, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Xk" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/glass, +/turf/unsimulated/floor/steel{ + icon_state = "white" }, -/area/skipjack_station) -"Xt" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/launcher/spikethrower, -/turf/unsimulated/floor{ - icon_state = "asteroid" +/area/centcom/simulated/medical) +"Xl" = ( +/turf/unsimulated/map/edge, +/area/overmap) +"Xm" = ( +/obj/machinery/door/firedoor, +/turf/unsimulated/floor/steel{ + icon_state = "white" }, -/area/skipjack_station) -"Xu" = ( -/obj/machinery/door/morgue, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 +/area/centcom/simulated/medical) +"Xn" = ( +/obj/structure/sign/greencross, +/turf/unsimulated/wall, +/area/centcom/simulated/medical) +"Xp" = ( +/obj/structure/toilet{ + dir = 8 }, -/area/ninja_dojo/dojo) -"XF" = ( -/obj/item/weapon/gun/launcher/spikethrower, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" +/obj/machinery/light/small{ + dir = 4 }, -/area/skipjack_station) -"XG" = ( -/obj/item/weapon/tool/wrench, -/obj/item/weapon/mop, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"XI" = ( -/mob/living/simple_mob/animal/passive/tindalos, -/turf/simulated/shuttle/floor/black, -/area/skipjack_station/start) -"XL" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - tiles = 0 +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/bathroom) +"Xr" = ( +/obj/structure/bed/chair, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 }, -/obj/effect/step_trigger/teleporter/random{ - affect_ghosts = 1; - name = "escapeshuttle_leave"; - teleport_x = 25; - teleport_x_offset = 245; - teleport_y = 25; - teleport_y_offset = 245; - teleport_z = 6; - teleport_z_offset = 6 +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Xs" = ( +/obj/machinery/computer/card{ + dir = 4 }, -/turf/simulated/mineral, -/area/space) +/obj/item/device/radio/intercom{ + broadcasting = 0; + dir = 1; + frequency = 1475; + icon_state = "intercom"; + listening = 1; + name = "Station Intercom (Security)"; + pixel_x = 0; + pixel_y = 27 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Xv" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Xw" = ( +/obj/structure/bed/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Xx" = ( +/obj/machinery/computer/security{ + dir = 8 + }, +/obj/machinery/camera/network/crescent, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Xy" = ( +/obj/structure/table/standard, +/obj/item/stack/nanopaste, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Xz" = ( +/obj/effect/floor_decal/industrial/loading, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XA" = ( +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XB" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/sink{ + dir = 4; + icon_state = "sink"; + pixel_x = 12; + pixel_y = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XC" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"XD" = ( +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"XE" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/centcom/simulated/terminal) +"XH" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"XJ" = ( +/obj/structure/table/glass, +/obj/item/device/healthanalyzer/improved, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XK" = ( +/obj/structure/table/glass, +/obj/machinery/computer/med_data{ + icon_keyboard = "laptop_key"; + icon_screen = "medlaptop"; + icon_state = "laptop"; + light_color = "#00b000" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XM" = ( +/obj/structure/table/glass{ + desc = "It's a table, it has some scracthes..they say 'Mlem'." + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XN" = ( +/obj/structure/table/glass, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) "XO" = ( /obj/structure/signpost, /turf/unsimulated/beach/sand, /area/beach) -"XT" = ( -/obj/structure/urinal{ - pixel_y = 32 +"XP" = ( +/obj/machinery/oxygen_pump/anesthetic, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XQ" = ( +/obj/machinery/optable, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1" }, -/obj/item/weapon/soap/syndie, -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XR" = ( +/obj/machinery/computer/operating{ + dir = 4 }, -/area/skipjack_station) -"XW" = ( -/obj/structure/table/rack, -/obj/item/clothing/mask/breath, -/obj/machinery/light/small{ - dir = 8 +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XS" = ( +/obj/structure/closet/crate/freezer, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/obj/item/weapon/reagent_containers/blood/OMinus, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"XU" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 }, -/obj/random/multiple/voidsuit, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"XV" = ( +/obj/machinery/turretid/stun{ + check_access = 0; + check_anomalies = 0; + check_records = 0; + check_synth = 0; + check_weapons = 0; + control_area = "\improper CentCom Security Arrivals"; + pixel_x = 32; + req_access = list(101); + req_one_access = list(101) + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"XX" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) "XY" = ( /obj/structure/closet, /turf/unsimulated/beach/sand, /area/beach) -"Yd" = ( -/obj/structure/bed/padded, -/obj/item/weapon/bedsheet/green, -/turf/unsimulated/floor{ - icon_state = "wood" - }, -/area/skipjack_station) -"Ye" = ( -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/ninja_dojo/dojo) -"Yf" = ( -/obj/structure/table/rack, -/obj/item/weapon/material/harpoon, -/obj/item/weapon/tank/oxygen, -/obj/item/weapon/tank/oxygen, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/shoes/magboots, -/obj/random/rigsuit, -/obj/random/multiple/voidsuit, -/obj/random/multiple/voidsuit, -/obj/random/energy, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Yi" = ( -/turf/unsimulated/floor{ - icon_state = "freezerfloor"; - dir = 2 - }, -/area/ninja_dojo/dojo) -"Yj" = ( -/obj/structure/shuttle/engine/propulsion{ - icon_state = "burst_l" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry{ - dir = 1 - }, -/area/supply/dock) -"Yn" = ( -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Yp" = ( -/obj/structure/table/wooden_reinforced, -/obj/machinery/recharger{ - pixel_y = 0 - }, -/turf/unsimulated/floor{ - dir = 8; - icon_state = "wood" - }, -/area/ninja_dojo/dojo) -"Yq" = ( -/obj/structure/grille, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/blast/regular{ - id = "skipjackshutters"; - name = "Skipjack Blast Shielding" - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Yz" = ( -/obj/structure/table/steel_reinforced, -/obj/item/weapon/storage/toolbox/syndicate{ +"XZ" = ( +/obj/structure/bed/chair/office/dark, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Ya" = ( +/obj/machinery/camera/network/crescent, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yb" = ( +/obj/structure/table/glass, +/obj/item/weapon/paper_bin{ pixel_x = -1; pixel_y = 3 }, -/obj/random/tech_supply, -/turf/unsimulated/floor{ - icon_state = "dark" +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yc" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yg" = ( +/obj/structure/sign/department/operational, +/turf/unsimulated/wall, +/area/centcom/simulated/medical) +"Yh" = ( +/obj/effect/floor_decal/industrial/loading{ + dir = 1 }, -/area/ninja_dojo/dojo) -"YA" = ( -/obj/structure/bed/chair/office/dark, -/turf/unsimulated/floor{ - icon_state = "dark" +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yj" = ( +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 9 }, -/area/ninja_dojo/dojo) -"YS" = ( -/obj/machinery/teleport/hub, -/obj/effect/floor_decal/industrial/hatch/yellow, -/turf/simulated/shuttle/plating, -/area/ninja_dojo/start) -"YX" = ( -/obj/machinery/light/small{ - dir = 8 +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/tank/air{ - dir = 1; - start_pressure = 740 - }, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Za" = ( -/obj/machinery/access_button{ - command = "cycle_exterior"; - frequency = 1331; - master_tag = "vox_east_control"; - req_access = list(150) - }, -/turf/simulated/wall/skipjack, -/area/skipjack_station/start) -"Zm" = ( -/obj/machinery/optable, -/turf/simulated/shuttle/floor/white, -/area/skipjack_station/start) -"Zo" = ( -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 8 - }, -/obj/machinery/meter, -/turf/simulated/shuttle/plating, -/area/skipjack_station/start) -"Zu" = ( -/obj/machinery/light/small, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"Zv" = ( -/obj/item/weapon/ore, -/obj/structure/reagent_dispensers/beerkeg, -/turf/unsimulated/floor{ - icon_state = "white" - }, -/area/skipjack_station) -"ZA" = ( -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"ZB" = ( -/turf/simulated/shuttle/wall/voidcraft/hard_corner, -/area/ninja_dojo/start) -"ZI" = ( -/obj/structure/table/rack, -/obj/item/weapon/gun/energy/darkmatter, -/obj/item/weapon/gun/energy/darkmatter, -/turf/unsimulated/floor{ - icon_state = "plating"; - name = "plating" - }, -/area/skipjack_station) -"ZL" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - tiles = 0 - }, -/obj/effect/step_trigger/teleporter/random{ - affect_ghosts = 1; - name = "escapeshuttle_leave"; - teleport_x = 25; - teleport_x_offset = 245; - teleport_y = 25; - teleport_y_offset = 245; - teleport_z = 6; - teleport_z_offset = 6 - }, -/obj/effect/step_trigger/teleporter/random{ - affect_ghosts = 1; - name = "escapeshuttle_leave"; - teleport_x = 25; - teleport_x_offset = 245; - teleport_y = 25; - teleport_y_offset = 245; - teleport_z = 6; - teleport_z_offset = 6 - }, -/turf/simulated/mineral, -/area/space) -"ZR" = ( -/obj/machinery/door/airlock/hatch{ - req_access = list(150) - }, -/turf/simulated/shuttle/floor/darkred, -/area/skipjack_station/start) -"ZY" = ( -/obj/effect/decal/cleanable/cobweb2{ - icon_state = "cobweb1" - }, -/turf/unsimulated/floor{ - icon_state = "steel" - }, -/area/skipjack_station) -"ZZ" = ( -/obj/structure/lattice, -/obj/structure/window/reinforced{ +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yk" = ( +/obj/structure/medical_stand, +/obj/machinery/light{ + icon_state = "tube1"; dir = 4 }, -/turf/space, -/area/space) +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yl" = ( +/obj/machinery/door/airlock/security{ + name = "Security" + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Ym" = ( +/obj/machinery/vending/medical, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yo" = ( +/obj/structure/closet/secure_closet/medical2, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yr" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Ys" = ( +/obj/machinery/recharger/wallcharger{ + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Yt" = ( +/obj/effect/floor_decal/rust, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/evac) +"Yu" = ( +/obj/machinery/camera/network/crescent, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Yv" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + req_access = list(5) + }, +/obj/machinery/door/firedoor/multi_tile, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yw" = ( +/obj/machinery/door/airlock/medical{ + name = "Operating Theatre"; + req_access = list(45) + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Yx" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Yy" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"YB" = ( +/obj/structure/table/standard, +/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ + pixel_x = 7; + pixel_y = 1 + }, +/obj/item/weapon/tool/wrench, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YC" = ( +/obj/machinery/atmospherics/unary/cryo_cell, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YD" = ( +/obj/machinery/atmospherics/unary/freezer, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YE" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"YF" = ( +/obj/structure/table/glass, +/obj/item/device/defib_kit/loaded, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YG" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/living) +"YH" = ( +/obj/structure/table/glass, +/obj/item/weapon/storage/pill_bottle/spaceacillin, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YI" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/melee/baton/loaded, +/obj/item/weapon/gun/energy/taser, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"YJ" = ( +/obj/structure/closet/secure_closet/nanotrasen_security, +/obj/item/weapon/storage/box/handcuffs, +/obj/item/weapon/gun/energy/gun, +/obj/item/weapon/shield/riot, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"YK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YL" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YM" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YO" = ( +/obj/machinery/computer/transhuman/designer{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YP" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/oxygen/prechilled, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YQ" = ( +/obj/structure/table/glass, +/obj/machinery/chemical_dispenser/full, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YR" = ( +/turf/unsimulated/floor/steel, +/area/centcom/simulated/main_hall) +"YT" = ( +/obj/machinery/chem_master, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YU" = ( +/obj/structure/table/glass, +/obj/machinery/chemical_dispenser/ert, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YV" = ( +/obj/machinery/transhuman/synthprinter, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YW" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YY" = ( +/obj/machinery/bodyscanner{ + dir = 8 + }, +/obj/effect/floor_decal/corner_steel_grid{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"YZ" = ( +/obj/machinery/body_scanconsole, +/obj/effect/floor_decal/corner_steel_grid{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zb" = ( +/obj/machinery/sleep_console{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zc" = ( +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zd" = ( +/obj/machinery/computer/transhuman/resleeving{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Ze" = ( +/obj/machinery/transhuman/resleever, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zf" = ( +/obj/structure/filingcabinet/chestdrawer{ + name = "Medical Forms" + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zg" = ( +/obj/machinery/clonepod/transhuman/full, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zh" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/reagent_containers/food/drinks/flask/barflask, +/obj/item/weapon/reagent_containers/glass/rag, +/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"Zi" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/centcom/simulated/main_hall) +"Zj" = ( +/obj/structure/table/standard, +/obj/item/device/healthanalyzer, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zk" = ( +/obj/structure/table/reinforced, +/obj/item/device/camera, +/obj/item/weapon/storage/box/ids, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Zl" = ( +/obj/structure/table/glass, +/obj/item/weapon/backup_implanter{ + pixel_y = -8 + }, +/obj/item/weapon/backup_implanter{ + pixel_y = 8 + }, +/obj/item/weapon/backup_implanter, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zn" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zp" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/book/manual/security_space_law, +/obj/item/weapon/book/manual/security_space_law, +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Zq" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zr" = ( +/obj/structure/table/standard, +/obj/machinery/light, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zs" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Zt" = ( +/obj/effect/floor_decal/corner_steel_grid/diagonal, +/obj/effect/floor_decal/corner_steel_grid/diagonal{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/danger{ + dir = 8 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/centcom/simulated/terminal) +"Zw" = ( +/obj/structure/table/reinforced, +/obj/item/weapon/storage/box/donkpockets, +/obj/item/weapon/storage/box/donkpockets, +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/centcom/simulated/security{ + name = "\improper CentCom Security Arrivals" + }) +"Zx" = ( +/obj/structure/table/glass, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/item/weapon/reagent_containers/glass/beaker/large, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zy" = ( +/obj/structure/table/glass, +/obj/item/weapon/storage/firstaid/adv, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"Zz" = ( +/obj/structure/table/glass, +/obj/item/weapon/reagent_containers/glass/bottle/biomass{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/weapon/reagent_containers/glass/bottle/biomass{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/weapon/reagent_containers/glass/bottle/biomass{ + pixel_x = 3; + pixel_y = 5 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/centcom/simulated/medical) +"ZA" = ( +/obj/machinery/telecomms/relay/preset/centcom/tether/base_low, +/turf/unsimulated/floor/steel, +/area/centcom/control) +"ZC" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) +"ZD" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/drinks/bottle/grenadine, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/centcom/simulated/bar) +"ZE" = ( +/obj/machinery/light, +/turf/simulated/floor/wood, +/area/centcom/simulated/restaurant) (1,1,1) = {" -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq ap ap ap @@ -12902,97 +4928,145 @@ ap ap ap ap -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Qw -Qw -Nz -Nz -Nz -Nz -Nz -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -XL -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl "} (2,1,1) = {" -aq -uc -uc -uc -uc -uc -uc -uc -uc -uc -uc -uc ap -aq +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq ap ap ap @@ -13044,117 +5118,97 @@ ap ap ap ap -Nz -Wy -JE -xf -Nz -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -Bg -Bg -OK -Fw -Ac -DC -HD -ar -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -Af +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (3,1,1) = {" -aq -uc -ue -ue -uf -ue -ue -ue -uf -ue -ue -uc ap -aq -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +ap +Gq +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Ax +JW +JW +Gq ap ap ap @@ -13186,59 +5240,6 @@ ap ap ap ap -Nz -BC -JE -xf -Nz -yM -yM -yM -CG -yM -yM -vs -yM -yM -yM -yM -yM -yM -Nz -Bg -Bg -QC -xf -xf -YA -Ow -ar -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap @@ -13251,43 +5252,111 @@ ap ap ap ap -ap -aB +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl ap ap -ap -ap -ap -ap -Af +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (4,1,1) = {" -aq -uc -uf -uf -uf -uf -uf -uf -uf -uf -uf -uc ap -aq -gp +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV ap +Gq +Nt +VC +Gw +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap ap ap ap -iE -kw -kM -iE ap ap ap @@ -13296,7 +5365,6 @@ ap ap ap ap -gp ap ap ap @@ -13326,111 +5394,110 @@ ap ap ap ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl ap ap -Nz -QZ -JE -xf -Nz -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -Bg -Bg -OK -Pi -yv -Yz -Ji -ar -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -ap -ap -ap -ap -Af +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (5,1,1) = {" -aq -uc -ue -ue -uf -ue -ue -ue -uf -ue -ue -uc ap -aq -gp +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap +Gq +Nt +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap ap ap -iE -iE -kx -kN -iE -iE ap ap ap @@ -13438,7 +5505,6 @@ ap ap ap ap -gp ap ap ap @@ -13470,109 +5536,110 @@ ap ap ap ap -Nz -Nz -QC -Nz -Nz -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -CG -yM -yM -OK -Bg -Bg -Nz -Nz -Nz -Nz -Nz -ar -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -ap -ap -ap -ap -Af +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (6,1,1) = {" -aq -uc -uf -uf -uf -uf -ug -uf -uf -uf -uf -uc ap -aq -gp +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap +Gq +Nt +XO +VC +VC +VC +VC +VC +VC +VC +VC +Ts +BD +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap ap ap -kh -kn -jH -kO -kZ -lj ap ap ap @@ -13580,7 +5647,6 @@ ap ap ap ap -gp ap ap ap @@ -13609,112 +5675,113 @@ ap ap ap ap -Nz -Nz -Nz -Nz -Bg -Bg -Bg -Nz -Nz -Nz -Nz -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -OK -Bg -Bg -HX -OK -Ye -Ye -Ew -ar -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -ap -ap -ap -Af +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (7,1,1) = {" -aq -uc -ue -ue -uf -ue -ue -ue -uf -ue -ue -uc ap -aq -gp +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap +Gq +Nt +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +Ts +VC +Nj +wZ +Az +Bw +JW +Gq ap ap ap ap ap -ki -ko -ky -jH -la -lk ap ap ap @@ -13722,7 +5789,6 @@ ap ap ap ap -gp ap ap ap @@ -13751,112 +5817,113 @@ ap ap ap ap -Nz -WY -FM -IL -Bg -Bg -Bg -Bg -Bg -wA -Nz -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -OK -Bg -Bg -Bg -uZ -Ye -Ye -At -ar -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -ap -ap -Af +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (8,1,1) = {" -aq -ud -uf -uf -uf -uf -uf -uf -uf -uf -uf -ud ap -aq -gp +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap +Gq +Nt +VC +VC +VC +VC +BD +VC +TG +TG +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap ap ap -iE -iE -iE -kP -iE -iE ap ap ap @@ -13864,7 +5931,6 @@ ap ap ap ap -gp ap ap ap @@ -13893,112 +5959,113 @@ ap ap ap ap -Nz -Bg -Bg -Bg -Bg -Bg -Bg -Bg -Bg -wA -Nz -RU -yM -yM -yM -yM -yM -yM -yM -yM -yM -OK -Bg -Bg -Bg -OK -Ye -Ye -FX -ar -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap +Xl +OY +OY +OY +OY +sF +OY +OY +OY +OY +Xl ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -ap -ap -Af +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (9,1,1) = {" -aq -bc -bc -bc -bQ -cs -bc -cs -dh -bc -bc -bc ap -aq -gp +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV ap +Gq +Nt +VC +VC +VC +VC +Ts +TG +Fa +Dw +TG +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap ap ap -iE -kp -kz -jg -lb -iE ap ap ap @@ -14006,7 +6073,6 @@ ap ap ap ap -gp ap ap ap @@ -14035,120 +6101,108 @@ ap ap ap ap -Nz -Bg -Bg -Te -He -He -He -Ly -Bg -wA -Nz -xW -xW -xW -xW -xW -xW -xW -xW -xW -xW -Nz -Bg -Bg -Bg -Nz -Nz -Nz -Nz -ar -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -JX -JX -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -ap -ap -ap -Af +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (10,1,1) = {" -aq -bc -bn -by -bR -bn -cO -bn -di -by -bc -bc -Yj -aq -gp ap -iE -je -ju -iE +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV ap -iE -iE -iC -jg -lc -iE -ap -iE -lG -lS -iE -ap -ap -gp +Gq +Nt +XY +VC +VC +VC +VC +TG +Tn +Ik +TG +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -14177,69 +6231,6 @@ ap ap ap ap -Nz -TO -Bg -AF -FV -FV -FV -Dd -Bg -Bg -OK -Ra -Ra -Ra -Ra -Ra -Ra -Ra -Ra -Ra -Ra -OK -Bg -Bg -Bg -Bg -Bg -Bg -Qw -ar -Id -Id -Id -aB -aB -aB -aB -aB -aB -aB -aB -aB -Wf -Wf -Wf -Wf -Wf -ZZ -ZZ -ZZ -JX -JX -JX -JX -JX -JX -JX -xV -vG -Aw -JX -JX -JX ap ap ap @@ -14253,44 +6244,107 @@ ap ap ap ap -Af +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (11,1,1) = {" -aq -bc -bn -bn -bR -bn -bn -bn -di -bn -bn -dE -AJ -aq -gp -iE -iC -jf -jv -iE ap -iE -kq -iE -jg -ld -iE +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +IR +IR +IR +IR +IR +IR +IR +IR +IR +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV ap -iE -jW -jg -iC -iE -ap -gp +Gq +Nt +XY +VC +VC +VC +VC +VC +TG +TG +VC +VC +VC +FH +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -14319,69 +6373,6 @@ ap ap ap ap -Nz -FN -Bg -AF -FV -FV -FV -Dd -Bg -Bg -AP -Jk -Jk -Jk -Jk -Jk -Jk -Jk -Jk -Jk -Jk -AP -Bg -Bg -Bg -Bg -Bg -Bg -Nz -Wf -Id -EZ -Id -Id -aB -Wf -Wf -Wf -Wf -Wf -Wf -Wf -Wf -Tw -Tw -Bd -Tw -IM -yw -IM -PQ -WM -Zo -Wr -JY -CE -CE -CE -Av -Av -YX -Gz -Oo ap ap ap @@ -14395,44 +6386,107 @@ ap ap ap ap -Af +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (12,1,1) = {" -aq -bc -bn -bn -bR -bn -bn -bn -di -bn -bn -dE -AJ -aq -gp -iE -iS -jg -jw -iE ap -iE -kr -kA -jg -le -iE +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +Oj +Cn +Cn +Cn +Cn +Cn +Cn +Cn +IR +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV ap -iE -lI -jg -mg -iE -ap -gp +Gq +Nt +XY +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -14461,69 +6515,6 @@ ap ap ap ap -Nz -TO -Bg -AF -FV -FV -FV -Dd -Bg -Bg -OK -KX -KX -KX -KX -KX -KX -KX -KX -Jk -Jk -OK -IP -Bg -Bg -Bg -Bg -Bg -Qw -Wf -Id -EZ -EZ -Id -Id -Wf -Be -vI -Vx -vI -EH -Wf -ZY -Tw -Tw -Tw -Bd -IM -xG -IM -Wn -Cg -PY -JX -Yf -xt -xt -xt -xt -xt -Bi -Gz -Oo ap ap ap @@ -14537,44 +6528,107 @@ ap ap ap ap -Af +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (13,1,1) = {" -aq -bc -bn -bn -bn -bn -bn -bn -bn -bn -bn -dE -AJ -aq -gp -iE -iT -jg -jx -iE ap -iE -ks -iE -kQ -lf -iE +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +Oj +Cn +Cn +Cn +Kj +Cn +Cn +Cn +IR +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV ap -iE -lJ -jg -mh -iE -ap -gp +Gq +Nt +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +TF +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -14603,69 +6657,6 @@ ap ap ap ap -Nz -Bg -Bg -Fs -SL -SL -SL -Hf -Bg -wA -Nz -WX -WX -WX -WX -WX -WX -WX -WX -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Bg -Bg -Nz -Wf -EZ -EZ -EZ -EZ -Id -Wf -Wx -Vx -yD -Vx -Wx -Wf -Tw -Tw -Tw -Wf -Wf -Gx -Gx -Gx -JX -JX -JX -JX -JX -OF -xt -xt -Lm -xt -Bi -JX -JX ap ap ap @@ -14679,44 +6670,107 @@ ap ap ap ap -Af +ap +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (14,1,1) = {" -aq -bc -bn -bz -bn -bn -bn -bn -bn -bz -bc -bc -Ip -aq -gp -iE -iE -jh -iE -iE -iE -iE -iC -kB -jg -jg -iE -iE -iE -iE -lT -iE -iE ap -gp +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +Oj +Cn +Cn +Cn +Cn +Cn +Cn +Cn +IR +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV +ap +Gq +Nt +VC +VC +VC +VC +VC +VC +VC +BD +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -14745,73 +6799,6 @@ ap ap ap ap -Nz -Bg -Bg -Bg -Bg -Bg -Bg -Bg -Ng -wA -Nz -RU -yM -yM -yM -yM -yM -yM -yM -Nz -Yp -Bg -Bg -Bg -BE -OK -Bg -Bg -Nz -Wf -Wf -RN -Ww -Wf -Wf -Wf -uX -vI -Vx -vI -AY -Wf -Tw -Tw -Tw -zv -ap -ap -ap -ap -ap -ap -ap -ap -JX -LJ -xt -xt -DF -JX -JX -JX -JX -JX -JX -JX -JX ap ap ap @@ -14821,44 +6808,111 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (15,1,1) = {" -aq -bc -bc -bc -bc -bc -bc -bc -bc -bc -bc -bc ap -aq -gp -iE -iU -jg -jg -iE -iE -iE -iE -iE -jg -lg -iC -iE -jg -jg -jg -mi -iE +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +ya +Cn +Cn +Cn +Cn +Cn +Cn +Cn +IR +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV ap -gp +Gq +Nt +XY +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +TF +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -14887,73 +6941,6 @@ ap ap ap ap -Nz -Hq -Bg -Bg -Bg -Bg -Bg -Bg -Bg -wA -Nz -yM -yM -yM -yM -yM -CG -yM -yM -OK -Bg -Bg -wA -Bg -Bg -Nz -Bg -Bg -Nz -Wf -uY -Tw -EZ -vt -Tw -Wf -Wx -Vx -Vx -Vx -Wx -Wf -Bd -Tw -Tw -zv -ap -ap -ap -ap -ap -ap -ap -ap -JX -KZ -Wa -xt -xt -WG -Ak -Ak -IW -Ak -Ak -JX -JX ap ap ap @@ -14963,44 +6950,111 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (16,1,1) = {" -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq -aq -gp -iE -iV -jg -jg -jM -iE -kj -kt -kC -jg -jg -ll -iE -lv -jg -jg -jg -iE ap -gp +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +ya +Cn +Cn +Cn +Cn +Cn +Cn +Cn +IR +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV +ap +Gq +Nt +XY +VC +VC +VC +VC +VC +VC +No +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -15025,78 +7079,6 @@ ap ap ap ap -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Bg -Bg -Bg -Nz -Nz -Nz -Nz -yM -yM -yM -yM -yM -yM -yM -yM -OK -Bg -wA -VH -yf -Bg -Bh -Bg -Bg -Nz -Wf -uY -Tw -Tw -Tw -Tw -Wf -Yd -vI -Vx -Po -Dk -Wf -Bd -Bd -Tw -zv -ap -ap -ap -ap -ap -ap -JX -JX -JX -JX -JX -ZR -JX -JX -we -Ak -Mq -XI -Ak -vu -JX -JX ap ap ap @@ -15105,44 +7087,116 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (17,1,1) = {" -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -iI -iW -ji -jy -jg -jY -jg -jg -jH -jH -jg -jg -jY -jg -ji -lU -mj -lX ap -gp +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +IR +IR +IR +IR +IR +IR +IR +IR +IR +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV +ap +Gq +Nt +XY +VC +Ts +Gw +VC +VC +VC +VC +VC +VC +VC +aa +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -15167,79 +7221,6 @@ ap ap ap ap -Nz -PI -PI -PI -QU -yM -yM -Nz -Nz -zT -Nz -Nz -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -OK -Bg -Bg -wA -Bg -Bg -Nz -Bg -Bg -Nz -Wf -IC -Tw -Tw -Tw -Tw -Wf -Nk -LY -Tg -AV -Wx -Wf -Wf -Wf -vZ -Wf -Wf -Wf -ap -ap -JX -JX -JX -JX -Hg -KL -Yn -ZA -zn -JX -Ak -Ak -Ak -Ak -Ec -Ak -JX -JX -JX ap ap ap @@ -15247,44 +7228,117 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (18,1,1) = {" -gp -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu ap +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV ap -ap -ap -iJ -iX -jj -jz -jg -jg -jg -jH -jH -jH -jH -jg -jg -jg -lK -lV -mk -lY -ap -gp +Gq +Nt +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -15309,79 +7363,6 @@ ap ap ap ap -Nz -PI -QU -QU -yM -vs -yM -OK -EA -EA -EA -OK -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -Jv -Bg -Bg -Bg -Jv -OK -Bg -Bg -Nz -Wf -Wf -Wf -Ig -Wf -Wf -Wf -Wf -Wf -ND -Wf -Wf -Wf -EX -EX -EX -EX -Rn -Wf -ap -ap -ap -xL -PX -Ai -ZA -ZA -pF -ZA -vK -JX -SU -RB -Yq -JX -JX -JX -JX -Gz -Oo ap ap ap @@ -15389,44 +7370,117 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (19,1,1) = {" -gp -gu -gv -gv -gv -gu -ht -gu -hM -hM -gu ap +Lz +RV +RV +Lz +Lz +Lz +Lz +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Cn +Lz +Lz +Lz +Lz +RV +Lz +RV ap -ap -ap -iK -iY -jk -jk -jN -iE -jg -jH -kD -kR -jH -jg -iE -ly -lL -lW -ml -lZ -ap -gp +Gq +Nt +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -15451,79 +7505,6 @@ ap ap ap ap -Nz -PI -QU -yM -yM -yM -yM -OK -EA -EA -EA -OK -yM -vs -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Bg -Bg -Nz -Wf -ZY -Tw -Tw -Tw -Tw -Tw -Tw -Tw -Tw -Tw -Bd -zv -EX -EX -Wg -Wg -EX -zv -ap -ap -ap -Qb -DO -ZA -ZA -ZA -MQ -ZA -ZA -NT -EN -EN -Zu -JX -Jg -Kh -zs -Gz -Oo ap ap ap @@ -15531,44 +7512,117 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (20,1,1) = {" -gp -gu -gw -gC -gC -gu -hu -gu -hH -hH -gu ap +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap -ap -ap -iE -iE -iE -iE -iE -iC -jg -jH -kE -kS -jH -jg -iC -iE -iE -iE -iE -iE -ap -gp +Gq +Nt +VC +VC +VC +VC +VC +VC +VC +VC +VC +Gw +Ts +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -15593,79 +7647,6 @@ ap ap ap ap -Nz -PI -QU -yM -vs -yM -yM -Nz -Nz -zT -Nz -Nz -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -OK -Cj -Bg -Bg -Nz -Bg -Bg -Nz -Wf -Tw -Tw -Tw -Tw -Tw -Tw -Tw -Tw -Tw -Tw -Tw -vZ -EX -CK -PL -Lb -SM -zv -ap -ap -ap -Qb -Ge -OH -ZA -ZA -ZR -ZA -ZA -Xo -QT -Gk -ZA -EF -UB -UB -VA -Gz -Oo ap ap ap @@ -15673,44 +7654,117 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (21,1,1) = {" -gp -gu -gx -gC -gC -gC -gC -hG -hH -hS -gu ap +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap -ap -ap -ap -iE -iE -jA -jO -jZ -kk -jH -kF -kT -jH -jV -lp -lz -lM -iE -iE -ap -ap -gp +Gq +Nt +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -15735,79 +7789,6 @@ ap ap ap ap -Nz -PI -yM -yM -yM -yM -yM -yM -Jc -Ns -Jc -Jc -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -FQ -xX -Bg -Bh -Bg -Bg -Nz -Wf -Tw -Ue -Tw -Tw -Tw -Tw -Tw -Tw -Tw -Tw -Tw -zv -EX -EX -LQ -LQ -EX -zv -ap -ap -ap -Qb -FE -ZA -ZA -ZA -Yn -ZA -ZA -Pw -yI -yI -Zu -JX -Ix -wE -vX -Gz -Oo ap ap ap @@ -15815,44 +7796,117 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +sF +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (22,1,1) = {" -gp -gu -gy -gC -hh -hh -gC -hH -hH -hT -gu ap +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap -ap -ap -ap -ap -iI -jB -jP -ka -jg -jH -kG -kU -jH -jg -lq -lA -lN -lX -ap -ap -ap -gp +Gq +Nt +VC +WD +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +VC +wZ +Az +Bw +JW +Gq ap ap ap @@ -15877,79 +7931,6 @@ ap ap ap ap -Nz -PI -vs -yM -yM -yM -yM -Jc -Jc -Db -St -ZB -Jc -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -Nz -Nz -Nz -Nz -Bg -Bg -Bg -Wf -Wf -Np -Wf -Wf -Wf -Ny -Wf -Wf -Wf -Tw -Tw -Wf -Rb -EX -EX -EX -EX -Wf -ap -ap -ap -LN -Pt -qK -ZA -ZA -pF -ZA -OZ -JX -SU -RB -Yq -JX -JX -JX -JX -Gz -Oo ap ap ap @@ -15957,44 +7938,117 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (23,1,1) = {" -gp -gu -gz -gC -gC -gC -gC -gu -hH -hH -gu ap +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap -ap -ap -ap -ap -iJ -jC -jQ -kb -jg -jH -ag -ah -jH -jg -lr -lB -lO -lY -ap -ap -ap -gp +Gq +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Nt +Ax +JW +JW +Gq ap ap ap @@ -16019,79 +8073,6 @@ ap ap ap ap -Nz -PI -yM -yM -yM -yM -yM -wQ -ZB -Jc -Un -ZB -ZB -Jc -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -FQ -xX -Bg -Bh -Bg -Bg -Bg -Wf -Id -Id -SI -Fl -Ju -QB -QB -OQ -Wf -Tw -Tw -Wf -Wf -Wf -vZ -Wf -Wf -Wf -ap -ap -JX -JX -JX -Sy -Hg -KL -MQ -ZA -BN -JX -Bo -TL -TL -Zm -TL -Ab -JX -JX -JX ap ap ap @@ -16099,44 +8080,117 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (24,1,1) = {" -gp -gu -gA -gT -hi -gC -gC -gu -hN -hN -gu ap +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV ap -ap -ap -ap -ap -iK -jD -jR -kc -jg -jH -kI -kW -jH -jg -ls -lC -lP -lZ -ap -ap -ap -gp +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq +Gq ap ap ap @@ -16161,78 +8215,6 @@ ap ap ap ap -Nz -PI -yM -Jc -Jc -Jc -Jc -Jc -Ir -Sc -vY -KH -MB -Jc -Jc -yM -yM -yM -yM -yM -yM -yM -vs -yM -yM -OK -ya -Bg -Bg -Nz -Bg -Bg -Hq -ar -aB -Id -uU -QB -QB -QB -QB -DZ -Wf -Tw -Tw -Wf -wU -Tw -Tw -zv -ap -ap -ap -ap -ap -ap -JX -JX -JX -JX -JX -ZR -JX -JX -Es -TL -TL -TL -TL -Sv -JX -JX ap ap ap @@ -16241,44 +8223,95 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (25,1,1) = {" -gp -gu -gu -gu -gu -gC -gC -gu -gu -gu -gu ap -ap -ap -ap -ap -iE -iE -jE -jS -kd -jg -jH -kJ -kX -jH -jg -lt -lD -lQ -iE -iE -ap -ap -gp +Lz +RV +RV +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +Lz +RV +Lz +RV ap ap ap @@ -16303,77 +8336,6 @@ ap ap ap ap -Nz -PI -yM -yM -yM -yM -wQ -Jc -KN -Je -wi -wi -wi -vq -wb -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -Nz -Nz -Nz -Nz -Bg -Bg -IA -ar -aB -Id -Id -Zv -QB -QB -QB -DM -Wf -Tw -Tw -Wf -Tw -Tw -Tw -zv -ap -ap -ap -ap -ap -ap -ap -ap -JX -UL -XW -xt -xt -VT -TL -Od -UO -Jz -HJ -JX -JX ap ap ap @@ -16383,44 +8345,115 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (26,1,1) = {" -gp -gu -gB -gU -hj -gC -gC -gC -gC -gC -gu ap -ap -ap -ap -iE -iE -iE -jF -jT -ke -iE -jH -jH -jH -jH -iE -jF -jT -ke -iE -iE -iE -ap -gp +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV +RV ap ap ap @@ -16445,77 +8478,6 @@ ap ap ap ap -Nz -PI -yM -yM -yM -yM -Ml -Jc -yl -Je -wi -wi -IG -xQ -HL -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -Ch -Cl -FF -Nz -Xu -Nz -Nz -ar -aB -aB -Id -Id -Np -Rp -IR -Wf -Wf -Tw -Tw -Wf -Tw -Tw -Tw -zv -ap -ap -ap -ap -ap -ap -ap -ap -JX -KT -xt -xt -zL -JX -JX -JX -JX -JX -JX -JX -JX ap ap ap @@ -16525,44 +8487,87 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (27,1,1) = {" -gp -gu -gC -gE -gE -gE -gE -gE -gE -gC -gu -gu -gu -gu -iC -iE -iC -jl -jG -jU -jU -iE -jg -jH -jH -jg -iE -lu -lE -lR -ma -iC -iE -iC -gp ap ap ap @@ -16587,73 +8592,6 @@ ap ap ap ap -Nz -PI -yM -yM -yM -yM -wQ -Jc -YS -Je -wi -wi -wi -xD -Gi -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -Yi -Yi -Yi -Yi -Yi -wq -Nz -ar -aB -aB -aB -Id -Id -Wf -Wf -Wf -Tw -Tw -Tw -Wf -Tw -Tw -Tw -Wf -Wf -ZZ -ZZ -ZZ -JX -JX -JX -JX -JX -NY -xt -wS -xt -Dx -Cf -JX -JX ap ap ap @@ -16667,44 +8605,144 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (28,1,1) = {" -gp -gu -gC -gE -hk -hk -hk -hk -gE -gC -gC -gC -gC -iy -iD -jg -am -jg -jH -jH -jH -kl -jH -jH -jH -jH -kl -jH -jH -jH -mb -mm -mq -ms -gp +ap +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy ap ap ap @@ -16729,73 +8767,6 @@ ap ap ap ap -Nz -PI -yM -Jc -Jc -Jc -Jc -Jc -wa -Cu -wi -vC -wv -Jc -Jc -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -QJ -Yi -Yi -Yi -Yi -Dg -Nz -ar -aB -aB -aB -Wf -Hm -Jp -Mx -Wf -Tw -Tw -Tw -Wf -xR -Bd -Tw -Tw -Tw -IM -yw -IM -Bj -IS -BH -JX -AZ -xt -HS -xt -QI -XG -Lz -Gz -Oo ap ap ap @@ -16809,44 +8780,111 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (29,1,1) = {" -gp -gu -gC -gE -hk -hk -hk -hk -gE -gC -gC -im -gC -iy -iD -iM -iD -jg -jH -jH -jg -jg -jg -jH -jH -jg -jg -jg -jH -jH -mc -mn -mr -mt -gp +ap +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy ap ap ap @@ -16871,73 +8909,6 @@ ap ap ap ap -Nz -PI -yM -yM -yM -yM -yM -wQ -ZB -wi -wi -ZB -ZB -Jc -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -ar -aB -aB -aB -Wf -XT -Xq -Xq -Ig -Tw -Tw -Wf -Wf -Wf -Bd -Bd -Tw -Tw -IM -xG -IM -Za -Li -FO -LT -JK -CE -CE -CE -CE -OX -yA -Gz -Oo ap ap ap @@ -16951,44 +8922,111 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (30,1,1) = {" -gp -gu -gC -gV -gV -gE -gE -gV -gV -gC -gu -gu -gu -gu -iC -iE -iC -jm -jg -jg -jM -iC -ku -kK -kY -lh -iC -lv -jg -jg -jg -iC -iE -iC -gp +ap +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy ap ap ap @@ -17013,73 +9051,6 @@ ap ap ap ap -Nz -PI -yM -yM -yM -yM -yM -Jc -Jc -ui -zb -ZB -Jc -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -ap -ap -ap -ap -ap -ap -ap -ar -aB -aB -aB -Wf -VW -Xq -Xq -Wf -Tw -Tw -Wf -Id -Wf -Wf -Wf -Wf -Wf -Gx -Gx -Gx -JX -JX -JX -JX -JX -JX -JX -xV -vG -Aw -JX -JX -JX ap ap ap @@ -17093,44 +9064,111 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (31,1,1) = {" -gp -gu -gC -gC -gC -gC -gC -gC -gC -gC -gu ap -ap -ap -ap -iE -iE -iE -jI -jI -iC -iE -kv -kL -jH -jg -iE -iC -lF -lF -iE -iE -iE -ap -gp +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy ap ap ap @@ -17155,72 +9193,6 @@ ap ap ap ap -Nz -PI -QU -QU -yM -yM -yM -yM -Jc -Jc -Jc -Jc -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -CG -yM -yM -Nz -ap -ap -ap -ap -ap -ap -ap -ar -aB -aB -aB -Wf -wj -MO -LH -Wf -Np -Tw -Wf -Id -Id -Id -Id -Id -Id -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -JX -JX ap ap ap @@ -17235,44 +9207,110 @@ ap ap ap ap -Af +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (32,1,1) = {" -gp -gu -gu -gu -gu -hr -hr -gu -gu -gu -gu ap -ap -ap -ap -ap -iI -jn -jg -jg -iE -km -jH -jH -jH -li -lm -iE -jg -jg -md -lX -ap -ap -gp +Hy +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +Hy ap ap ap @@ -17297,59 +9335,6 @@ ap ap ap ap -Nz -PI -QU -QU -QU -yM -yM -vs -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -ap -ap -ap -ap -ap -ap -ap -ar -aB -aB -aB -Wf -Wf -Wf -Wf -Wf -ND -JJ -Id -Id -Id -Id -aB -aB -aB -aB -aB ap ap ap @@ -17373,48 +9358,101 @@ ap ap ap ap +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Lw +Lw +Lw +Lw ap -aB -aB -ap -Af +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (33,1,1) = {" -gp -gu -gD -gW -gE -gE -gE -gE -gW -gD -gu ap -ap -ap -ap -ap -iK -jo -jg -jV -iE -km -jH -jH -jH -jH -ln -iE -kk -jg -me -lZ -ap -ap -gp +Hy +qH +qH +zv +qH +qH +qH +dz +IN +IN +IN +dz +IN +IN +IN +dz +IN +IN +IN +dz +IN +IN +IN +dz +IN +qH +qH +zv +qH +qH +tH +Mb ap ap ap @@ -17439,61 +9477,6 @@ ap ap ap ap -Nz -PI -QU -QU -QU -QU -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -ap -ap -ap -ap -ap -ap -ap -ar -aB -aB -aB -Wf -DK -PK -LI -Wf -Bd -Bd -EU -Id -Id -Id -Id -aB -aB -aB -aB -aB -aB ap ap ap @@ -17515,48 +9498,103 @@ ap ap ap ap -aB -aB -aB ap -Af +ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (34,1,1) = {" -gp -gu -gE -gE -gE -gE -gE -gE -gE -gE -gu ap -ap -ap -ap -iE -iC -jp -jg -cE -iC -iE -jg -jg -jg -jq -iE -iE -jg -jg -mf -iE -iE -ap -gp +Hy +iY +iY +iY +iY +iY +iY +wr +wr +iY +iY +iY +iY +iY +iY +FT +iY +iY +iY +iY +iY +iY +iY +vR +vR +iY +iY +iY +iY +iY +cC +Hy ap ap ap @@ -17581,61 +9619,6 @@ ap ap ap ap -Nz -PI -QU -QU -QU -QU -QU -yM -yM -yM -yM -vs -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -yM -Nz -ap -ap -ap -ap -ap -ap -ap -ar -aB -aB -aB -Wf -Uq -Np -Bk -Wf -Ms -EZ -Bd -yL -EZ -PS -Id -Id -aB -aB -aB -aB -aB ap ap ap @@ -17657,48 +9640,103 @@ ap ap ap ap -aB -aB -aB ap -Af +ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw +ap +Xl +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +OY +Xl "} (35,1,1) = {" -gp -gu -gD -gW -gE -gE -gE -gE -gD -gD -gu ap -ap -ap -iE -iE -iZ -jg -jg -jg -kf -iE -iE -iE -iE -iE -iE -jg -jg -jg -jg -mo -iE -iE -gp +Hy +Pq +Pq +Pq +Pq +Pq +Pq +Av +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +vi +Pq +Pq +Pq +Pq +Pq +vG +Hy ap ap ap @@ -17723,62 +9761,6 @@ ap ap ap ap -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -Nz -ap -ap -ap -ap -ap -ap -ap -ar -aB -aB -aB -Wf -Iy -xm -Pm -Mg -EZ -Ev -EZ -EZ -Uy -EZ -RX -Id -aB -aB -aB -aB -aB -aB ap ap ap @@ -17799,48 +9781,106 @@ ap ap ap ap -aB -aB ap ap -Af +ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw +ap +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl +Xl "} (36,1,1) = {" -gp -gu -gE -gE -gE -gE -gE -gE -gE -gE -gu ap +Hy +iY +iY +iY +iY +iY +iY +wr +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +vR +iY +iY +iY +iY +iY +cC +Hy ap ap -iE -iE -ja -jq -jJ -jg -kg -iE -iN -iN -iN -iN -iE -lw -jg -jg -jq -mp -iE -iE -gp ap ap ap @@ -17855,6 +9895,19 @@ ap ap ap ap +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu ap ap ap @@ -17873,6 +9926,30 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw ap ap ap @@ -17898,34 +9975,6 @@ ap ap ap ap -ar -aB -aB -aB -Wf -Tv -Np -iO -Mg -EZ -HN -EZ -EZ -HN -EZ -VG -Id -Id -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap @@ -17936,53 +9985,44 @@ ap ap ap ap -aB -aB ap -ap -ap -ap -ap -ap -ap -Af "} (37,1,1) = {" -gp -gu -gD -gW -gE -gE -gE -gE -gW -gD -gu ap +Hy +iY +iY +iY +iY +iY +iY +wr +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +vR +iY +iY +iY +iY +iY +cC +Hy ap ap -iE -iE -iE -iE -iE -iE -iE -iE -UK -BP -BP -Ci -iE -iE -iE -iE -iE -iE -iE -iE -gp ap ap ap @@ -17997,6 +10037,19 @@ ap ap ap ap +Vu +Ru +Ru +xM +Ru +Ru +Ru +Ru +xM +Ru +Ru +Ru +Vu ap ap ap @@ -18015,6 +10068,32 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw +ap +ap ap ap ap @@ -18040,91 +10119,58 @@ ap ap ap ap -ar -aB -aB -aB -Wf -Eo -Np -xm -Mg -Il -Xt -EZ -EZ -HN -EZ -EZ -AN -Id -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap ap -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap ap ap -Af "} (38,1,1) = {" -gp -gu -gE -gE -gE -gE -gE -gE -gE -gE -gu ap +Hy +iY +iY +iY +iY +iY +iY +mZ +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +vR +iY +iY +iY +iY +iY +cC +Hy ap ap -iE -iN -iN -iN -iN -iE -iE ap ap ap ap ap ap -iE -iE -iN -iN -iN -iN -iE -gp ap ap ap @@ -18133,6 +10179,19 @@ ap ap ap ap +Vu +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Vu ap ap ap @@ -18151,6 +10210,31 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +jf +JL +jf +jf +Hf +jf +jf +jf +JL +JL +jf +jf +jf +jf +Gs +Gs +Gs +Lw +ap ap ap ap @@ -18182,76 +10266,47 @@ ap ap ap ap -ar -aB -aB -aB -Wf -XF -Np -AA -Wf -EZ -EZ -SJ -Jt -ID -EZ -Id -EZ -Jq -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB ap ap ap ap -Af "} (39,1,1) = {" -gp -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu ap +Hy +iY +iY +iY +iY +iY +iY +mZ +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +vR +iY +iY +iY +iY +iY +cC +Hy ap ap -iE -UK -BP -BP -Ci -iE ap ap ap @@ -18260,19 +10315,25 @@ ap ap ap ap -iE -UK -BP -BP -Ci -iE -gp ap ap ap ap ap ap +Vu +YE +Ru +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Ru +Zi +Vu ap ap ap @@ -18291,6 +10352,33 @@ ap ap ap ap +Jz +jf +jf +JL +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +Gs +Gs +Gs +Lw +ap +ap +ap ap ap ap @@ -18324,91 +10412,112 @@ ap ap ap ap -ar -aB -aB -aB -Wf -AB -ZI -Ep -Wf -Id -Id -Id -Id -Id -Id -Id -Id -Id -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -ZL "} (40,1,1) = {" -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp +ap +Hy +Pq +Pq +Pq +Pq +Pq +Pq +tJ +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +Pq +vi +Pq +Pq +Pq +Pq +Pq +vG +Hy +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Vu +Ru +Ru +Vu +VW +wj +wj +wj +BK +Vu +Ru +Ru +Vu +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Jz +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +Gs +Gs +Gs +Lw ap ap ap @@ -18445,147 +10554,41 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ar -ZL "} (41,1,1) = {" -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap +Hy +iY +iY +iY +iY +iY +iY +mZ +mZ +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +iY +vR +vR +iY +iY +iY +iY +iY +cC +Hy ap ap ap @@ -18602,6 +10605,19 @@ ap ap ap ap +Vu +Ru +Ru +Vu +sl +cj +Dk +Dk +Dk +yK +Ru +Ru +Vu ap ap ap @@ -18620,6 +10636,30 @@ ap ap ap ap +Jz +jf +jf +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +Gs +Gs +Gs +Lw ap ap ap @@ -18658,76 +10698,39 @@ ap ap "} (42,1,1) = {" -Gq -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Ax -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap +Hy +yF +yF +yF +pu +yF +yF +Fr +Sh +Fr +Fr +Fr +Sh +Fr +Fr +Fr +Sh +Fr +Fr +Fr +Sh +Fr +Fr +Fr +Sh +yF +yF +yF +pu +yF +le +Hy ap ap ap @@ -18744,6 +10747,19 @@ ap ap ap ap +Vu +Ru +Ru +Vu +sl +Lg +tC +tC +tC +ym +Ru +Ru +Vu ap ap ap @@ -18762,6 +10778,30 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +Gs +Gs +Gs +Lw ap ap ap @@ -18800,76 +10840,39 @@ ap ap "} (43,1,1) = {" -Gq -Nt -VC -Gw -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap +Hy +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +dg +Hy ap ap ap @@ -18886,6 +10889,19 @@ ap ap ap ap +Vu +Ru +Ru +Vu +DF +JZ +JZ +JZ +qz +Vu +Ru +Ru +Vu ap ap ap @@ -18904,6 +10920,30 @@ ap ap ap ap +Jz +jf +jf +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +Gs +Gs +Gs +Lw ap ap ap @@ -18942,76 +10982,39 @@ ap ap "} (44,1,1) = {" -Gq -Nt -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy ap ap ap @@ -19028,6 +11031,19 @@ ap ap ap ap +Vu +YE +Ru +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Ru +Zi +Vu ap ap ap @@ -19046,6 +11062,30 @@ ap ap ap ap +Jz +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +Gs +Gs +Gs +Lw ap ap ap @@ -19084,76 +11124,39 @@ ap ap "} (45,1,1) = {" -Gq -Nt -XO -VC -VC -VC -VC -VC -VC -VC -VC -Ts -BD -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy ap ap ap @@ -19170,6 +11173,19 @@ ap ap ap ap +Vu +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Ru +Vu ap ap ap @@ -19188,6 +11204,30 @@ ap ap ap ap +Jz +jf +jf +JL +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +Gs +Gs +Gs +Lw ap ap ap @@ -19226,76 +11266,39 @@ ap ap "} (46,1,1) = {" -Gq -Nt -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -Ts -VC -Nj -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy ap ap ap @@ -19312,6 +11315,19 @@ ap ap ap ap +Vu +Ru +Ru +MK +Ru +Ru +Ru +Ru +MK +Ru +Ru +Ru +Vu ap ap ap @@ -19330,6 +11346,30 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +Gs +Gs +Gs +Lw ap ap ap @@ -19368,76 +11408,39 @@ ap ap "} (47,1,1) = {" -Gq -Nt -VC -VC -VC -VC -BD -VC -TG -TG -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy +Hy ap ap ap @@ -19454,6 +11457,19 @@ ap ap ap ap +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu +Vu ap ap ap @@ -19472,6 +11488,30 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw ap ap ap @@ -19510,39 +11550,6 @@ ap ap "} (48,1,1) = {" -Gq -Nt -VC -VC -VC -VC -Ts -TG -Fa -Dw -TG -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar ap ap ap @@ -19623,6 +11630,39 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw +ap +ap +ap +ap +ap +ap +ap +ap +ap ap ap ap @@ -19652,39 +11692,6 @@ ap ap "} (49,1,1) = {" -Gq -Nt -XY -VC -VC -VC -VC -TG -Tn -Ik -TG -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar ap ap ap @@ -19765,6 +11772,39 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw +ap +ap +ap +ap +ap +ap +ap +ap +ap ap ap ap @@ -19794,39 +11834,6 @@ ap ap "} (50,1,1) = {" -Gq -Nt -XY -VC -VC -VC -VC -VC -TG -TG -VC -VC -VC -FH -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar ap ap ap @@ -19907,6 +11914,39 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw +ap +ap +ap +ap +ap +ap +ap +ap +ap ap ap ap @@ -19936,39 +11976,6 @@ ap ap "} (51,1,1) = {" -Gq -Nt -XY -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar ap ap ap @@ -20049,6 +12056,39 @@ ap ap ap ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Gs +Gs +Gs +Lw +ap +ap +ap +ap +ap +ap +ap +ap +ap ap ap ap @@ -20078,39 +12118,6 @@ ap ap "} (52,1,1) = {" -Gq -Nt -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -TF -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar ap ap ap @@ -20191,6 +12198,39 @@ ap ap ap ap +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +Lw +ap +ap +ap +ap +ap +ap +ap +ap +ap ap ap ap @@ -20220,39 +12260,39 @@ ap ap "} (53,1,1) = {" -Gq -Nt -VC -VC -VC -VC -VC -VC -VC -BD -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap ap ap ap @@ -20362,65 +12402,6 @@ ap ap "} (54,1,1) = {" -Gq -Nt -XY -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -TF -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -20501,68 +12482,68 @@ ap ap ap ap +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI ap +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO "} (55,1,1) = {" -Gq -Nt -XY -VC -VC -VC -VC -VC -VC -No -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -20643,68 +12624,68 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (56,1,1) = {" -Gq -Nt -XY -VC -Ts -Gw -VC -VC -VC -VC -VC -VC -VC -aa -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -20785,68 +12766,68 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (57,1,1) = {" -Gq -Nt -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -20927,68 +12908,68 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (58,1,1) = {" -Gq -Nt -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -21069,68 +13050,68 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (59,1,1) = {" -Gq -Nt -VC -VC -VC -VC -VC -VC -VC -VC -VC -Gw -Ts -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -21211,68 +13192,68 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +Pi +Pi +Pi +Pi +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (60,1,1) = {" -Gq -Nt -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -21353,68 +13334,68 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (61,1,1) = {" -Gq -Nt -VC -WD -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -VC -wZ -Az -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -Bw -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -21495,68 +13476,68 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +ML +ML +ML +ML +ML +ML +qn +qn +qn +qn +qn +qn +qn +oI ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (62,1,1) = {" -Gq -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Nt -Ax -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -JW -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -21637,41 +13618,90 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (63,1,1) = {" -Gq -zz -zz -zz -zz -zz -zz -zz -zz -zz -zz -Gq -zz -zz -zz -zz -zz -zz -zz -zz -zz -zz -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq -Gq +ar +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI +ar +aI +aI +aI +aI +aI +aI +aI +aI +aI +aI ar ap ap @@ -21730,56 +13760,66 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (64,1,1) = {" as @@ -21815,113 +13855,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +iO "} (65,1,1) = {" as @@ -21957,113 +13997,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +Vu +Vu +Vu +Vu +Vu +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +El +Pi +Pi +Pi +Pi +Pi +Pi +El +El +El +El +El +El +Pi +Pi +Pi +Pi +Pi +Pi +El +El +El +El +El +El +El +El +iO "} (66,1,1) = {" as @@ -22099,113 +14139,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +Vu +Ru +wn +Cy +eS +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +Pi +El +El +El +El +El +El +Pi +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +iO "} (67,1,1) = {" as @@ -22241,113 +14281,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +Vu +Vu +Vu +Cy +gU +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +Pi +El +El +El +El +El +El +Pi +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (68,1,1) = {" as @@ -22383,113 +14423,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +Vu +Vu +Vu +Cy +eS +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +Pi +El +El +El +El +El +El +Pi +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (69,1,1) = {" as @@ -22525,113 +14565,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +Vu +kn +Ru +Cy +eS +Vu +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +Pi +El +El +El +El +El +El +Pi +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (70,1,1) = {" as @@ -22667,113 +14707,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +Vu +Vu +Vu +Vu +Vu +Vu +ae +ae +ae +ae +af +dZ +dZ +dZ +dZ +dZ +Rh +dZ +dZ +dZ +dZ +dZ +dZ +Rh +dZ +dZ +dZ +dZ +dZ +af +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (71,1,1) = {" as @@ -22809,113 +14849,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ai +Al +Al +XE +Sl +Al +Al +XE +Al +Al +Al +Al +XE +Al +Al +Sl +XE +Al +Al +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +zb +qn +xc +qn +tD +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (72,1,1) = {" as @@ -22951,113 +14991,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ai +ET +ET +OR +Pe +Pe +Ri +OR +Pe +Rs +Rt +Pe +OR +Ri +RA +RA +OR +ET +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +ML +zb +zb +tD +tD +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (73,1,1) = {" as @@ -23093,113 +15133,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +zK +Fp +OR +Pg +Rd +Rg +QW +Rk +Re +Rg +QX +Rw +Ry +QW +Rg +RD +Pg +OR +Fp +zK +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (74,1,1) = {" ar @@ -23235,123 +15275,123 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ai +ET +Pe +Qa +Re +Rg +QW +QX +Rm +Rg +QX +Re +Rg +QW +QW +QW +RF +Pe +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (75,1,1) = {" as aM be bf -bp -bD -bD -cP +be +be +be +be bf be aM @@ -23377,123 +15417,123 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ai +ET +Pe +QW +QW +QW +QW +QW +QW +QW +QW +QW +QW +QW +QX +QX +Rg +Pe +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (76,1,1) = {" as aN bf be -bq -bD -bD -cQ +bf +bf +bf +bf be bf aN @@ -23519,123 +15559,123 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ai +ET +Pe +QW +QW +QW +QW +QW +QW +QW +QW +QW +QW +QW +QX +QX +RG +Pe +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (77,1,1) = {" as aM be bo -bA -bD -bD -cR +bU +bU +bU +bU da be aM @@ -23661,113 +15701,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ai +ET +Pe +QX +Re +Rg +QW +QX +Re +Rg +QX +Re +Rg +QW +QW +QW +QW +Pe +ET +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +iO "} (78,1,1) = {" as @@ -23775,8 +15815,8 @@ aN bf bp bB -bD -bD +bB +bB bB cP bf @@ -23803,123 +15843,123 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +zK +Fp +OR +Pg +Rf +Rg +QW +Rl +Ro +Rg +QX +Rx +Rz +QW +RC +RE +Pg +OR +Fp +zK +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +ap +iO +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +iO "} (79,1,1) = {" as aM be bq -bC +an bS bS -bC +an cQ be aM @@ -23945,6 +15985,44 @@ ap ap ap ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ai +ET +ET +OR +Pe +Pe +Rj +OR +Pe +Rt +Rt +Pe +OR +Rj +RA +RA +OR +ET +ET +SG +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -23978,90 +16056,52 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +iO +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +iO "} (80,1,1) = {" as aM bf bp -bC +an bS bS -bC +an cP bf aM @@ -24087,124 +16127,124 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ai +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +Rc +SG +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +ap +iO +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +iO "} (81,1,1) = {" as aN be -bq -bD -bD -bD -bD -cQ +ag +bB +bB +bB +bB +at be aN dA @@ -24229,124 +16269,124 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Vg +Vg +Vl +Vh +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Jx +Zt +aj +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +iO "} (82,1,1) = {" as aM bf -br -bE -bT -bT -bE -db +bB +bB +ao +aA +bB +bB bf aM dA @@ -24371,124 +16411,124 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Nr +Th +JR +Nq +Nq +Nq +Nq +Nq +Nq +Yx +Nq +Nq +Nq +Nq +Yx +Nq +Nq +Nq +Nq +Nq +Nq +dZ +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +iO "} (83,1,1) = {" as aN be -bf -be -bf -bf -be -bf +bB +ao +ax +aB +aA +bB bf aN dA @@ -24513,124 +16553,124 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +ae +ae +Vg +SW +Ti +Rq +Nq +Nq +Nq +Nq +Nq +Nq +wd +dZ +TY +Vv +dZ +dZ +Nq +Nq +Nq +Nq +Nq +Nq +dZ +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +iO "} (84,1,1) = {" as aM bf -be -bF +bB +at bU bU -bF -be +ag +bB be aM dA @@ -24655,113 +16695,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Tf +Tj +Rv +QY +Pf +XH +SH +SH +QY +TI +Rr +SV +SV +Rr +TI +QY +SH +SH +XH +Pf +QY +dZ +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +El +jQ +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +iO "} (85,1,1) = {" ar @@ -24797,113 +16837,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +wy +wy +Vg +Vg +Vg +Vg +TI +TI +TI +TI +TI +TI +dZ +Ru +Ru +Ru +Ru +dZ +dZ +dZ +dZ +dZ +dZ +dZ +dZ +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +ML +ML +ML +ML +ML +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +iO "} (86,1,1) = {" as @@ -24918,12 +16958,154 @@ bV bV dq dA +dI +dH +dH +eL +eL +eL +eL +eL +eL +eL +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +wy +yA +Ga +xe +wl +TZ +Vi +Vi +Vi +VJ +Vi +VS +Vu +YE +Ru +Ru +Wt +WE +Xs +XC +Zp +VI +Yr +Zw +YI +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +iO +"} +(87,1,1) = {" +as +aP +bg +bg +bG +bV +bV +bV +bV +bV +bV +dA dH dH dH eK -eU -eU +eK +eK eK eK eK @@ -24939,125 +17121,125 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +wy +rE +Ga +HQ +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +Vu +Ru +Ru +Ru +Wv +WJ +Xv +XD +XD +VI +Ys +XD +YJ +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +iO "} -(87,1,1) = {" +(88,1,1) = {" as aP bg bg bG -bV -bV -bV -bV -bV +bW +ct +ct +ct +dj bV dA dH @@ -25081,125 +17263,125 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +wy +kF +Ga +Iq +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +Vu +Ru +Ru +Ru +Wv +WK +Xw +XD +XD +VI +Yu +XD +YJ +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} -(88,1,1) = {" +(89,1,1) = {" as aP bg bg bG -bW -ct -ct -ct -dj +bX +cu +cu +cu +dk bV dA dH @@ -25223,255 +17405,113 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -"} -(89,1,1) = {" -as -aP -bg -bg -bG -bX -cu -cu -cu -dk -bV -dA -dH -ef -eq -eK -eW -fo -fo -fo -fP -eK -fZ -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap +ae +ae +ae +ae +ae +ae +wy +pb +Ga +ME +wl +Uu +Vj +Vj +Vm +Vj +Vj +XU +Vu +Ru +Ru +Ru +Wt +WE +Xx +Zk +XV +Yl +Zs +Yy +XD +VI +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +iO "} (90,1,1) = {" as @@ -25497,113 +17537,6 @@ fo fP eK fZ -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -25614,6 +17547,113 @@ ap ap ap ap +ae +ae +ae +ae +ae +ae +wy +kr +Ga +Cw +wl +Up +Vj +Vj +Vm +Vj +Vj +VU +Vu +Ru +Ru +Zi +VI +VI +VI +VI +VI +VI +VI +VI +Yl +VI +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +Pi +El +El +El +El +El +El +iO "} (91,1,1) = {" as @@ -25639,113 +17679,6 @@ fo fP eK fZ -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -25756,6 +17689,113 @@ ap ap ap ap +ae +ae +ae +ae +ae +ae +wy +Ct +Ga +kh +wl +Ur +Vm +Vj +Vj +Vj +Vj +VU +Vu +Ru +Ru +Ru +VM +VQ +WN +VZ +VQ +VQ +WH +ZD +WW +Xe +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +iO "} (92,1,1) = {" as @@ -25771,7 +17811,7 @@ dk bV dA dH -eg +ef eq eK eW @@ -25781,113 +17821,6 @@ fo fP eK fZ -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -25898,6 +17831,113 @@ ap ap ap ap +ae +ae +ae +ae +ae +ae +wy +Dc +Ga +hn +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +TJ +Ru +Ru +Ru +WB +VR +Wb +Wl +Wz +VQ +WH +WO +WW +Xf +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +iO "} (93,1,1) = {" as @@ -25913,123 +17953,16 @@ dl bV dA dH -dH -dH +eg +eq eK -eX -fp -fp -fH -fQ +eW +fo +fo +fo +fP eK fZ -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -mw -mw -mx -mx -mx -mw -mw -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -26040,6 +17973,113 @@ ap ap ap ap +ae +ae +ae +ae +ae +ae +wy +vt +Ga +FW +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +Vw +Ru +Ru +Ru +VK +VR +Wc +Wm +Wz +VQ +WH +WP +WW +Xg +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +iO "} (94,1,1) = {" as @@ -26058,120 +18098,13 @@ dH dH dH eK -eK -eK -eK -eK -eK +eX +fp +fp +fH +fQ eK fZ -mv -ap -ap -ap -ap -ap -ap -ap -ap -mw -mx -mw -mT -nB -nM -nP -mT -mw -mx -mw -ap -ap -ap -ap -ap -ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap ap ap ap @@ -26182,6 +18115,113 @@ ap ap ap ap +ae +ae +ae +ae +ae +ae +wy +Dn +Ga +ZA +wl +Up +Vj +Vj +Vj +Vj +Vj +VU +Vu +YE +Ru +Ru +VL +VQ +Wd +Wd +VQ +VQ +WH +WQ +WW +Xh +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +El +El +El +El +El +El +El +Pi +Pi +Pi +Pi +Pi +Pi +El +El +El +El +El +El +El +Pi +El +El +El +El +El +El +iO "} (95,1,1) = {" as @@ -26196,134 +18236,134 @@ bZ dm dr dA -dI dH dH -eL -eL -eL -eL -eL -eL -eL +dH +eK +eU +eU +eK +eK +eK +eK fZ -mv ap ap ap ap ap ap -mw -mw -mw -ni -mw -mw -mT -mT -mT -mw -mw -ok -mw -mw -mw ap ap ap ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp +ae +ae +ae +ae +ae +ae +wy +wy +wy +wy +wl +Up +Vj +Vm +Vj +VN +Vj +VU +Vu +Ru +Ru +Ru +WB +VQ +VQ +VQ +VQ +VQ +WH +WR +WW +Zh +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +El +El +El +El +El +El +Pi +Pi +El +El +El +El +Pi +Pi +El +El +El +El +El +El +Pi +El +El +El +El +El +El +iO "} (96,1,1) = {" ar @@ -26349,562 +18389,136 @@ aL aL aL ar -mv ap ap ap ap ap -mw -mw -mV -mJ -mJ -no -mw -nC -nN -nx -mw -oc -mT -nA -nA -mw -mw ap ap ap ap ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Uu +Vj +Vj +Vj +Vj +Vj +Yt +Vu +Ru +Ru +Ru +WB +VQ +VZ +VZ +VQ +VQ +WH +WV +WW +WW +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +Pi +Pi +Pi +Pi +Pi +Pi +Pi +Pi +El +El +El +El +El +El +Pi +Pi +Pi +Pi +Pi +Pi +Pi +Pi +El +El +El +El +El +El +iO "} (97,1,1) = {" as -aQ -aQ -aQ -aQ -aQ -aQ -aQ -aQ -aQ -aQ -dB -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -fZ -mv -ap -ap -ap -ap -mw -mw -mP -mW -nc -mJ -np -mw -nD -mT -nx -mw -od -mT -oq -oA -oI -mw -mw -ap -ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -rN -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp -"} -(98,1,1) = {" -as -aR -bh -bs -bs -bs -bs -bs -dc -bs -aR -dB -dK -dK -dJ -dK -dK -dK -dK -dJ -dK -dK -fZ -mv -ap -ap -ap -ap -mw -mH -mQ -mX -nc -mJ -mJ -mY -mT -mT -mT -mZ -mT -mT -nA -oB -nA -oN -mw -ap -ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -rN -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp -"} -(99,1,1) = {" -as aS bi -bi -bI -ca -cw -cS -dd -cS -ds -dB -dL -dL -er -dL -dL -dL -dL -fI -dL -dL -fZ -mv -ap -ap -ap -mw -mw -mI -mR -mR -mJ -mJ -nq -mw -nE -mT -nQ -mw -oe -mT -or -oC -nA -oO -mw -mw -ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -ap -ap -ap -aB -aB -aB -aB -aB -ap -aB -aB -aB -aB -aB -rN -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp -"} -(100,1,1) = {" -as +ah +au +ay +ay +ay +ay +aE aS -bi -aS -bJ -cb -cx -cT -cy -cT -dt dB dM eh @@ -26917,128 +18531,696 @@ fz fz fS fZ -mv ap ap ap -mx -mB -mJ -mJ -mJ -mJ -mJ -np -mw -nF -mT -nR -mw -of -mT -mT -mT -mT -mT -oQ -mx ap ap ap -mv ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -rN -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Up +Vj +Vj +Vj +Vm +Vj +VU +Vu +Ru +Ru +Ru +WB +VR +We +Wo +Wz +VQ +VQ +VQ +ZE +VM +Xi +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +ML +zb +qn +pF +qn +tD +ML +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +iO +"} +(98,1,1) = {" +as +aS +bi +bv +av +az +az +az +az +aF +aS +dB +dN +ei +ei +ei +eZ +fr +ei +ei +ei +fJ +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Us +Vn +Vj +Vj +Vm +VO +VP +Vu +Ru +Ru +Zi +WB +VR +Wk +Wu +Wz +VQ +VQ +VQ +WZ +VM +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +ML +zb +zb +tD +tD +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +iO +"} +(99,1,1) = {" +as +aS +bi +ak +aw +aw +aw +aw +aw +aw +aw +dB +dM +eh +dN +ei +eZ +fr +ei +fJ +fz +fS +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Ut +Us +Vs +VB +Vs +VP +Ut +Vu +Ru +Ru +Ru +VK +VQ +Wd +Wd +VQ +VZ +VZ +VQ +Xa +VM +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +El +iO +"} +(100,1,1) = {" +as +aS +bi +bi +bI +ca +cw +cS +dd +cS +ds +dB +dO +ei +dN +ei +fa +fr +ei +fJ +ei +fT +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +wl +Vo +Vo +Vo +Vo +Vo +wl +Vu +Ru +Ru +Ru +VL +VQ +VQ +VQ +VR +WA +WI +Wz +Xb +VM +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO +iO "} (101,1,1) = {" as aS bi +aS +bJ +cb +cx +cT +cy +cT +dt +dB +dP +ej +dN +ei +eZ +fr +ei +fJ +fA +fU +fZ +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +TZ +Vi +Vi +Vi +Vi +Vi +VX +Vu +Ru +Ru +Ru +WB +VQ +VQ +VQ +VR +WF +WL +Wz +Xc +VM +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +"} +(102,1,1) = {" +as +aS +bi bt bK cb @@ -27059,35 +19241,6 @@ ei ei fJ fZ -mv -ap -ap -mw -mw -mC -mJ -mJ -mJ -mJ -nj -mw -mw -mw -mZ -mw -mw -mw -ol -os -mT -oJ -oP -oR -mw -mw -ap -ap -mv ap ap ap @@ -27098,6 +19251,44 @@ ap ap ap ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Va +Vp +Ut +Ut +Ut +Ut +VU +Vu +YE +Ru +Ru +VM +VY +ZC +VQ +VQ +Wd +Wd +ZC +Xd +VM +ae +ae +ae +ae +ae +ae ap ap ap @@ -27107,77 +19298,68 @@ ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -rN -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz "} -(102,1,1) = {" +(103,1,1) = {" as aS bi @@ -27190,46 +19372,17 @@ cy cT dt dB -dM -eh -dN -ei -eZ -fr -ei -fJ -fz -fS +dP +ej +ej +ej +fb +fs +fA +fA +fA +fU fZ -mv -ap -ap -mw -mw -mw -mw -mw -mY -mw -mw -mw -nv -nG -nx -nS -nX -mw -mw -mw -mZ -mw -mw -mw -mw -mw -ap -ap -mv ap ap ap @@ -27240,86 +19393,115 @@ ap ap ap ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Up +Vq +Ut +Vr +Vr +Ut +VU +Vu +Ru +Ru +Ru +VM +VM +VM +VM +VM +VM +VM +VM +VM +VM +VM +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap ap ap +oI +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +qn +oI ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -rN -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} -(103,1,1) = {" +(104,1,1) = {" as aS bi @@ -27332,330 +19514,211 @@ de cU du dB -dO -ei -dN -ei -fa -fr -ei -fJ -ei -fT +aG +aG +aR +aG +aG +aG +aG +bh +aG +aG fZ -mv ap ap -mw -my -mD -mK -mS -mT -nd -nd -mw -nw -nx -mT -nx -nY -mw -om -ot -oD -ot -mw -mT -oU -mw ap ap -mv ap ap ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -rN -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp -"} -(104,1,1) = {" -as -aS -bi -bu -bN -bN -bN -bN -bN -bN -bN -dB -dP -ej -dN -ei -eZ -fr -ei -fJ -fA -fU -fZ -mv -ap -ap -mx -mz -mE -mE -mE -mT -mT -mT -mZ -nx -mT -mw -mT -nx -mZ -on -ou -mT -mT -mZ -mT -oV -mx -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -aB -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +wl +Uu +Ut +Vt +Ut +Ut +Ut +XU +Vu +Ru +Ru +Ru +Vd +WS +WS +Zl +XX +Ym +Vd +YB +YK +YP +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +oI +ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (105,1,1) = {" as -aS -bi -bv -bO -cd -cd -cd -cd -dn -aS +ab +ad +al +al +al +al +al +aC +al +ab dB -dN -ei -ei -ei -eZ -fr -ei -ei -ei -fJ +dK +dK +dJ +dK +dK +dK +dK +dJ +dK +dK fZ -mv -ap -ap -mw -mA -mE -mE -mE -mT -ne -nk -mw -ny -nH -mT -nx -nZ -mw -oo -ov -oE -ov -mw -mT -oW -mw -ap -ap -mv +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +Ut +Ut +VD +VU +Vu +Ru +Ru +Ru +WC +WT +WS +XJ +XZ +WS +Vd +YC +YL +YP +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -27685,119 +19748,119 @@ ap ap ap ap -ap -ap -aB -aB -aB -oX -an -pk -pk -pI -pk -pk -qk -qk -qL -qX -pk -rs -pk -rP -oX -pk -rE -oX -pk -sw -oX -rF -sw -oX -aB -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (106,1,1) = {" as -aS -bi -bw -bP -ce -ce -ce -ce -do -aS +aQ +aQ +aQ +aQ +aQ +aQ +aQ +aQ +aQ +aQ dB -dP -ej -ej -ej -fb -fs -fA -fA -fA -fU +dJ +dJ +dJ +dJ +dJ +dJ +dJ +dJ +dJ +dJ fZ -mv -ap -ap -mw -mw -mw -mw -mw -mZ -mw -mw -mw -nz -nI -nx -nT -oa -mw -mw -mw -mZ -mw -mw -mw -mw -mw -ap -ap -mv +aq +uc +uc +uc +uc +uc +uc +uc +uc +uc +uc +uc +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Vr +Ut +Ut +Ut +Wh +Vu +Ru +Ru +Zi +Ve +WS +WS +XK +Ya +WS +Vd +YD +YM +XN +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -27827,65 +19890,42 @@ ap ap ap ap -ap -ap -aB -aB -aB -oX -pg -pk -av -oX -pS -pk -ql -qy -qM -qY -pk -rt -pk -rQ -oX -pk -sx -oX -rF -sx -oX -pk -sx -oX -aB -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (107,1,1) = {" ar @@ -27911,35 +19951,58 @@ aL aL aL ar -mv -ap -ap -mw -mw -mF -mL -mT -mT -nf -nl -mw -mw -mw -mZ -mw -mw -mw -op -oh -mT -nx -nx -oS -mw -mw -ap -ap -mv +aq +uc +ue +ue +uf +ue +ue +ue +uf +ue +ue +uc +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +Ut +Ut +Ut +VU +TJ +Ru +Ru +Ru +Xk +WS +WS +XM +XZ +WS +Vd +YC +YN +YQ +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -27969,65 +20032,42 @@ ap ap ap ap -ap -aB -aB -aB -aB -oX -ph -pk -au -oX -pT -pk -qm -qz -qN -qZ -pk -rt -pk -rR -oX -si -sy -oX -si -sy -oX -si -sy -oX -aB -aB -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (108,1,1) = {" as @@ -28053,35 +20093,58 @@ fK fR fR fZ -mv -ap -ap -ap -mx -mG -mM -mT -mT -mT -mT -nr -mw -nJ -mT -nU -mw -og -mT -mT -mT -mT -mT -oT -mx -ap -ap -ap -mv +aq +uc +uf +uf +uf +uf +ug +uf +uf +uf +uf +uc +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Vr +Ut +Ut +Ut +Ut +VU +Vw +Ru +Ru +Ru +Xm +WS +WS +XN +Yb +Zq +Vd +Zx +XZ +YT +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -28111,65 +20174,42 @@ ap ap ap ap -ap -aB -aB -aB -aB -oX -pe -pk -ax -oX -pU -qg -qn -qn -qO -ra -pk -rs -pk -rS -oX -qA -pk -sE -pk -pk -sZ -pk -qP -oX -aB -aB -aB -ap -ap -ap -ap -aC -ea -aC -ap -hb -gL -gL -ik -ap -aC -ea -aC -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (109,1,1) = {" as @@ -28195,35 +20235,74 @@ fK fR fR fZ -mv -ap -ap -ap -mw -mw -mN -mT -mT -ng -mT -ns -mw -nx -mT -nx -mw -oh -mT -ow -oF -oK -oz -mw -mw -ap -ap -ap -mv +aq +uc +ue +ue +uf +ue +ue +ue +uf +ue +ue +uc +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +VD +Ut +Vr +VV +Vu +Ru +Ru +Ru +Xn +WS +WS +WS +WS +WS +Vd +XN +WS +YU +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -28237,81 +20316,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -oX -ao -pk -aw -oX -pV -qh -pk -pk -pk -pk -pk -pk -pk -rT -oX -sj -pk -pk -sM -pk -pk -pk -tC -oX -aB -aB -aB -aB -ap -ap -aC -aC -aC -aC -gL -ha -hY -ii -ha -gL -aC -aC -aC -aC -ap -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (110,1,1) = {" as @@ -28337,35 +20377,74 @@ fK fR fR fZ -mv -ap -ap -ap -ap -mw -mO -mT -na -mT -nm -mT -mZ -mT -mT -mT -mZ -mT -mT -ox -oG -oL -oz -mw -ap -ap -ap -ap -mv +aq +ud +uf +uf +uf +uf +uf +uf +uf +uf +uf +ud +aq +ae +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +Ut +Ut +Ut +VU +Vu +YE +Ru +Ru +WC +WT +WS +WS +WS +WS +Vd +Vd +Yw +Vd +Vd +Vd +Vd +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -28379,81 +20458,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -oX -oX -oX -oX -at -pm -pu -oX -pW -pk -pk -pk -pk -rb -rq -ru -rI -pW -oX -sk -sz -pk -sN -qC -qC -tu -tD -oX -aB -aB -aB -aB -ap -aC -aC -aC -aC -aC -gY -hc -uo -uo -il -gY -aC -uK -aC -aC -aC -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +JL +JL +JL +JL +JL +JL +JL +jf +jf +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (111,1,1) = {" as @@ -28479,35 +20519,74 @@ fK fR fR fZ -mv -ap -ap -ap -ap -mw -mw -mU -mT -mT -mT -nt -mw -nx -mT -nx -mw -oi -mT -oy -oH -oM -mw -mw -ap -ap -ap -ap -mv +aq +bc +bc +bc +bQ +cs +bc +cs +dh +bc +bc +bc +aq +aq +ae +ae +ae +ae +ae +ae +wl +Uu +Ut +Vr +Ut +Ut +Ut +XU +Vu +Ru +Ru +Ru +WC +WT +WS +WS +WS +WS +Vd +Ym +WS +WS +WS +WS +Zf +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -28521,81 +20600,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -oX -aD -pc -oX -oX -oX -oX -oX -oX -oX -oX -qA -qP -oX -oX -oX -oX -oX -oX -oX -oX -sF -sO -oX -oX -oX -oX -oX -aB -aB -aB -ap -ap -aC -cF -sh -hw -aC -gM -dC -dC -dC -dC -gM -aC -iQ -cJ -ps -aC -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (112,1,1) = {" as @@ -28621,35 +20661,74 @@ fK fR fR fZ -mv -ap -ap -ap -ap -ap -mw -mw -nb -nh -mT -nu -mw -nK -nO -mw -mw -oj -mT -oz -oz -mw -mw -ap -ap -ap -ap -ap -mv +aq +bc +bn +by +bR +bn +cO +bn +di +by +bc +bc +bs +aq +ae +ae +ae +ae +ae +ae +wl +Up +Ut +Ut +Ut +Ut +VD +VU +Vu +Ru +Ru +Ru +WC +WT +WS +WS +WS +WS +Yv +WS +WS +WS +YY +WS +WS +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -28663,81 +20742,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -oX -aF -pc -pd -pk -oX -pv -pJ -pX -oX -qo -qB -qQ -rc -oX -rv -rJ -rU -sb -sl -oX -qA -sP -oX -az -tc -tF -oX -aB -aB -aB -ap -ap -aC -sg -sv -dg -aC -gZ -jL -dC -dC -ur -iB -aC -cD -uL -pM -aC -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (113,1,1) = {" as @@ -28763,35 +20803,74 @@ fK fR fR fZ -mv -ap -ap -ap -ap -ap -ap -mw -mw -mw -nn -mw -mw -nL -nA -nV -mw -mw -mT -mw -mw -mw -ap -ap -ap -ap -ap -ap -mv +aq +bc +bn +bn +bR +bn +bn +bn +di +bn +bn +dE +bu +aq +ae +ae +ae +ae +ae +ae +wl +Us +Vn +Ut +VE +Ut +VO +VP +Vu +Ru +Ru +Ru +Vd +WS +WS +Zn +WS +WS +WS +WS +WS +WS +YZ +WS +Zq +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -28805,81 +20884,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -oX -oX -oX -oX -pk -oX -ak -pJ -pY -oX -qp -pk -qR -rd -oX -rw -pk -pk -pk -sm -oX -sj -sQ -sW -tc -tc -tG -oX -aB -aB -ap -ap -aC -aC -cG -su -uk -aC -aC -hd -dC -up -cJ -aC -aC -jc -jt -pt -aC -aC -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (114,1,1) = {" as @@ -28905,35 +20945,74 @@ fK fR fR fZ -mv -ap -ap -ap -ap -ap -ap -ap -ap -mw -mx -mw -nA -nA -nA -nW -ob -mw -mx -mw -ap -ap -ap -ap -ap -ap -ap -ap -mv +aq +bc +bn +bn +bR +bn +bn +bn +di +bn +bn +dE +bw +aq +ae +ae +ae +ae +ae +ae +wl +Ut +Us +Vs +VF +Vs +VP +Ut +Vu +Ru +Ru +Zi +Vd +Vd +Vd +Vd +Vd +Vd +Vd +YF +WS +WS +WS +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TK +TM +TK +TM +TM +TM +TM +TM +TM +TK +TM +TM +TK +ae +ae +ae ap ap ap @@ -28947,81 +21026,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -oX -aD -pc -oX -pk -oX -px -pJ -pZ -oX -qp -pk -qS -oX -oX -rx -pk -pk -pk -sn -sA -sj -pk -oX -oX -tv -oX -oX -aB -aB -ap -aC -aC -aC -cJ -sG -cJ -aC -aC -pi -dC -dC -uD -aC -aC -cJ -jX -cJ -aC -aC -aC -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (115,1,1) = {" as @@ -29047,35 +21087,74 @@ fK fR fR fZ -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -mw -mw -mx -mx -mx -mw -mw -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -mv +aq +bc +bn +bn +bn +bn +bn +bn +bn +bn +bn +dE +bu +aq +ae +ae +ae +ae +ae +ae +wl +wl +Vo +Vo +Vo +Vo +Vo +wl +Vu +Ru +Ru +Ru +Vd +WU +Xy +XP +Yc +Yc +Vd +Zy +WS +WS +WS +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TM +TN +TK +TT +TX +Ua +Ud +Ug +Ug +TK +TU +Uk +TM +ae +ae +ae ap ap ap @@ -29089,81 +21168,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -oX -aF -pc -pd -pk -oX -ak -pJ -pY -oX -qq -pk -qT -re -pk -pk -pk -pk -pk -so -sA -sj -qP -oX -te -tc -tH -oX -aB -aB -ap -aC -aH -cp -cI -ch -eD -fm -aC -hf -dC -dC -is -aC -fm -eD -ch -pN -uQ -sS -aC -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (116,1,1) = {" as @@ -29189,7 +21229,74 @@ fK fR fR fZ -mv +aq +bc +bn +bz +bn +bn +bn +bn +bn +bz +bc +bc +bx +aq +ae +ae +ae +ae +ae +ae +Vk +Vk +Vk +Vk +Vk +Vk +Vk +Vk +Uv +Ru +Ru +Ru +Vd +Xj +Xz +XQ +Yh +Yc +Vd +YH +WS +WS +Zb +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TM +TP +TS +TU +TP +Ub +TP +TP +TU +TS +TU +Ul +TM +ae +ae +ae ap ap ap @@ -29203,109 +21310,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -oX -oX -oX -oX -pl -oX -py -pJ -qa -oX -qp -pk -qU -oX -oX -ry -pk -pk -pk -sp -sA -sj -sR -oX -oX -oX -oX -oX -oX -oX -oX -aE -cg -cq -cL -tE -ex -fy -ey -hf -dC -dC -it -ey -fy -ex -ux -ey -ch -ch -td -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +jf +jf +jf +Jz "} (117,1,1) = {" as @@ -29331,7 +21371,74 @@ fK fR fR fZ -mv +aq +bc +bc +bc +bc +bc +bc +bc +bc +bc +bc +bc +ap +aq +ae +ae +ae +ae +ae +ae +Vk +Vc +Vz +Vc +Vc +Vz +Vc +Wi +YR +Ru +Ru +Ru +Vd +Zj +XA +XR +Yj +Zr +Yg +WS +WS +WS +Zc +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TM +TQ +TK +TV +TP +TP +TP +TP +Ui +TK +TU +Um +TM +ae +ae +ae ap ap ap @@ -29345,109 +21452,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -mv -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -oX -cf -pc -oX -pk -oX -oX -oX -qb -oX -qp -pk -qQ -rf -oX -rz -pk -pk -pk -sq -oX -sj -qQ -ay -ay -ay -ay -aA -rX -ay -rX -rZ -ci -ci -cK -tb -dC -dC -um -dC -dC -dC -dC -um -dC -dC -uw -pO -qj -sT -rO -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +jf +jf +Jz "} (118,1,1) = {" ar @@ -29473,35 +21513,74 @@ aL aL aL ar -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv -mv +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +aq +ae +ae +ae +ae +ae +ae +Vk +Vc +Vc +Vc +Vc +Vc +Vc +Vk +UE +Ru +Ru +Ru +Vd +Xr +XB +YW +YW +YW +Yw +WS +WS +WS +WS +WS +Zq +Vd +ae +ae +ae +ae +ae +ae +TM +TR +TM +TW +TU +Uc +Uf +Uh +Uj +TM +TU +Uo +TM +ae +ae +ae ap ap ap @@ -29515,81 +21594,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -oX -pa -pc -pd -pk -pk -pk -pk -pk -oX -qr -qC -qC -rg -oX -rA -rK -pk -sc -sr -oX -sj -qR -qC -qC -qC -qC -qC -rY -qC -rY -sa -ci -ci -cM -tb -dC -dC -dC -dC -dC -dC -dC -dC -dC -dC -uz -pP -ci -ci -uB -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +Jz "} (119,1,1) = {" as @@ -29604,432 +21644,6 @@ aU aU aU dB -dR -dR -dR -dR -dR -dR -dR -dR -dR -dR -fZ -aI -aI -aI -ar -aI -aI -aI -ar -aI -aI -aI -ar -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -oX -oX -oX -oX -oX -oX -oX -oX -qc -oX -oX -oX -oX -oX -oX -rB -rB -rV -oX -oX -oX -sj -sR -oX -oX -oX -oX -oX -oX -oX -oX -aE -ch -ch -cr -uh -dC -fy -ey -hf -dC -dC -it -ey -iF -dC -uy -ey -qw -qw -td -ap -ap -ap -ap -ap -gp -"} -(120,1,1) = {" -as -aU -aU -aU -aU -aU -aU -aU -aU -aU -aU -dB -dS -dS -dR -dS -dS -dS -dS -dR -dS -dS -dB -ga -ga -ga -dB -gN -gO -gO -dB -hx -hx -hx -fZ -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -oX -oY -oY -oY -oY -oX -pz -pK -pK -qi -qs -qD -oX -ri -qu -rC -rL -pc -sd -ss -sB -qB -sU -oX -tf -tw -tJ -oX -aB -aB -ap -sf -cj -cj -aC -ez -dC -ir -aC -pj -dC -dC -uE -aC -uH -dC -uM -aC -rH -rH -aC -ap -ap -ap -ap -ap -gp -"} -(121,1,1) = {" -as -aU -aU -aU -aU -aU -aU -aU -aU -aU -aU -dB -dT -dT -eu -dT -dT -dT -dT -fL -dT -dT -dB -gb -ga -gq -dB -gO -gO -gP -dB -hy -hJ -hO -fZ -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -oX -oY -pb -oY -oY -pn -pA -pK -pK -pK -pK -pK -oX -rh -pc -pc -pc -pc -pk -pk -pk -pk -sQ -sO -tg -tg -tK -oX -aB -aB -ap -se -aC -aC -aC -ey -ul -ey -aC -ey -dC -uq -ey -aC -ey -ul -ey -aC -aC -aC -aC -ap -ap -ap -ap -ap -gp -"} -(122,1,1) = {" -as -aU -aU -aU -aU -aU -aU -aU -aU -aU -aU -dB dU el el @@ -30040,6 +21654,432 @@ fB fB fB fV +fZ +aI +aI +aI +ar +aI +aI +aI +ar +aI +aI +aI +ar +ap +ap +ae +ae +ae +ae +ae +ae +Vk +Vf +Vk +Vy +Vk +Vy +Vg +Vg +Vg +Wq +Ws +Ws +Vg +Vg +Vg +WS +WS +WS +Vd +WS +WS +WS +WS +WS +WS +Vd +ae +ae +ae +ae +ae +ae +TK +TM +TK +TM +TM +TM +TM +TM +TM +TK +TM +TM +TK +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +Jz +"} +(120,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dV +em +em +em +fe +fu +em +em +em +fW +dB +ga +ga +ga +dB +gN +gO +gO +dB +hx +hx +hx +fZ +ap +ap +ae +ae +ae +ae +ae +ae +Vk +Vb +Vk +Xp +Vk +Xp +Vg +Wj +Wp +Ti +YG +Ti +Wp +Wj +Vg +XS +Yk +Yo +Vd +Zz +YO +YV +Zd +Ze +Zg +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +Jz +"} +(121,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dV +em +em +em +fe +fu +em +em +em +fW +dB +gb +ga +gq +dB +gO +gO +gP +dB +hy +hJ +hO +fZ +ap +ap +ae +ae +ae +ae +ae +ae +Vk +Vk +Vk +Vk +Vk +Vk +Vg +Vg +Vg +Wp +Vg +Wp +Vg +Vg +Vg +Vd +Vd +Vd +Vd +Vd +Vd +Vd +Vd +Vd +Vd +Vd +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +Jz +"} +(122,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dV +em +em +em +fe +fu +em +em +em +fW dB gc ga @@ -30053,38 +22093,62 @@ hz hK hP fZ -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX +ap +ap +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Wj +Vg +Wj +Vg +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -30098,66 +22162,42 @@ ap ap ap ap -ap -aB -aB -oX -oY -oY -oY -oY -po -pB -pK -pK -pK -pK -pK -qc -pc -pc -pc -pc -pc -pk -pk -pk -pk -pk -sX -tg -tg -tL -oX -aB -aB -ap -ap -aC -aC -cJ -eD -dC -iv -aC -un -dC -dC -uF -aC -uI -dC -uN -cJ -aC -aC -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +Jz "} (123,1,1) = {" as @@ -30195,38 +22235,62 @@ hz hK hP fZ -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +Vg +Vg +Vg +Vg +Vg +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -30240,66 +22304,42 @@ ap ap ap ap -ap -aB -aB -oX -oY -oY -pb -oY -pp -pC -pK -pK -pK -pK -pK -oX -pc -pc -rD -pc -pc -pk -pk -pk -pk -qP -oX -th -tg -tM -oX -aB -aB -ap -ap -ap -aG -cN -ex -dC -cV -ey -pr -dC -dC -pr -ey -us -dC -ex -us -pQ -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +Jz "} (124,1,1) = {" as @@ -30337,38 +22377,62 @@ hA hL hQ fZ -gX -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -gX +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -30382,66 +22446,42 @@ ap ap ap ap -ap -aB -aB -oX -oY -oY -oY -oY -oX -pD -cH -dp -cH -qt -pD -oX -rj -rr -qE -rM -pc -pk -pk -pk -pk -sU -oX -ti -tx -tN -oX -aB -aB -ap -ap -ap -aG -cW -eA -dC -dC -ul -dC -dC -dC -dC -ul -dC -dC -ex -us -pQ -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +Jz "} (125,1,1) = {" as @@ -30456,432 +22496,6 @@ aU aU aU dB -dV -em -em -em -fe -fu -em -em -em -fW -dB -gc -ga -gc -dB -gP -gO -gO -dB -hx -hx -hx -fZ -gX -hm -hm -hv -hm -hm -hm -ia -in -in -in -ia -in -in -in -ia -in -in -in -ia -in -in -in -ia -in -hm -hm -hv -hm -hm -ai -mu -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -rk -rr -qv -rM -pc -qC -qC -qC -sI -sR -oX -oX -oX -oX -oX -oX -aB -ap -ap -ap -aG -cV -ex -dC -cN -ey -pr -dC -dC -pr -ey -us -dC -ex -us -pQ -ap -ap -ap -ap -ap -ap -ap -gp -"} -(126,1,1) = {" -as -aU -aU -aU -aU -aU -aU -aU -aU -aU -aU -dB -dV -em -em -em -fe -fu -em -em -em -fW -fZ -aL -aL -aL -ar -aL -aL -aL -ar -aL -aL -aL -ar -gX -hn -hn -hn -hn -hn -hn -ib -ib -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -lo -lo -hn -hn -hn -hn -hn -aj -gX -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -oX -rl -pc -rG -pc -rW -oX -st -oX -sj -sR -oX -tj -ty -tO -tQ -oX -aB -ap -ap -aC -aC -cY -ex -dC -cW -aC -pr -dC -dC -pr -aC -us -dC -ex -aC -aC -aC -ap -ap -ap -ap -ap -ap -gp -"} -(127,1,1) = {" -as -aU -aU -aU -aU -aU -aU -aU -aU -aU -aU -dB -dV -em -em -em -fe -fu -em -em -em -fW -dB -ge -gl -gr -dB -gQ -gR -gQ -dB -hB -hD -hD -fZ -gX -ho -ho -ho -ho -ho -ho -ic -io -io -io -io -io -io -io -io -io -io -io -io -io -io -io -io -lx -ho -ho -ho -ho -ho -al -gX -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -sj -sR -oX -tj -tz -tO -tQ -oX -aB -ap -aC -aC -aC -cX -fF -dC -iR -aC -qf -dC -dC -qf -aC -uJ -dC -fF -aC -aC -aC -aC -ap -ap -ap -ap -ap -gp -"} -(128,1,1) = {" -as -aU -aU -aU -aU -aU -aU -aU -aU -aU -aU -dB dW en en @@ -30893,6 +22507,432 @@ fC fC fX dB +gc +ga +gc +dB +gP +gO +gO +dB +hx +hx +hx +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +jf +jf +Jz +"} +(126,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +aH +aH +aX +aH +aH +aH +aH +br +aH +aH +fZ +aL +aL +aL +ar +aL +aL +aL +ar +aL +aL +aL +ar +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +jf +jf +jf +jf +jf +jf +jf +Jz +"} +(127,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dS +dS +dR +dS +dS +dS +dS +dR +dS +dS +dB +ge +gl +gr +dB +gQ +gR +gQ +dB +hB +hD +hD +fZ +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +ap +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +Jz +"} +(128,1,1) = {" +as +aU +aU +aU +aU +aU +aU +aU +aU +aU +aU +dB +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dB gf gl gr @@ -30905,38 +22945,62 @@ hC hC hC fZ -gX -hn -hn -hn -hn -hn -hn -ib -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -lo -hn -hn -hn -hn -hn -aj -gX +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -30950,66 +23014,42 @@ ap ap ap ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -oX -dy -dy -dy -dy -dy -dy -dy -dy -dy -dy -oX -sj -sR -oX -tk -tA -pk -tR -oX -aB -ap -aC -aC -aC -cJ -eB -ul -gG -aC -hU -dC -uq -ey -aC -ut -jd -aC -aC -aC -aC -aC -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (129,1,1) = {" ar @@ -31047,38 +23087,62 @@ hD hD hD fZ -gX -hn -hn -hn -hn -hn -hn -ib -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -lo -hn -hn -hn -hn -hn -aj -gX +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -31092,79 +23156,55 @@ ap ap ap ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -oX -dy -dD -jr -pf -pf -pf -qF -qG -qV -dy -oX -sJ -sR -oX -tl -tl -tl -tl -oX -aB -ap -aC -ck -cC -cD -he -cD -gF -aC -uj -ig -ig -uC -aC -iG -iG -uO -iG -iG -ta -aC -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +In +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (130,1,1) = {" as -aV -aV -aV -aV -aV -aV -aV -aV -aV -aV +aY +bk +bk +bk +bk +cA +cA +cA +cA +dv dB dX dY @@ -31189,38 +23229,62 @@ hD hD hD fZ -gX -hn -hn -hn -hn -hn -hn -id -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -lo -hn -hn -hn -hn -hn -aj -gX +ae +ae +ae +Uw +Ux +Uw +Ux +Ux +Ux +Ux +Ux +Ux +Uw +Ux +Ux +Uw +ae +ae +ae +ae +ae +Sm +Sn +Sm +Sn +Sn +Sn +Sn +Sn +Sn +Sm +Sn +Sn +Sm +ae +ae +ae +ae +ae +ae +SX +SY +SX +SY +SY +SY +SY +SY +SY +SX +SY +SY +SX +ae +ae +ae ap ap ap @@ -31234,79 +23298,55 @@ ap ap ap ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -oX -dy -hZ -hZ -hZ -hZ -hZ -hZ -hZ -qW -ro -sC -pk -sR -sO -tm -tg -tg -tS -oX -aB -ap -aG -cm -cD -cD -cD -cD -gI -aC -hW -ig -ig -ix -aC -iL -uv -uu -uu -uu -iG -tI -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (131,1,1) = {" as -aW -aW -aV -aW -aW -aW -aW -aV -aW -aW +aZ +bl +bl +bl +bl +bl +bl +bl +bl +dw dB dX dY @@ -31331,38 +23371,62 @@ hE hE hE fZ -gX -hn -hn -hn -hn -hn -hn -id -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -lo -hn -hn -hn -hn -hn -aj -gX +ae +ae +ae +Ux +Uz +Uw +UG +UK +UM +UQ +US +US +Uw +UH +UW +Ux +ae +ae +ae +ae +ae +Sn +So +Sm +Su +SA +SB +SE +SK +SK +Sm +Sw +SQ +Sn +ae +ae +ae +ae +ae +ae +SY +SZ +SX +Tk +Tp +Tq +Tu +Ty +Ty +SX +Tl +TC +SY +ae +ae +ae ap ap ap @@ -31376,79 +23440,55 @@ ap ap ap ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -oX -dy -hq -hq -pL -pL -hq -hZ -qH -qV -dy -oX -qA -sR -sO -tn -tg -tg -tT -oX -aB -ap -aG -cl -cD -cD -eC -eH -gH -aC -hV -ig -ig -iw -aC -iL -uu -uu -uu -uu -iG -tI -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (132,1,1) = {" as -aX -aX -bx -aX -aX -aX -aX -df -aX -aX +aZ +bl +bl +bl +bl +bl +bl +bl +bl +dw dB dY dY @@ -31473,38 +23513,62 @@ hD hD hR fZ -gX -ho -ho -ho -ho -ho -ho -ie -io -io -io -io -io -io -io -io -io -io -io -io -io -io -io -io -lx -ho -ho -ho -ho -ho -al -gX +ae +ae +ae +Ux +UA +UF +UH +UA +UN +UA +UA +UH +UF +UH +UX +Ux +ae +ae +ae +ae +ae +Sn +Sp +Ss +Sw +Sp +SC +Sp +Sp +Sw +Ss +Sw +SR +Sn +ae +ae +ae +ae +ae +ae +SY +Ta +Td +Tl +Ta +Tr +Ta +Ta +Tl +Td +Tl +TD +SY +ae +ae +ae ap ap ap @@ -31518,79 +23582,55 @@ ap ap ap ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -oX -dy -dy -dy -dy -dy -dy -dy -dy -dy -dy -oX -sj -sR -oX -to -tg -tg -tU -oX -aB -ap -aG -co -cD -cD -eE -eS -gK -aC -hX -ig -ig -iz -aC -iG -iG -iG -iG -iG -iG -tI -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +JL +JL +JL +JL +JL +JL +JL +jf +jf +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (133,1,1) = {" as -aY -bk -bk -bk -bk -cA -cA -cA -cA -dv +aZ +bl +bl +bl +bl +bl +bl +bl +bl +dw dB dY dY @@ -31615,38 +23655,62 @@ aL aL aL ar -gX -hn -hn -hn -hn -hn -hn -id -id -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -ip -lo -lo -hn -hn -hn -hn -hn -aj -gX +ae +ae +ae +Ux +UC +Uw +UI +UA +UA +UA +UA +UU +Uw +UH +UY +Ux +ae +ae +ae +ae +ae +Sn +Sq +Sm +Sx +Sp +Sp +Sp +Sp +SO +Sm +Sw +SS +Sn +ae +ae +ae +ae +ae +ae +SY +Tb +SX +Tm +Ta +Ta +Ta +Ta +TA +SX +Tl +TE +SY +ae +ae +ae ap ap ap @@ -31660,66 +23724,42 @@ ap ap ap ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -sj -sR -sY -tg -tg -tg -tV -oX -aB -ap -aC -cn -lH -cZ -hs -eI -gJ -aC -aC -aC -aC -aC -aC -iP -js -uP -uA -sH -sH -aC -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +JL +JL +JL +JL +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (134,1,1) = {" as @@ -31757,38 +23797,62 @@ hF hF hF fZ -gX -hp -hp -hp -hI -hp -hp -if -iq -if -if -if -iq -if -if -if -iq -if -if -if -iq -if -if -if -iq -hp -hp -hp -hI -hp -dZ -gX +ae +ae +ae +Ux +UD +Ux +UJ +UH +UP +UR +UT +UV +Ux +UH +UZ +Ux +ae +ae +ae +ae +ae +Sn +Sr +Sn +Sz +Sw +SD +SF +SN +SP +Sn +Sw +ST +Sn +ae +ae +ae +ae +ae +ae +SY +Tc +SY +To +Tl +Tt +Tx +Tz +TB +SY +Tl +TH +SY +ae +ae +ae ap ap ap @@ -31802,66 +23866,42 @@ ap ap ap ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -oX -dz -dz -dz -dz -dz -dz -dz -dz -dz -dz -oX -sj -sR -oX -tp -tg -tg -tW -oX -aB -ap -aC -aC -aC -aC -eF -aC -aC -cJ -fk -fk -fk -fk -cJ -aC -aC -aC -aC -aC -aC -aC -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (135,1,1) = {" as @@ -31899,38 +23939,62 @@ hF hF hF fZ -gX -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -hl -gX +ae +ae +ae +Uw +Ux +Uw +Ux +Ux +Ux +Ux +Ux +Ux +Uw +Ux +Ux +Uw +ae +ae +ae +ae +ae +Sm +Sn +Sm +Sn +Sn +Sn +Sn +Sn +Sn +Sm +Sn +Sn +Sm +ae +ae +ae +ae +ae +ae +SX +SY +SX +SY +SY +SY +SY +SY +SY +SX +SY +SY +SX +ae +ae +ae ap ap ap @@ -31944,79 +24008,55 @@ ap ap ap ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -oX -dz -ij -oZ -qd -qd -qd -iH -qI -rm -dz -oX -sK -sR -sO -tq -tg -tg -tX -oX -aB -ap -aC -aC -aC -aC -aC -aC -cJ -fk -eb -eG -eG -fl -fk -cJ -aC -aC -aC -aC -aC -aC -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (136,1,1) = {" as -aZ -bl -bl -bl -bl -bl -bl -bl -bl -dw +ba +bm +bm +bm +bm +cB +cB +cB +cB +dx dB dY eo @@ -32041,38 +24081,62 @@ hF hF hF fZ -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -32086,79 +24150,55 @@ ap ap ap ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -oX -dz -iH -iH -iH -iH -iH -iH -iH -rn -rp -sD -pk -sR -sO -tr -tg -tg -tY -oX -aB -ap -ap -aC -aC -aC -aC -cJ -fk -eb -ap -ap -ap -ap -fl -fk -cJ -aC -aC -aC -aC -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (137,1,1) = {" as -aZ -bl -bl -bl -bl -bl -bl -bl -bl -dw +ac +ac +am +ac +ac +ac +ac +aD +ac +ac dB dY dY @@ -32183,38 +24223,62 @@ hF hF hF fZ -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -32228,79 +24292,55 @@ ap ap ap ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -oX -dz -iu -iu -qe -qe -iu -iH -qJ -rm -dz -oX -pk -sR -oX -ts -tg -tg -tZ -oX -aB -aB -ap -ap -aC -aC -aC -fk -eb -ap -ap -ap -ap -ap -ap -fl -fk -aC -aC -aC -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (138,1,1) = {" as -aZ -bl -bl -bl -bl -bl -bl -bl -bl -dw +aW +aW +aV +aW +aW +aW +aW +aV +aW +aW dB dY dY @@ -32325,38 +24365,62 @@ hF hF hF fZ -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -32370,79 +24434,55 @@ ap ap ap ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -oX -dz -dz -dz -dz -dz -dz -dz -dz -dz -dz -oX -sL -sV -oX -tt -tB -tP -ua -oX -aB -aB -ap -ap -ap -aC -cJ -eb -ap -ap -ap -ap -ap -ap -ap -ap -fl -cJ -aC -ap -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (139,1,1) = {" as -ba -bm -bm -bm -bm -cB -cB -cB -cB -dx +aV +aV +aV +aV +aV +aV +aV +aV +aV +aV dB dY dY @@ -32467,38 +24507,62 @@ hF hF hF fZ -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX -gX +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -32512,66 +24576,42 @@ ap ap ap ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -oX -aB -aB -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -gp +Jz +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +jf +Jz "} (140,1,1) = {" ar @@ -32609,6 +24649,62 @@ bb bb bb ar +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae ap ap ap @@ -32622,96 +24718,40 @@ ap ap ap ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -ap -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -aB -rN -rN -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp -gp +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz +Jz "} diff --git a/maps/tether/submaps/tether_ships.dmm b/maps/tether/submaps/tether_ships.dmm deleted file mode 100644 index d07caac6eb..0000000000 --- a/maps/tether/submaps/tether_ships.dmm +++ /dev/null @@ -1,20196 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/turf/space, -/area/space) -"ab" = ( -/turf/space/transit/east, -/area/shuttle/belter/transit) -"ac" = ( -/obj/effect/step_trigger/teleporter/random{ - affect_ghosts = 1; - name = "escapeshuttle_leave"; - teleport_x = 25; - teleport_x_offset = 245; - teleport_y = 25; - teleport_y_offset = 245; - teleport_z = 4; - teleport_z_offset = 4 - }, -/turf/space, -/turf/space/transit/north, -/area/space) -"dJ" = ( -/turf/unsimulated/wall/seperator, -/area/space) -"dQ" = ( -/obj/effect/step_trigger/zlevel_fall/beach, -/turf/space/sandyscroll, -/area/space) -"et" = ( -/turf/space/bluespace, -/area/space) -"eO" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - stopper = 0; - tiles = 0 - }, -/turf/space/sandyscroll, -/area/space) -"fg" = ( -/turf/space/bluespace, -/area/shuttle/excursion/bluespace) -"gO" = ( -/obj/effect/step_trigger/teleporter/planetary_fall/virgo3b, -/turf/simulated/sky/virgo3b/south, -/area/space) -"gP" = ( -/turf/simulated/sky/virgo3b/south, -/area/shuttle/excursion/virgo3b_sky) -"gT" = ( -/turf/space/transit/east, -/area/space) -"gU" = ( -/turf/space/sandyscroll, -/area/space) -"gV" = ( -/obj/effect/step_trigger/lost_in_space/bluespace, -/turf/space/bluespace, -/area/space) -"gW" = ( -/turf/unsimulated/wall{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/space) -"gX" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 8 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/space) -"gY" = ( -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/space) -"gZ" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 4 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/space) -"ha" = ( -/turf/space/transit/south, -/area/shuttle/antag_space/transit) -"hb" = ( -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/shuttle/antag_ground/transit) -"hc" = ( -/turf/simulated/sky/virgo3b/south, -/area/space) -"hd" = ( -/turf/space/sandyscroll, -/area/shuttle/excursion/sand_moving) -"he" = ( -/turf/space, -/area/shuttle/excursion/space) -"hf" = ( -/turf/space/transit/east, -/area/shuttle/large_escape_pod1/transit) -"hh" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 8 - }, -/obj/effect/transit/light{ - dir = 8 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/space) -"hi" = ( -/obj/effect/floor_decal/transit/orange{ - dir = 4 - }, -/obj/effect/transit/light{ - dir = 4 - }, -/turf/unsimulated/floor/techfloor_grid{ - icon = 'icons/turf/transit_vr.dmi' - }, -/area/space) -"hj" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - stopper = 0; - tiles = 0 - }, -/turf/space/bluespace, -/area/space) -"hk" = ( -/turf/simulated/sky/virgo3b/south, -/area/shuttle/tether/transit) -"hn" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 8; - name = "thrower_escapeshuttletop(left)"; - tiles = 0 - }, -/turf/simulated/sky/virgo3b/south, -/area/space) -"ho" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - stopper = 0; - tiles = 0 - }, -/turf/simulated/sky/virgo3b/south, -/area/space) -"hp" = ( -/turf/space/transit/south, -/area/space) -"hq" = ( -/turf/space/transit/south, -/area/shuttle/excursion/space_moving) -"hr" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 4; - name = "thrower_escapeshuttletop(right)"; - tiles = 0 - }, -/turf/simulated/sky/virgo3b/south, -/area/space) -"hs" = ( -/obj/effect/step_trigger/teleporter/random{ - affect_ghosts = 1; - name = "escapeshuttle_leave"; - teleport_x = 25; - teleport_x_offset = 245; - teleport_y = 25; - teleport_y_offset = 245; - teleport_z = 6; - teleport_z_offset = 6 - }, -/turf/simulated/sky/virgo3b/south, -/area/space) -"ht" = ( -/obj/effect/step_trigger/lost_in_space, -/turf/space/transit/south, -/area/space) -"hu" = ( -/obj/effect/step_trigger/lost_in_space, -/turf/space, -/area/space) -"hv" = ( -/obj/effect/step_trigger/teleporter/planetary_fall/virgo3b, -/turf/space/transit/east, -/area/space) -"hw" = ( -/obj/effect/step_trigger/teleporter/random{ - affect_ghosts = 1; - name = "escapeshuttle_leave"; - teleport_x = 25; - teleport_x_offset = 245; - teleport_y = 25; - teleport_y_offset = 245; - teleport_z = 6; - teleport_z_offset = 6 - }, -/turf/space/transit/south, -/area/space) -"hx" = ( -/turf/unsimulated/mineral{ - icon = 'icons/turf/transit_vr.dmi'; - icon_state = "rock" - }, -/area/space) -"hz" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - stopper = 0; - tiles = 0 - }, -/turf/space/transit/south, -/area/space) -"hD" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - stopper = 0; - tiles = 0 - }, -/turf/space, -/area/space) -"hG" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - name = "thrower_leftnostop" - }, -/turf/space/transit/east, -/area/space) -"hH" = ( -/obj/effect/step_trigger/thrower{ - direction = 1; - name = "thrower_throwup"; - nostop = 0; - tiles = 0 - }, -/turf/space/transit/east, -/area/space) -"hI" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - stopper = 0; - tiles = 0 - }, -/turf/space/transit/east, -/area/space) -"hJ" = ( -/obj/effect/transit/light{ - dir = 4 - }, -/turf/unsimulated/mineral{ - icon = 'icons/turf/transit_vr.dmi'; - icon_state = "rock" - }, -/area/space) -"kd" = ( -/obj/effect/step_trigger/teleporter/random{ - affect_ghosts = 1; - name = "escapeshuttle_leave"; - teleport_x = 25; - teleport_x_offset = 245; - teleport_y = 25; - teleport_y_offset = 245; - teleport_z = 4; - teleport_z_offset = 4 - }, -/turf/space/transit/north, -/area/space) -"yn" = ( -/turf/space/transit/north, -/area/ninja_dojo/transit) -"HO" = ( -/turf/space/transit/north, -/area/space) -"Js" = ( -/turf/space/transit/north, -/area/skipjack_station/transit) -"Nb" = ( -/turf/space, -/turf/space/transit/north, -/area/space) -"SG" = ( -/obj/effect/step_trigger/thrower{ - affect_ghosts = 1; - direction = 2; - name = "thrower_throwdown"; - nostop = 1; - stopper = 0; - tiles = 0 - }, -/turf/space/transit/north, -/area/space) -"TL" = ( -/turf/space/transit/east, -/area/shuttle/specialops/transit) - -(1,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(2,1,1) = {" -aa -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dJ -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -dJ -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -aa -"} -(3,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -dQ -dJ -gV -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -ht -aa -"} -(4,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -dQ -dJ -gV -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -ht -aa -"} -(5,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -eO -eO -eO -eO -eO -eO -gU -gU -dQ -dJ -gV -et -et -et -et -et -et -et -et -et -et -et -et -et -hj -hj -hj -hj -hj -hj -et -et -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hz -hz -hz -hz -hz -hz -hp -hp -hp -hp -ht -aa -"} -(6,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -eO -eO -eO -eO -eO -eO -eO -eO -eO -eO -eO -hd -hd -hd -hd -eO -eO -gU -dQ -dJ -gV -et -et -et -et -et -hj -hj -hj -hj -hj -hj -hj -hj -hj -hj -hj -fg -fg -fg -fg -hj -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hz -hz -hz -hz -hz -hz -hz -hz -hz -hz -hz -hq -hq -hq -hq -hz -hz -hp -ht -aa -"} -(7,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -gU -dQ -dJ -gV -et -et -et -et -et -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hp -ht -aa -"} -(8,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -eO -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -gU -dQ -dJ -gV -et -et -et -et -hj -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -et -et -gV -dJ -ht -hp -hp -hp -hp -hz -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hp -ht -aa -"} -(9,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -gU -dQ -dJ -gV -et -et -et -et -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -et -et -gV -dJ -ht -hp -hp -hp -hp -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hp -ht -aa -"} -(10,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -SG -SG -SG -SG -SG -SG -SG -SG -Js -Js -SG -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -eO -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -eO -gU -dQ -dJ -gV -et -et -et -hj -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -hj -et -et -gV -dJ -ht -hp -hp -hp -hz -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hz -hp -ht -aa -"} -(11,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dQ -gU -gU -gU -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -eO -gU -dQ -dJ -gV -et -et -et -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -hj -et -et -gV -dJ -ht -hp -hp -hp -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hz -hp -ht -aa -"} -(12,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -gU -gU -dQ -dJ -gV -et -et -et -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -hj -et -et -gV -dJ -ht -hp -hp -hp -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hp -hp -ht -aa -"} -(13,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -gU -gU -dQ -dJ -gV -et -et -et -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -hj -et -et -gV -dJ -ht -hp -hp -hp -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hp -hp -ht -aa -"} -(14,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -SG -SG -SG -SG -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -gU -gU -dQ -dJ -gV -et -et -et -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -hj -et -et -gV -dJ -ht -hp -hp -hp -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hp -hp -ht -aa -"} -(15,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -SG -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -eO -gU -dQ -dJ -gV -et -et -et -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -hj -et -et -gV -dJ -ht -hp -hp -hp -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hz -hp -ht -aa -"} -(16,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -SG -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -eO -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -eO -gU -dQ -dJ -gV -et -et -et -hj -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -hj -et -et -gV -dJ -ht -hp -hp -hp -hz -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hz -hp -ht -aa -"} -(17,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -SG -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -gU -dQ -dJ -gV -et -et -et -et -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -et -et -gV -dJ -ht -hp -hp -hp -hp -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hp -ht -aa -"} -(18,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -eO -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -gU -dQ -dJ -gV -et -et -et -et -hj -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -et -et -gV -dJ -ht -hp -hp -hp -hp -hz -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hp -ht -aa -"} -(19,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -eO -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -hd -eO -gU -dQ -dJ -gV -et -et -et -et -et -hj -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -fg -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hz -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hz -hp -ht -aa -"} -(20,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -eO -eO -eO -eO -eO -eO -eO -eO -hd -hd -gU -gU -gU -hd -hd -eO -eO -gU -dQ -dJ -gV -et -et -et -et -et -hj -hj -hj -hj -hj -hj -hj -hj -fg -fg -et -et -et -fg -fg -hj -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hz -hz -hz -hz -hz -hz -hz -hz -hq -hq -hp -hp -hp -hq -hq -hz -hz -hp -ht -aa -"} -(21,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -eO -eO -eO -eO -eO -eO -eO -eO -eO -gU -gU -dQ -dJ -gV -et -et -et -et -et -et -et -et -et -et -et -et -hj -hj -hj -hj -hj -hj -hj -et -et -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hz -hz -hz -hz -hz -hz -hz -hz -hz -hp -hp -ht -aa -"} -(22,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -dQ -dJ -gV -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -ht -aa -"} -(23,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -gU -dQ -dJ -gV -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -et -gV -dJ -ht -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -ht -aa -"} -(24,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dQ -dJ -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -gV -dJ -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -ht -aa -"} -(25,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -SG -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -aa -"} -(26,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -SG -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -dJ -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -aa -"} -(27,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -SG -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -gO -dJ -hu -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hu -aa -"} -(28,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -SG -SG -SG -SG -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -gO -dJ -hu -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hu -aa -"} -(29,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -ho -ho -ho -ho -ho -ho -hc -hc -gO -dJ -hu -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hD -hD -hD -hD -hD -hD -aa -aa -hu -aa -"} -(30,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -ho -ho -ho -ho -ho -ho -ho -ho -ho -ho -ho -gP -gP -gP -gP -ho -ho -hc -gO -dJ -hu -aa -aa -aa -aa -aa -hD -hD -hD -hD -hD -hD -hD -hD -hD -hD -hD -he -he -he -he -hD -hD -aa -hu -aa -"} -(31,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -Js -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -hc -gO -dJ -hu -aa -aa -aa -aa -aa -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -aa -hu -aa -"} -(32,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -SG -SG -SG -SG -SG -SG -SG -SG -Js -Js -SG -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -ho -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -hc -gO -dJ -hu -aa -aa -aa -aa -hD -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -aa -hu -aa -"} -(33,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -SG -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -hc -gO -dJ -hu -aa -aa -aa -aa -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -aa -hu -aa -"} -(34,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -ho -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -ho -hc -gO -dJ -hu -aa -aa -aa -hD -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -hD -aa -hu -aa -"} -(35,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -ho -hc -gO -dJ -hu -aa -aa -aa -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -hD -aa -hu -aa -"} -(36,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -hc -hc -gO -dJ -hu -aa -aa -aa -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -aa -aa -hu -aa -"} -(37,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -hc -hc -gO -dJ -hu -aa -aa -aa -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -aa -aa -hu -aa -"} -(38,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -hc -hc -gO -dJ -hu -aa -aa -aa -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -aa -aa -hu -aa -"} -(39,1,1) = {" -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -ho -hc -gO -dJ -hu -aa -aa -aa -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -hD -aa -hu -aa -"} -(40,1,1) = {" -aa -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -ho -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -ho -hc -gO -dJ -hu -aa -aa -aa -hD -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -hD -aa -hu -aa -"} -(41,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -hc -gO -dJ -hu -aa -aa -aa -aa -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -aa -hu -aa -"} -(42,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -ho -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -hc -gO -dJ -hu -aa -aa -aa -aa -hD -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -aa -hu -aa -"} -(43,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -ho -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -gP -ho -hc -gO -dJ -hu -aa -aa -aa -aa -aa -hD -he -he -he -he -he -he -he -he -he -he -he -he -he -he -he -hD -aa -hu -aa -"} -(44,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -ho -ho -ho -ho -ho -ho -ho -ho -gP -gP -hc -hc -hc -gP -gP -ho -ho -hc -gO -dJ -hu -aa -aa -aa -aa -aa -hD -hD -hD -hD -hD -hD -hD -hD -he -he -aa -aa -aa -he -he -hD -hD -aa -hu -aa -"} -(45,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -ho -ho -ho -ho -ho -ho -ho -ho -ho -hc -hc -gO -dJ -hu -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hD -hD -hD -hD -hD -hD -hD -hD -hD -aa -aa -hu -aa -"} -(46,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -gO -dJ -hu -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hu -aa -"} -(47,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -gO -dJ -hu -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hu -aa -"} -(48,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -dJ -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -hu -aa -"} -(49,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(50,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(51,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(52,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(53,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(54,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(55,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(56,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(57,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(58,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(59,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -dJ -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(60,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(61,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(62,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(63,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(64,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(65,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(66,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(67,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(68,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(69,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -aa -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -aa -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -aa -"} -(70,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(71,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(72,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(73,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(74,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hG -hG -hG -hG -hG -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hG -hG -hG -hG -hG -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(75,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(76,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hG -hG -hG -hG -hG -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(77,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -ab -ab -ab -ab -ab -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(78,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -ab -ab -ab -ab -ab -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(79,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -ab -ab -ab -ab -ab -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(80,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -ab -ab -ab -ab -ab -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(81,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -ab -ab -ab -ab -ab -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(82,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -ab -ab -ab -ab -ab -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(83,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -ab -ab -ab -ab -ab -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(84,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -ab -ab -ab -ab -ab -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(85,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -ab -ab -ab -ab -ab -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -TL -TL -TL -TL -TL -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hf -hf -hf -hf -hf -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(86,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hH -ab -ab -ab -hI -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hH -TL -TL -TL -hI -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -hG -hH -hf -hf -hf -hI -hG -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(87,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -hG -hH -hH -hI -hI -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -hG -hH -hH -hI -hI -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -hG -hH -hH -hI -hI -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(88,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(89,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(90,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(91,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(92,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -hv -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -gT -hv -aa -"} -(93,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -aa -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -aa -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -hv -aa -"} -(94,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(95,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(96,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -aa -"} -(97,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -aa -"} -(98,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(99,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(100,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(101,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(102,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(103,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(104,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -ho -ho -ho -ho -ho -ho -ho -ho -ho -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(105,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -hn -hk -hk -hk -hk -hk -hk -hk -ho -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(106,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -hn -hk -hk -hk -hk -hk -hk -hk -ho -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(107,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -hn -hk -hk -hk -hk -hk -hk -hk -ho -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(108,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -hr -hk -hk -hk -hk -hk -hk -hk -ho -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(109,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -hr -hk -hk -hk -hk -hk -hk -hk -ho -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(110,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -ho -ho -ho -ho -ho -ho -ho -ho -ho -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(111,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(112,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -hc -gO -gO -gO -gO -hs -gO -hs -aa -"} -(113,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(114,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(115,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(116,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(117,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -aa -"} -(118,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -gO -hs -hs -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -gO -hs -gO -hs -aa -"} -(119,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -hs -aa -"} -(120,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -kd -ac -ac -ac -ac -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(121,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -aa -"} -(122,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hw -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hw -aa -"} -(123,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hw -hp -ha -ha -ha -ha -ha -ha -ha -ha -ha -ha -hz -hp -hp -hp -hp -hp -hp -hp -hp -hp -hw -aa -"} -(124,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -SG -SG -SG -HO -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hw -hp -ha -ha -ha -ha -ha -ha -ha -ha -ha -ha -hz -hp -hp -hp -hp -hp -hp -hp -hp -hp -hw -aa -"} -(125,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -SG -SG -yn -yn -yn -yn -SG -SG -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hw -hp -ha -ha -ha -ha -ha -ha -ha -ha -ha -ha -hz -hp -hp -hp -hp -hp -hp -hp -hp -hp -hw -aa -"} -(126,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -SG -yn -yn -yn -yn -yn -yn -SG -SG -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hw -hp -ha -ha -ha -ha -ha -ha -ha -ha -ha -ha -hz -hp -hp -hp -hp -hp -hp -hp -hp -hp -hw -aa -"} -(127,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -SG -SG -SG -SG -SG -yn -yn -yn -yn -yn -yn -yn -SG -SG -HO -HO -HO -Nb -Nb -Nb -ac -aa -hw -hp -ha -ha -ha -ha -ha -ha -ha -ha -ha -ha -hz -hp -hp -hp -hp -hp -hp -hp -hp -hp -hw -aa -"} -(128,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -SG -yn -yn -yn -yn -yn -yn -yn -yn -yn -yn -yn -yn -SG -HO -HO -HO -Nb -Nb -Nb -ac -aa -hw -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hp -hw -aa -"} -(129,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -SG -SG -SG -SG -yn -yn -yn -yn -yn -yn -yn -yn -yn -SG -HO -HO -HO -Nb -Nb -Nb -ac -aa -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -hw -aa -"} -(130,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -SG -yn -yn -yn -yn -yn -yn -yn -yn -yn -SG -HO -HO -HO -Nb -Nb -Nb -ac -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(131,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -SG -SG -SG -SG -yn -yn -yn -yn -yn -yn -yn -yn -yn -SG -HO -HO -HO -Nb -Nb -Nb -ac -aa -hx -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -hx -aa -"} -(132,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -SG -yn -yn -yn -yn -yn -yn -yn -yn -yn -yn -yn -yn -SG -HO -HO -HO -Nb -Nb -Nb -ac -aa -hx -gX -gX -gX -gX -hh -gX -gX -gX -hh -gX -gX -gX -hh -gX -gX -gX -hh -gX -gX -gX -hh -hx -aa -"} -(133,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -SG -SG -SG -SG -SG -yn -yn -yn -yn -yn -yn -yn -SG -SG -HO -HO -HO -Nb -Nb -Nb -ac -aa -hx -gY -hb -hb -hb -hb -hb -hb -hb -hb -hb -hb -gY -gY -gY -gY -gY -gY -gY -gY -gY -gY -hx -aa -"} -(134,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -SG -yn -yn -yn -yn -yn -yn -SG -SG -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hx -gY -hb -hb -hb -hb -hb -hb -hb -hb -hb -hb -gY -gY -gY -gY -gY -gY -gY -gY -gY -gY -hx -aa -"} -(135,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -SG -SG -yn -yn -yn -yn -SG -SG -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hx -gY -hb -hb -hb -hb -hb -hb -hb -hb -hb -hb -gY -gY -gY -gY -gY -gY -gY -gY -gY -gY -hx -aa -"} -(136,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -HO -SG -SG -SG -SG -SG -SG -HO -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hx -gY -hb -hb -hb -hb -hb -hb -hb -hb -hb -hb -gY -gY -gY -gY -gY -gY -gY -gY -gY -gY -hx -aa -"} -(137,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hx -gY -hb -hb -hb -hb -hb -hb -hb -hb -hb -hb -gY -gY -gY -gY -gY -gY -gY -gY -gY -gY -hx -aa -"} -(138,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hx -gZ -gZ -gZ -gZ -gZ -hi -gZ -gZ -gZ -hi -gZ -gZ -gZ -hi -gZ -gZ -gZ -hi -gZ -gZ -gZ -hJ -aa -"} -(139,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -kd -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -HO -Nb -Nb -Nb -ac -aa -hx -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -gW -hx -aa -"} -(140,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm index 88e8d640dd..19f33ac04b 100644 --- a/maps/tether/tether-01-surface1.dmm +++ b/maps/tether/tether-01-surface1.dmm @@ -91,6 +91,7 @@ id_tag = "mining_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/tether/surfacebase/mining_main/airlock) "aaq" = ( @@ -105,6 +106,7 @@ pixel_x = 25; pixel_y = 8 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/tether/surfacebase/mining_main/airlock) "aar" = ( @@ -141,6 +143,7 @@ frequency = 1379; id_tag = "mining_airlock_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/mining_main/airlock) "aaw" = ( @@ -450,6 +453,7 @@ /area/tether/surfacebase/mining_main/refinery) "aaY" = ( /obj/machinery/embedded_controller/radio/airlock/phoron{ + dir = 8; id_tag = "mining_airlock"; pixel_x = 25 }, @@ -473,6 +477,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/tether/surfacebase/mining_main/airlock) "aaZ" = ( @@ -489,6 +494,7 @@ locked = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/cyan, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/tether/surfacebase/mining_main/airlock) "aba" = ( @@ -506,6 +512,7 @@ id_tag = "mining_airlock_inner"; locked = 1 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/tether/surfacebase/mining_main/airlock) "abc" = ( @@ -3284,6 +3291,7 @@ /obj/machinery/camera/network/civilian{ dir = 2 }, +/obj/machinery/lapvend, /turf/simulated/floor/tiled, /area/storage/primary) "afu" = ( @@ -3600,7 +3608,7 @@ /turf/simulated/floor/tiled, /area/storage/primary) "afW" = ( -/obj/machinery/lapvend, +/obj/structure/table/standard, /turf/simulated/floor/tiled, /area/storage/primary) "afX" = ( @@ -3634,10 +3642,13 @@ icon_state = "bordercolor"; dir = 4 }, -/obj/machinery/vending/coffee, /obj/machinery/camera/network/civilian{ dir = 9 }, +/obj/machinery/vending/coffee{ + icon_state = "coffee"; + dir = 8 + }, /turf/simulated/floor/tiled, /area/crew_quarters/visitor_laundry) "agb" = ( @@ -3820,7 +3831,9 @@ /turf/simulated/floor/tiled, /area/storage/primary) "agB" = ( -/obj/machinery/vending/tool, +/obj/machinery/vending/tool{ + dir = 8 + }, /turf/simulated/floor/tiled, /area/storage/primary) "agC" = ( @@ -4375,7 +4388,9 @@ /turf/simulated/floor/tiled, /area/hallway/lower/first_west) "ahH" = ( -/obj/machinery/chemical_analyzer, +/obj/machinery/chemical_analyzer{ + dir = 4 + }, /obj/effect/floor_decal/borderfloor{ dir = 8 }, @@ -4803,7 +4818,9 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/mining_main/lobby) "ain" = ( -/obj/machinery/chem_master, +/obj/machinery/chem_master{ + dir = 8 + }, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -5008,7 +5025,9 @@ /area/rnd/chemistry_lab) "aiI" = ( /obj/structure/table/glass, -/obj/machinery/chemical_dispenser/full, +/obj/machinery/chemical_dispenser/full{ + dir = 8 + }, /obj/effect/floor_decal/borderfloor{ dir = 4 }, @@ -5708,17 +5727,28 @@ /turf/simulated/floor/plating, /area/maintenance/lower/public_garden_maintenence) "ajN" = ( -/obj/structure/catwalk, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating, -/area/maintenance/lower/public_garden_maintenence) -"ajO" = ( -/obj/structure/catwalk, -/obj/machinery/light/small{ - dir = 1 +/obj/structure/grille, +/obj/machinery/door/firedoor, +/obj/machinery/door/blast/shutters{ + density = 0; + dir = 2; + icon_state = "shutter0"; + id = "holodeck"; + name = "Holodeck Privacy Shutters"; + opacity = 0 + }, +/obj/structure/window/reinforced/polarized/full{ + id = "holodeck" + }, +/obj/structure/window/reinforced/polarized{ + dir = 1; + id = "holodeck" }, /turf/simulated/floor/plating, -/area/maintenance/lower/public_garden_maintenence) +/area/holodeck_control) +"ajO" = ( +/turf/simulated/wall, +/area/holodeck_control) "ajP" = ( /obj/structure/railing{ dir = 8 @@ -5764,14 +5794,25 @@ /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/public_garden_maintenence) "ajV" = ( -/obj/structure/catwalk, -/obj/machinery/alarm{ +/obj/structure/grille, +/obj/machinery/door/firedoor, +/obj/machinery/door/blast/shutters{ + density = 0; dir = 8; - pixel_x = 25; - pixel_y = 0 + icon_state = "shutter0"; + id = "holodeck"; + name = "Holodeck Privacy Shutters"; + opacity = 0 + }, +/obj/structure/window/reinforced/polarized/full{ + id = "holodeck" + }, +/obj/structure/window/reinforced/polarized{ + dir = 8; + id = "holodeck" }, /turf/simulated/floor/plating, -/area/maintenance/lower/public_garden_maintenence) +/area/holodeck_control) "ajW" = ( /obj/structure/disposalpipe/segment, /turf/simulated/wall, @@ -6070,20 +6111,12 @@ /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/public_garden_maintenence) "akH" = ( -/obj/structure/catwalk, -/obj/structure/cable/green{ - d1 = 2; - d2 = 8; - icon_state = "2-8" +/obj/machinery/camera/network/outside{ + icon_state = "camera"; + dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/turf/simulated/floor/plating, -/area/maintenance/lower/public_garden_maintenence) +/turf/simulated/floor/outdoors/grass/sif/virgo3b, +/area/holodeck_control) "akI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, @@ -6101,20 +6134,10 @@ /turf/simulated/floor/plating, /area/maintenance/lower/public_garden_maintenence) "akL" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 9 +/turf/simulated/floor/reinforced{ + name = "Holodeck Projector Floor" }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 9 - }, -/obj/machinery/firealarm{ - dir = 2; - layer = 3.3; - pixel_x = 0; - pixel_y = 26 - }, -/turf/simulated/floor/tiled, -/area/tether/surfacebase/public_garden_one) +/area/holodeck/alphadeck) "akM" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -6128,9 +6151,18 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_one) "akO" = ( -/obj/structure/window/reinforced, -/turf/simulated/floor/tiled, -/area/tether/surfacebase/public_garden_one) +/obj/machinery/firealarm{ + dir = 4; + layer = 3.3; + pixel_x = 26 + }, +/obj/machinery/camera/network/civilian, +/obj/structure/table/standard, +/obj/random/soap, +/turf/simulated/floor/tiled{ + icon_state = "techmaint" + }, +/area/holodeck_control) "akP" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/borderfloor/corner{ @@ -6186,9 +6218,14 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_one) "akV" = ( -/obj/machinery/hologram/holopad, -/turf/simulated/floor/tiled, -/area/tether/surfacebase/public_garden_one) +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) "akW" = ( /obj/structure/window/reinforced{ dir = 4 @@ -6200,15 +6237,24 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_one) "akY" = ( -/obj/structure/window/reinforced{ - dir = 8 +/obj/structure/catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/tether/surfacebase/public_garden_one) +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) "akZ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/tiled, -/area/tether/surfacebase/public_garden_one) +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) "ala" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -6352,6 +6398,11 @@ dir = 4; icon_state = "pipe-c" }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_one) "all" = ( @@ -6371,6 +6422,11 @@ d2 = 4; icon_state = "2-4" }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_one) "alm" = ( @@ -6566,6 +6622,11 @@ /obj/effect/floor_decal/corner/lightgrey/border{ dir = 10 }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_one) "alx" = ( @@ -6578,12 +6639,22 @@ /obj/effect/floor_decal/corner/lightgrey/bordercorner{ dir = 8 }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_one) "aly" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_one) "alz" = ( @@ -6593,6 +6664,9 @@ /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/lightgrey/bordercorner, +/obj/structure/cable/green{ + icon_state = "1-8" + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_one) "alA" = ( @@ -7036,7 +7110,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 4 + }, /turf/simulated/floor/tiled/monotile, /area/tether/surfacebase/public_garden) "amj" = ( @@ -7278,7 +7354,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 4 + }, /turf/simulated/floor/tiled/monotile, /area/tether/surfacebase/public_garden) "amD" = ( @@ -7504,7 +7582,9 @@ /turf/simulated/floor/tiled, /area/storage/primary) "amV" = ( -/obj/machinery/vending/assist, +/obj/machinery/vending/assist{ + dir = 8 + }, /obj/machinery/status_display{ layer = 4; pixel_x = 32; @@ -8480,6 +8560,7 @@ frequency = 1379; id_tag = "civ_airlock_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/storage/surface_eva/external) "aot" = ( @@ -8495,6 +8576,7 @@ frequency = 1379; id_tag = "civ_airlock_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/storage/surface_eva/external) "aou" = ( @@ -8831,6 +8913,7 @@ id_tag = "civ_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/storage/surface_eva/external) "aoX" = ( @@ -8879,6 +8962,7 @@ d2 = 8; icon_state = "4-8" }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/storage/surface_eva/external) "apa" = ( @@ -9269,6 +9353,7 @@ id_tag = "civ_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/storage/surface_eva/external) "apI" = ( @@ -9280,6 +9365,7 @@ /area/storage/surface_eva/external) "apJ" = ( /obj/machinery/embedded_controller/radio/airlock/phoron{ + dir = 8; id_tag = "civ_airlock"; pixel_x = 25; pixel_y = -30 @@ -9290,6 +9376,7 @@ pixel_x = 25; pixel_y = -40 }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/storage/surface_eva/external) "apK" = ( @@ -9300,6 +9387,7 @@ id_tag = "civ_airlock_inner"; locked = 1 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/storage/surface_eva/external) "apL" = ( @@ -12349,15 +12437,22 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/tram) "auW" = ( -/turf/simulated/floor/maglev, -/area/shuttle/escape/station{ - base_turf = /turf/simulated/floor/tiled/techfloor/grid - }) +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ + frequency = 1379; + scrub_id = "rnd_s_airlock_scrubber" + }, +/turf/simulated/floor/tiled/techmaint, +/area/rnd/external) "auX" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether/surfacebase/tram; + base_turf = /turf/simulated/floor/tiled/techfloor/grid; + docking_controller = null; + landmark_tag = "escape_station"; + name = "Tether Surface Base" + }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/escape/station{ - base_turf = /turf/simulated/floor/tiled/techfloor/grid - }) +/area/tether/surfacebase/tram) "auY" = ( /obj/structure/cable/green{ d1 = 1; @@ -13285,7 +13380,9 @@ /turf/simulated/wall, /area/rnd/hallway) "awo" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 1 + }, /obj/effect/floor_decal/corner/lightgrey{ dir = 9 }, @@ -13321,7 +13418,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 1 + }, /turf/simulated/floor/tiled/monotile, /area/hallway/lower/first_west) "awq" = ( @@ -13341,7 +13440,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, -/obj/machinery/vending/fitness, +/obj/machinery/vending/fitness{ + dir = 1 + }, /obj/machinery/light{ icon_state = "tube1"; dir = 4 @@ -13681,7 +13782,10 @@ /turf/simulated/floor/tiled, /area/security/checkpoint) "awR" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + icon_state = "snack"; + dir = 4 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/tram) "awS" = ( @@ -14088,7 +14192,10 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/tram) "axz" = ( -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + icon_state = "Soda_Machine"; + dir = 4 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/tram) "axA" = ( @@ -15018,28 +15125,28 @@ /obj/effect/floor_decal/corner/lightgrey{ dir = 6 }, -/obj/machinery/vending/nifsoft_shop, +/obj/machinery/vending/snack, /turf/simulated/floor/tiled/monotile, /area/crew_quarters/locker/laundry_arrival) "ayS" = ( -/obj/machinery/vending/snack, /obj/effect/floor_decal/corner/lightgrey{ dir = 9 }, /obj/effect/floor_decal/corner/lightgrey{ dir = 6 }, +/obj/machinery/vending/coffee, /turf/simulated/floor/tiled/monotile, /area/crew_quarters/locker/laundry_arrival) "ayT" = ( /obj/machinery/camera/network/civilian, -/obj/machinery/vending/coffee, /obj/effect/floor_decal/corner/lightgrey{ dir = 9 }, /obj/effect/floor_decal/corner/lightgrey{ dir = 6 }, +/obj/machinery/vending/nifsoft_shop, /turf/simulated/floor/tiled/monotile, /area/crew_quarters/locker/laundry_arrival) "ayU" = ( @@ -17689,7 +17796,10 @@ /turf/simulated/floor/lino, /area/crew_quarters/visitor_dining) "aCT" = ( -/obj/machinery/vending/fitness, +/obj/machinery/vending/fitness{ + icon_state = "fitness"; + dir = 4 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/tram) "aCU" = ( @@ -18009,7 +18119,10 @@ /turf/simulated/floor/lino, /area/crew_quarters/visitor_dining) "aDw" = ( -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + icon_state = "coffee"; + dir = 4 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/tram) "aDx" = ( @@ -18131,7 +18244,9 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 8 + }, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, @@ -18483,7 +18598,9 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 8 + }, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, @@ -18795,7 +18912,9 @@ /turf/simulated/floor/tiled, /area/rnd/hallway) "aEU" = ( -/obj/machinery/seed_storage/xenobotany, +/obj/machinery/seed_storage/xenobotany{ + dir = 1 + }, /obj/effect/floor_decal/borderfloor{ dir = 10 }, @@ -18806,7 +18925,8 @@ /area/rnd/xenobiology/xenoflora) "aEV" = ( /obj/machinery/vending/hydronutrients{ - categories = 3 + categories = 3; + dir = 1 }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/mauve/border, @@ -20082,7 +20202,9 @@ /area/crew_quarters/visitor_dining) "aGy" = ( /obj/structure/table/marble, -/obj/machinery/chemical_dispenser/bar_coffee/full, +/obj/machinery/chemical_dispenser/bar_coffee/full{ + dir = 8 + }, /obj/machinery/floor_light/prebuilt{ on = 1 }, @@ -22514,7 +22636,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_one_hall) "aKE" = ( @@ -22527,7 +22651,9 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/machinery/lapvend, +/obj/machinery/lapvend{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_one_hall) "aKF" = ( @@ -22537,7 +22663,9 @@ /obj/effect/floor_decal/corner/lightgrey{ dir = 5 }, -/obj/machinery/vending/cigarette, +/obj/machinery/vending/cigarette{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_one_hall) "aKG" = ( @@ -22635,6 +22763,7 @@ id_tag = "rnd_s_airlock_inner"; locked = 1 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/rnd/external) "aKN" = ( @@ -22651,6 +22780,7 @@ locked = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/rnd/external) "aKO" = ( @@ -22834,13 +22964,17 @@ /turf/simulated/floor/lino, /area/crew_quarters/visitor_dining) "aLm" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ - frequency = 1379; - scrub_id = "rnd_s_airlock_scrubber"; - scrubbing_gas = list("phoron") +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 1 }, -/turf/simulated/floor/tiled/techmaint, -/area/rnd/external) +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) "aLn" = ( /obj/structure/grille, /obj/structure/railing{ @@ -22870,6 +23004,7 @@ pixel_x = 11; pixel_y = 30 }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/rnd/external) "aLp" = ( @@ -22930,6 +23065,7 @@ frequency = 1379; id_tag = "rnd_s_airlock_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/rnd/external) "aLs" = ( @@ -23639,6 +23775,7 @@ id_tag = "rnd_s_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/rnd/external) "aMK" = ( @@ -23654,6 +23791,7 @@ id_tag = "rnd_s_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/rnd/external) "aML" = ( @@ -27793,7 +27931,7 @@ icon_state = "tube1"; pixel_x = 0 }, -/obj/machinery/vending/loadout/costume, +/obj/machinery/gear_painter, /turf/simulated/floor/tiled, /area/crew_quarters/visitor_laundry) "aUp" = ( @@ -28905,7 +29043,10 @@ icon_state = "bordercolor"; dir = 8 }, -/obj/machinery/gear_painter, +/obj/machinery/vending/loadout/costume{ + icon_state = "theater"; + dir = 4 + }, /turf/simulated/floor/tiled, /area/crew_quarters/visitor_laundry) "aWp" = ( @@ -29081,7 +29222,10 @@ icon_state = "bordercolor"; dir = 8 }, -/obj/machinery/vending/fitness, +/obj/machinery/vending/fitness{ + icon_state = "fitness"; + dir = 4 + }, /turf/simulated/floor/tiled, /area/crew_quarters/visitor_laundry) "aWN" = ( @@ -29092,7 +29236,10 @@ icon_state = "bordercolor"; dir = 4 }, -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + icon_state = "Soda_Machine"; + dir = 8 + }, /turf/simulated/floor/tiled, /area/crew_quarters/visitor_laundry) "aWO" = ( @@ -29149,12 +29296,15 @@ icon_state = "bordercolor"; dir = 10 }, -/obj/machinery/vending/cigarette, /obj/machinery/light{ dir = 8; icon_state = "tube1"; pixel_y = 0 }, +/obj/machinery/vending/cigarette{ + icon_state = "cigs"; + dir = 4 + }, /turf/simulated/floor/tiled, /area/crew_quarters/visitor_laundry) "aWW" = ( @@ -29842,7 +29992,9 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/vending/cigarette, +/obj/machinery/vending/cigarette{ + dir = 8 + }, /obj/machinery/light_construct{ icon_state = "tube-construct-stage1"; dir = 4 @@ -32269,6 +32421,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals3{ dir = 5 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/rnd/external) "bcV" = ( @@ -32291,15 +32444,508 @@ }, /turf/simulated/floor/plating, /area/maintenance/lower/atmos) +"bcY" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) +"bcZ" = ( +/obj/machinery/computer/HolodeckControl{ + icon_state = "computer"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bda" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, +/obj/structure/cable/green{ + d2 = 4; + icon_state = "0-4" + }, +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdb" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/holodeck_control) +"bdc" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) +"bdd" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) +"bde" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) +"bdf" = ( +/obj/structure/catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) +"bdg" = ( +/obj/machinery/door/airlock{ + name = "Holodeck" + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled{ + icon_state = "techmaint" + }, +/area/holodeck_control) +"bdh" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/floor_decal/techfloor/orange{ + dir = 9 + }, +/obj/effect/floor_decal/techfloor/hole{ + icon_state = "techfloor_hole_left"; + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdi" = ( +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdj" = ( +/obj/structure/catwalk, +/obj/machinery/alarm{ + dir = 8; + pixel_x = 25; + pixel_y = 0 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) +"bdk" = ( +/obj/machinery/door/firedoor/glass, +/obj/structure/grille, +/obj/structure/window/reinforced/polarized/full{ + id = "holodeck" + }, +/turf/simulated/floor, +/area/holodeck_control) +"bdl" = ( +/obj/machinery/hologram/holopad, +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdm" = ( +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdn" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) +"bdo" = ( +/obj/machinery/camera/network/civilian{ + dir = 9 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdp" = ( +/obj/machinery/button/windowtint{ + id = "holodeck"; + pixel_x = 35; + pixel_y = 0; + range = 14; + req_access = newlist() + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/alarm{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdq" = ( +/obj/structure/table/standard, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/item/weapon/paper{ + info = "Brusies sustained in the holodeck can be healed simply by sleeping."; + name = "Holodeck Disclaimer" + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bds" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) +"bdt" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + name = "Holodeck" + }, +/turf/simulated/floor/tiled{ + icon_state = "techmaint" + }, +/area/holodeck_control) +"bdw" = ( +/obj/machinery/light/small, +/obj/effect/floor_decal/techfloor/orange{ + dir = 10 + }, +/obj/effect/floor_decal/techfloor/hole/right{ + icon_state = "techfloor_hole_right"; + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 28 + }, +/obj/effect/floor_decal/techfloor/orange/corner{ + icon_state = "techfloororange_corners"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdz" = ( +/obj/machinery/alarm{ + dir = 8; + pixel_x = 22; + pixel_y = 0 + }, +/obj/machinery/camera/network/civilian{ + dir = 1 + }, +/obj/structure/sink/kitchen{ + pixel_y = 30 + }, +/turf/simulated/floor/tiled{ + icon_state = "techmaint" + }, +/area/holodeck_control) +"bdA" = ( +/obj/machinery/door/airlock/glass{ + name = "Holodeck" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/door/firedoor, +/turf/simulated/floor/tiled/techmaint, +/area/holodeck_control) +"bdB" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/lower/public_garden_maintenence) +"bdC" = ( +/obj/effect/floor_decal/corner/lightgrey{ + dir = 9 + }, +/obj/effect/floor_decal/corner/lightgrey{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdD" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 9 + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 0; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdE" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightgrey/bordercorner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdH" = ( +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdJ" = ( +/obj/machinery/hologram/holopad, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdK" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdL" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bdN" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"bZC" = ( +/turf/simulated/floor/looking_glass, +/area/looking_glass/lg_1) +"cAR" = ( +/turf/simulated/floor/looking_glass/center, +/area/looking_glass/lg_1) "cGJ" = ( /turf/simulated/floor/plating, /area/maintenance/lower/mining_eva) +"cPs" = ( +/obj/machinery/computer/looking_glass{ + lg_id = "one" + }, +/obj/effect/floor_decal/spline/plain{ + icon_state = "spline_plain"; + dir = 9 + }, +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 28 + }, +/turf/simulated/floor/tiled/techmaint, +/area/looking_glass/lg_1) +"fcT" = ( +/turf/simulated/floor/looking_glass{ + icon_state = "origin_arrow"; + dir = 8 + }, +/area/looking_glass/lg_1) +"ffD" = ( +/turf/simulated/floor/looking_glass{ + icon_state = "origin_arrow"; + dir = 10 + }, +/area/looking_glass/lg_1) +"gaK" = ( +/obj/machinery/door/airlock/glass{ + name = "Looking Glass" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techmaint, +/area/tether/surfacebase/public_garden_one) "guV" = ( /obj/structure/closet, /obj/random/drinkbottle, /obj/random/maintenance/cargo, /turf/simulated/floor/tiled/techfloor, /area/maintenance/lower/vacant_site) +"gZN" = ( +/turf/simulated/floor/looking_glass{ + icon_state = "origin_arrow"; + dir = 9 + }, +/area/looking_glass/lg_1) +"hAe" = ( +/turf/simulated/floor/looking_glass{ + icon_state = "origin_arrow"; + dir = 5 + }, +/area/looking_glass/lg_1) +"hFG" = ( +/obj/effect/landmark/looking_glass, +/turf/simulated/floor/looking_glass/center, +/area/looking_glass/lg_1) +"iue" = ( +/turf/simulated/floor/looking_glass{ + icon_state = "origin_arrow"; + dir = 1 + }, +/area/looking_glass/lg_1) "lry" = ( /obj/structure/catwalk, /obj/structure/closet, @@ -32309,6 +32955,24 @@ /obj/random/drinkbottle, /turf/simulated/floor/plating, /area/maintenance/lower/vacant_site) +"lNp" = ( +/turf/simulated/floor/looking_glass/optional{ + icon_state = "origin_optional_arrow"; + dir = 4 + }, +/area/looking_glass/lg_1) +"mdP" = ( +/obj/machinery/door/airlock{ + id_tag = "lg_1"; + name = "Looking Glass" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/tether/surfacebase/public_garden_one) "nlo" = ( /obj/structure/railing{ dir = 1 @@ -32325,9 +32989,87 @@ }, /turf/simulated/floor/plating, /area/maintenance/substation/mining) +"orF" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/tether/surfacebase/public_garden_one) +"oRz" = ( +/turf/simulated/floor/looking_glass{ + icon_state = "origin_arrow"; + dir = 4 + }, +/area/looking_glass/lg_1) +"rIU" = ( +/obj/effect/floor_decal/corner/lightgrey{ + dir = 9 + }, +/obj/effect/floor_decal/corner/lightgrey{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_one) +"sIO" = ( +/turf/simulated/floor/looking_glass{ + icon_state = "origin_arrow"; + dir = 6 + }, +/area/looking_glass/lg_1) +"tRJ" = ( +/obj/effect/floor_decal/spline/plain{ + icon_state = "spline_plain"; + dir = 10 + }, +/obj/machinery/button/remote/airlock{ + dir = 8; + id = "lg_1"; + name = "Looking Glass Lock"; + pixel_x = 28; + pixel_y = 28; + specialfunctions = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/techmaint, +/area/looking_glass/lg_1) "vNx" = ( /turf/simulated/floor/plating, /area/maintenance/substation/mining) +"xOH" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/looking_glass/lg_1) "yiv" = ( /obj/structure/closet/crate, /obj/random/maintenance/cargo, @@ -35054,6 +35796,7 @@ aad aad aad aad +akH aad aad aad @@ -35062,8 +35805,7 @@ aad aad aad aad -aad -aad +akH aad aad aad @@ -35195,18 +35937,18 @@ aad aad aad aad -aad -aad -aad -aad -aad -aad -aad -aah -aah -aad -aad -aad +ajO +ajO +ajV +ajV +ajV +ajV +ajV +ajV +ajV +ajV +ajO +ajO aad aad aad @@ -35337,18 +36079,18 @@ aad aad aad aad -aad -aad -aad -aad -aad -aad -aad -aah -aah -aah -aah -aah +ajO +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO adK aeo aeo @@ -35479,18 +36221,18 @@ aad aad aad aad -aad -aad -aad -aad -aah -aah -aah -aah -aah -aah -aah -aah +ajN +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO adK aep adK @@ -35621,18 +36363,18 @@ aad aad aad aad -aad -aad -aad -aad -aah -aah -aah -aah -aah -aah -aah -aah +ajN +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO adK aep aep @@ -35669,12 +36411,12 @@ aah aah auK aAt -aBv -aBv -aBv -aBv -aBv -aBv +auK +auK +auK +auK +auK +auK aah aah aah @@ -35763,18 +36505,18 @@ aad aad aad aad -aad -aad -aad -aad -aah -aah -aah -aah -aah -aah -aah -aah +ajN +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO adK adK adK @@ -35782,7 +36524,7 @@ adK adK adK adK -aah +ajS aah aah aah @@ -35811,7 +36553,7 @@ aah aah auK aAu -aBv +auK aah aah aah @@ -35905,26 +36647,26 @@ aad aad aad aad -aad -aad -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah +ajN +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO +gZN +fcT +fcT +fcT +fcT +fcT +ffD +ajS aah aah aah @@ -35953,7 +36695,7 @@ aah aah auK aAu -aBv +auK aah aah aah @@ -36047,26 +36789,26 @@ aad aad aad aad -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah +ajN +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO +iue +cAR +cAR +cAR +cAR +cAR +bZC +ajS aah aah aah @@ -36095,7 +36837,7 @@ aah aah auK abB -aBv +auK aah aah aah @@ -36189,26 +36931,26 @@ aad aad aad aad -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah +ajN +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO +iue +cAR +cAR +cAR +cAR +cAR +bZC +ajS aah aah aah @@ -36237,7 +36979,7 @@ aah aah auK aAu -aBv +auK aah aah aah @@ -36331,26 +37073,26 @@ aad aad aad aad -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah +ajN +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO +iue +cAR +cAR +hFG +cAR +cAR +bZC +ajS aah aah aah @@ -36379,7 +37121,7 @@ aah aah auK aAv -aBv +auK aah aah aah @@ -36473,26 +37215,26 @@ aad aad aad aad -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah +ajN +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO +iue +cAR +cAR +cAR +cAR +cAR +bZC +ajS aah aah aah @@ -36521,7 +37263,7 @@ agv agv azs aAw -aBv +auK aah aah aah @@ -36615,26 +37357,26 @@ aad aad aad aad -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah +ajO +akL +akL +akL +akL +akL +akL +akL +akL +akL +akL +ajO +iue +cAR +lNp +lNp +lNp +cAR +bZC +ajS aah agU agU @@ -36663,7 +37405,7 @@ aip aiJ azs aaT -aBv +auK aah aah aah @@ -36757,26 +37499,26 @@ aad aad aad aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah +ajO +akO +ajO +bdg +bdk +bdk +bdk +bdk +bdv +ajO +bdz +ajO +hAe +oRz +cPs +xOH +tRJ +oRz +sIO +ajS aah agU ahi @@ -36805,7 +37547,7 @@ ais aiK azs aAu -aBv +auK aah aah aah @@ -36899,26 +37641,26 @@ aad aad aad aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -aah +ajO +ajO +ajO +bdh +bdl +bcZ +bdq +bdt +bdw +ajO +ajO ajS ajS ajS ajS -aah -aah -aah -aah -aah +ajS +mdP +ajS +ajS +ajS aah agU ahj @@ -36947,7 +37689,7 @@ aiH aiL azs aAw -aBv +auK aah aah aah @@ -37042,23 +37784,23 @@ aad aad aah aah -aah -aah -aah -aah -aah -aah -aah -aah -aah -ajS -ajS +ajO +bda +bdi +bdm +bdo +bdp +bdu +bdx +bdy +bdA +bdC akU ali +rIU +gaK +orF ajS -ajS -aah -aah aah aah aah @@ -37089,7 +37831,7 @@ aiI aiM azs aAu -aBv +auK aah aah aah @@ -37184,23 +37926,23 @@ aad aad aah aah -aah -aah -aah -aah -aah -aah -aah -aah -ajS -ajS -akL +ajO +bdb +ajO +ajO +ajO +ajO +ajO +ajO +ajO +ajO +bdD akM alj alw ajS ajS -aah +ajS aah aah aah @@ -37231,7 +37973,7 @@ agv agv azs aAx -aBv +auK aBv aBv aBv @@ -37326,9 +38068,9 @@ aad aah aah aah -aah -aah -aah +ajL +bdc +ajL aah aah aah @@ -37336,7 +38078,7 @@ aah ajS ajS akD -akM +bdE akN akN alx @@ -37469,7 +38211,7 @@ aad aah ajL ajL -ajL +bdd ajS ajS ajS @@ -37478,10 +38220,10 @@ ajS ajS akv akE -akN -akV -akN -aly +bdF +bdJ +bdM +bdN alN ame ajS @@ -37610,8 +38352,8 @@ aad aah aah ajL -ajM -ajM +akV +bde ajT ajY akb @@ -37620,7 +38362,7 @@ akk akq akw akE -akN +bdG akW akN aly @@ -37672,8 +38414,8 @@ aah aah aah aKL -aLm -aLm +auW +auW aKL aah aah @@ -37752,7 +38494,7 @@ aad aah aah ajL -ajN +akY ajM ajT ajY @@ -37762,7 +38504,7 @@ akk akr akx akE -akO +bdH akX akN aly @@ -37894,7 +38636,7 @@ aad aah aah ajL -ajM +akZ ajP ajS ajS @@ -37904,8 +38646,8 @@ ajS ajS aky akE -akN -akY +bdI +bdK akN aly alN @@ -38036,7 +38778,7 @@ aad aad aah ajL -ajO +aLm ajQ aah aah @@ -38047,7 +38789,7 @@ ajS ajS akF akP -akZ +bdL alk alz alO @@ -38178,7 +38920,7 @@ aad aad aah ajL -ajM +akZ ajR ajU ajZ @@ -38320,12 +39062,12 @@ aad aad aah ajL -ajM -ajN -ajV -ajM -ajM -ajM +bcY +bdf +bdj +bdn +bdn +bds akm aah aah @@ -38467,7 +39209,7 @@ ajL ajL akA ajL -ajM +akZ akm akn akn @@ -38609,7 +39351,7 @@ aah aah aah ajL -ajM +akZ ajR aki akz @@ -38666,8 +39408,8 @@ aID aJv aJZ aKL -aLm -aLm +auW +auW aKL aah aah @@ -38751,11 +39493,11 @@ aah aah aah ajL -ajM -ajM -ajM -ajM -akH +bcY +bdn +bdn +bdn +bdB akS ald alo @@ -49293,20 +50035,20 @@ atz aud aud aud +aud +aud +aud +aud +aud +aud auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX +aud +aud +aud +aud +aud +aud +aud aud aud atz @@ -49434,22 +50176,22 @@ aad atA aue aue -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue aue atA aad @@ -49576,22 +50318,22 @@ aad atB aud aud -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud aud atB aad @@ -49718,22 +50460,22 @@ aad atB aud aud -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud aud atB aad @@ -49860,22 +50602,22 @@ aad atB aud aud -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud aud atB aad @@ -50002,22 +50744,22 @@ aad atB aud aud -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud aud atB aad @@ -50144,22 +50886,22 @@ aad atA aue aue -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW -auW +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue +aue aue atA aad @@ -50287,20 +51029,20 @@ atz aud aud aud -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX -auX +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud +aud aud aud atz diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index 2f1678a3ae..71d9b12bf7 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -4820,7 +4820,9 @@ icon_state = "camera"; dir = 5 }, -/obj/machinery/vending/hydronutrients/brig, +/obj/machinery/vending/hydronutrients/brig{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/brig) "akh" = ( @@ -9017,7 +9019,9 @@ /turf/simulated/floor/wood, /area/engineering/lower/breakroom) "arU" = ( -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/engineering/lower/breakroom) "arV" = ( @@ -9586,7 +9590,9 @@ /turf/simulated/floor/carpet, /area/engineering/lower/breakroom) "asM" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/engineering/lower/breakroom) "asN" = ( @@ -10643,7 +10649,9 @@ /area/maintenance/substation/research) "auL" = ( /obj/structure/table/glass, -/obj/machinery/chemical_dispenser/bar_soft/full, +/obj/machinery/chemical_dispenser/bar_soft/full{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/engineering/lower/breakroom) "auM" = ( @@ -12482,7 +12490,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, -/obj/machinery/vending/cigarette, +/obj/machinery/vending/cigarette{ + dir = 1 + }, /turf/simulated/floor/tiled/monotile, /area/rnd/breakroom) "axO" = ( @@ -12515,7 +12525,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, -/obj/machinery/vending/snack, +/obj/machinery/vending/coffee{ + dir = 1 + }, /turf/simulated/floor/tiled/monotile, /area/rnd/breakroom) "axQ" = ( @@ -15086,7 +15098,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, -/obj/machinery/vending/coffee, +/obj/machinery/vending/snack{ + dir = 1 + }, /turf/simulated/floor/tiled/monotile, /area/rnd/breakroom) "aBG" = ( @@ -24554,7 +24568,9 @@ /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/breakroom) "aSY" = ( -/obj/machinery/vending/fitness, +/obj/machinery/vending/fitness{ + dir = 1 + }, /obj/effect/floor_decal/borderfloorwhite{ dir = 6 }, @@ -26575,7 +26591,9 @@ /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/interrogation) "aVQ" = ( -/obj/machinery/seed_storage/brig, +/obj/machinery/seed_storage/brig{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/brig) "aVR" = ( @@ -27940,7 +27958,9 @@ /area/bridge_hallway) "aYh" = ( /obj/structure/table/woodentable, -/obj/machinery/chemical_dispenser/bar_soft/full, +/obj/machinery/chemical_dispenser/bar_soft/full{ + dir = 1 + }, /turf/simulated/floor/wood, /area/bridge/meeting_room) "aYi" = ( @@ -32259,18 +32279,18 @@ aab aab aab aab -aab -aab -aab -aab -aab -aab -aab +acK +acK +acK +acK +acK +acK +acK aac aac -aab -aab -aab +acK +acK +acK aab acI acI @@ -32401,13 +32421,13 @@ aab aab aab aab -aab -aab -aab -aab -aab -aab -aab +acK +acK +acK +acK +acK +acK +acK aac aac aac @@ -32543,10 +32563,10 @@ aab aab aab aab -aab -aab -aab -aab +acK +acK +acK +acK aac aac aac @@ -32685,10 +32705,10 @@ aab aab aab aab -aab -aab -aab -aab +acK +acK +acK +acK aac aac aac @@ -32827,10 +32847,10 @@ aab aab aab aab -aab -aab -aab -aab +acK +acK +acK +acK aac aac aac @@ -32969,8 +32989,8 @@ aab aab aab aab -aab -aab +acK +acK aac aac aac @@ -38564,7 +38584,7 @@ aut aut aut atJ -aBF +axP auv azl aCY @@ -38706,7 +38726,7 @@ auZ auu auu axb -axP +aBF auv azm aAf diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index 54cf45093d..6b80c5f016 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -776,7 +776,9 @@ /turf/simulated/floor/plating, /area/tether/surfacebase/surface_three_hall) "abC" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 1 + }, /obj/effect/floor_decal/borderfloor{ dir = 10 }, @@ -1702,7 +1704,9 @@ /turf/simulated/floor/plating, /area/maintenance/lower/medsec_maintenance) "adc" = ( -/obj/machinery/vending/medical, +/obj/machinery/vending/medical{ + dir = 4 + }, /obj/effect/floor_decal/borderfloorwhite{ dir = 9 }, @@ -1770,7 +1774,9 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/security/processing) "adh" = ( -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 1 + }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /obj/machinery/camera/network/security{ @@ -1780,7 +1786,9 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/security/breakroom) "adi" = ( -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 1 + }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /obj/machinery/light, @@ -5033,7 +5041,9 @@ /turf/simulated/wall/r_wall, /area/crew_quarters/panic_shelter) "aip" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 4 + }, /obj/effect/floor_decal/corner/lightgrey{ dir = 10 }, @@ -5053,15 +5063,10 @@ /turf/simulated/floor/tiled/monotile, /area/tether/surfacebase/surface_three_hall) "aiq" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 9 - }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 9 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7, -/turf/simulated/floor/tiled, -/area/tether/surfacebase/surface_three_hall) +/obj/machinery/portable_atmospherics/hydroponics/soil, +/obj/machinery/camera/network/civilian, +/turf/simulated/floor/grass, +/area/tether/surfacebase/public_garden_three) "air" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -5174,7 +5179,9 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/floor_decal/rust, -/obj/machinery/vending/assist, +/obj/machinery/vending/assist{ + dir = 4 + }, /turf/simulated/floor/plating, /area/rnd/research_storage) "aiA" = ( @@ -5762,30 +5769,20 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/panic_shelter) "ajt" = ( -/obj/machinery/alarm{ - dir = 4; - icon_state = "alarm0"; - pixel_x = -22; - pixel_y = 0 +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 }, -/obj/effect/floor_decal/corner/lightgrey{ - dir = 10 - }, -/obj/effect/floor_decal/corner/lightgrey{ - dir = 5 - }, -/obj/structure/flora/pottedplant/stoutbush, -/turf/simulated/floor/tiled/monotile, -/area/tether/surfacebase/surface_three_hall) -"aju" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 8 +/obj/effect/floor_decal/corner/lime/bordercorner{ + dir = 1 }, /turf/simulated/floor/tiled, -/area/tether/surfacebase/surface_three_hall) +/area/tether/surfacebase/public_garden_three) +"aju" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) "ajv" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -6022,7 +6019,9 @@ d2 = 8; icon_state = "4-8" }, -/obj/machinery/vending/security, +/obj/machinery/vending/security{ + dir = 8 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/common) "ajQ" = ( @@ -6248,7 +6247,9 @@ /turf/simulated/floor/tiled, /area/hallway/lower/third_south) "akl" = ( -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 4 + }, /obj/effect/floor_decal/corner/lightgrey{ dir = 10 }, @@ -6268,18 +6269,18 @@ /turf/simulated/floor/tiled/monotile, /area/tether/surfacebase/surface_three_hall) "akm" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 10 +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 8 +/obj/effect/floor_decal/corner/lime/bordercorner{ + icon_state = "bordercolorcorner"; + dir = 4 }, -/obj/machinery/light, /turf/simulated/floor/tiled, -/area/tether/surfacebase/surface_three_hall) +/area/tether/surfacebase/public_garden_three) "akn" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lightgrey/border, @@ -6879,6 +6880,7 @@ /obj/machinery/light/small{ dir = 4 }, +/obj/machinery/suit_cycler/captain, /turf/simulated/floor/wood, /area/crew_quarters/captain) "aln" = ( @@ -6911,7 +6913,9 @@ /turf/simulated/wall/r_wall, /area/tether/surfacebase/surface_three_hall) "alp" = ( -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 4 + }, /obj/machinery/alarm{ dir = 4; icon_state = "alarm0"; @@ -7270,7 +7274,9 @@ /turf/simulated/floor/plating, /area/tether/surfacebase/surface_three_hall) "amc" = ( -/obj/machinery/vending/cigarette, +/obj/machinery/vending/cigarette{ + dir = 4 + }, /turf/simulated/floor/wood, /area/tether/surfacebase/surface_three_hall) "amd" = ( @@ -8626,18 +8632,17 @@ /turf/simulated/floor/tiled, /area/crew_quarters/pool) "aou" = ( -/obj/structure/reagent_dispensers/water_cooler/full, -/obj/item/device/radio/intercom{ - dir = 2; - pixel_y = -24 +/obj/effect/floor_decal/corner/lightgrey{ + dir = 9 }, -/obj/machinery/light{ - dir = 4; - icon_state = "tube1"; - pixel_x = 0 +/obj/effect/floor_decal/corner/lightgrey{ + dir = 6 }, -/turf/simulated/floor/wood, -/area/crew_quarters/recreation_area) +/obj/machinery/vending/snack{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/surface_three_hall) "aov" = ( /obj/machinery/scale, /obj/structure/disposalpipe/segment{ @@ -10471,7 +10476,9 @@ /area/crew_quarters/pool) "arx" = ( /obj/structure/table/marble, -/obj/machinery/chemical_dispenser/bar_soft/full, +/obj/machinery/chemical_dispenser/bar_soft/full{ + dir = 1 + }, /turf/simulated/floor/lino, /area/crew_quarters/bar) "ary" = ( @@ -11465,7 +11472,9 @@ /area/crew_quarters/bar) "atj" = ( /obj/effect/floor_decal/corner/grey/diagonal, -/obj/machinery/vending/dinnerware, +/obj/machinery/vending/dinnerware{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "atk" = ( @@ -13722,13 +13731,17 @@ /turf/simulated/floor/tiled/steel_grid, /area/rnd/research) "awY" = ( -/obj/machinery/r_n_d/circuit_imprinter, +/obj/machinery/r_n_d/circuit_imprinter{ + dir = 1 + }, /obj/item/weapon/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/dark, /area/rnd/research) "awZ" = ( /obj/machinery/hologram/holopad, -/obj/machinery/r_n_d/protolathe, +/obj/machinery/r_n_d/protolathe{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/rnd/research) "axa" = ( @@ -15953,7 +15966,9 @@ /obj/effect/floor_decal/corner/lightgrey{ dir = 6 }, -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_three_hall) "aAo" = ( @@ -17556,7 +17571,9 @@ /turf/simulated/floor/tiled, /area/rnd/research/researchdivision) "aCu" = ( -/obj/machinery/r_n_d/circuit_imprinter, +/obj/machinery/r_n_d/circuit_imprinter{ + dir = 8 + }, /obj/item/weapon/reagent_containers/glass/beaker/sulphuric, /turf/simulated/floor/tiled/steel_grid, /area/assembly/robotics) @@ -17575,6 +17592,7 @@ /area/assembly/robotics) "aCw" = ( /obj/machinery/autolathe{ + dir = 1; hacked = 1 }, /obj/item/device/radio/intercom{ @@ -18004,13 +18022,6 @@ /turf/simulated/floor/grass, /area/tether/surfacebase/public_garden_three) "aDg" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, -/obj/effect/floor_decal/borderfloor{ - dir = 9 - }, -/obj/effect/floor_decal/corner/lime/border{ - dir = 9 - }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDh" = ( @@ -18023,13 +18034,14 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDi" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 +/obj/structure/window/reinforced, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 6 }, -/obj/machinery/portable_atmospherics/hydroponics/soil, -/obj/machinery/camera/network/civilian, -/turf/simulated/floor/grass, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 5 + }, +/turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDj" = ( /obj/effect/floor_decal/borderfloor{ @@ -18041,42 +18053,17 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDk" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/effect/floor_decal/borderfloor/corner{ - dir = 1 - }, -/obj/effect/floor_decal/corner/lime/bordercorner{ - dir = 1 - }, +/obj/structure/window/reinforced, /obj/effect/floor_decal/steeldecal/steel_decals6{ dir = 5 }, /obj/effect/floor_decal/steeldecal/steel_decals6{ dir = 6 }, -/obj/structure/window/reinforced, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDl" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor/corner{ - dir = 4 - }, -/obj/effect/floor_decal/corner/lime/bordercorner{ - icon_state = "bordercolorcorner"; - dir = 4 - }, -/obj/effect/floor_decal/steeldecal/steel_decals6{ - dir = 5 - }, -/obj/effect/floor_decal/steeldecal/steel_decals6{ - dir = 6 - }, -/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDm" = ( @@ -18139,20 +18126,11 @@ /turf/simulated/floor/plating, /area/tether/surfacebase/public_garden_three) "aDr" = ( -/obj/structure/table/woodentable, -/obj/random/maintenance/clean, -/obj/effect/floor_decal/borderfloor/corner{ - dir = 1 +/obj/effect/floor_decal/borderfloor{ + dir = 8 }, -/obj/effect/floor_decal/corner/lime/bordercorner{ - dir = 1 - }, -/obj/effect/floor_decal/steeldecal/steel_decals6{ - dir = 4 - }, -/obj/effect/floor_decal/steeldecal/steel_decals6, -/obj/structure/window/reinforced{ - dir = 4 +/obj/effect/floor_decal/corner/lime/border{ + dir = 8 }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) @@ -18273,20 +18251,15 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDB" = ( -/obj/structure/table/woodentable, -/obj/effect/floor_decal/borderfloor/corner{ - dir = 8 - }, -/obj/effect/floor_decal/corner/lime/bordercorner{ - dir = 8 +/obj/structure/window/reinforced{ + dir = 4 }, /obj/effect/floor_decal/steeldecal/steel_decals6{ dir = 4 }, /obj/effect/floor_decal/steeldecal/steel_decals6, -/obj/structure/window/reinforced{ - dir = 4 - }, +/obj/structure/table/woodentable, +/obj/random/maintenance/clean, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDC" = ( @@ -18320,42 +18293,36 @@ /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDE" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/effect/floor_decal/borderfloor{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/effect/floor_decal/corner/lime/border{ dir = 4 }, -/obj/effect/floor_decal/borderfloor/corner, -/obj/effect/floor_decal/corner/lime/bordercorner, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDF" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/effect/floor_decal/techfloor{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/machinery/seed_storage/garden, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/lime/border, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/public_garden_three) "aDG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/structure/window/reinforced{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, -/obj/machinery/vending/hydronutrients, -/obj/effect/floor_decal/borderfloor{ - dir = 6 - }, -/obj/effect/floor_decal/corner/lime/border{ - dir = 6 +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 4 }, +/obj/effect/floor_decal/steeldecal/steel_decals6, +/obj/structure/table/woodentable, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDH" = ( @@ -18383,46 +18350,33 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/lower/medsec_maintenance) "aDJ" = ( -/obj/machinery/hologram/holopad, -/obj/effect/floor_decal/borderfloor{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/obj/effect/floor_decal/corner/lime/border{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDK" = ( -/obj/effect/floor_decal/borderfloor/corner{ - dir = 8 - }, -/obj/effect/floor_decal/corner/lime/bordercorner{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals6{ - dir = 10 - }, -/obj/effect/floor_decal/steeldecal/steel_decals6{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lime/border{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) "aDL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/obj/effect/floor_decal/borderfloor/corner, -/obj/effect/floor_decal/corner/lime/bordercorner, -/obj/effect/floor_decal/steeldecal/steel_decals6{ - dir = 9 - }, -/obj/effect/floor_decal/steeldecal/steel_decals6{ - dir = 10 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/simulated/floor/tiled, +/obj/machinery/portable_atmospherics/hydroponics/soil, +/obj/machinery/light, +/turf/simulated/floor/grass, /area/tether/surfacebase/public_garden_three) "aDM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -18472,14 +18426,11 @@ /turf/simulated/floor/plating, /area/tether/surfacebase/public_garden_three) "aDR" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 }, -/obj/effect/floor_decal/borderfloor{ - dir = 6 - }, -/obj/effect/floor_decal/corner/lime/border{ - dir = 6 +/obj/effect/floor_decal/corner/lime/bordercorner{ + dir = 8 }, /turf/simulated/floor/tiled, /area/tether/surfacebase/public_garden_three) @@ -19854,7 +19805,9 @@ /turf/simulated/floor/tiled, /area/hydroponics) "aGd" = ( -/obj/machinery/seed_storage/garden, +/obj/machinery/seed_storage/garden{ + dir = 1 + }, /obj/effect/floor_decal/borderfloor{ dir = 6 }, @@ -22054,7 +22007,10 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, -/obj/machinery/chemical_dispenser/full, +/obj/machinery/chemical_dispenser/full{ + dir = 8 + }, +/obj/structure/table/reinforced, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) "aJm" = ( @@ -22462,7 +22418,9 @@ /area/assembly/chargebay) "aJV" = ( /obj/structure/table/marble, -/obj/machinery/chemical_dispenser/bar_alc/full, +/obj/machinery/chemical_dispenser/bar_alc/full{ + dir = 1 + }, /obj/machinery/camera/network/civilian{ dir = 1 }, @@ -22533,6 +22491,9 @@ icon_state = "dangercorner"; dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 6 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/shuttle_pad) "aKe" = ( @@ -23491,6 +23452,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/shuttle_pad) "aMc" = ( @@ -23505,6 +23469,9 @@ d2 = 2; icon_state = "1-2" }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/shuttle_pad) "aMd" = ( @@ -23768,12 +23735,12 @@ /area/tether/surfacebase/shuttle_pad) "aME" = ( /turf/simulated/shuttle/wall, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aMF" = ( /obj/structure/shuttle/window, /obj/structure/grille, /turf/simulated/shuttle/plating/airless, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aMG" = ( /obj/structure/railing{ dir = 4 @@ -23934,6 +23901,10 @@ dir = 1 }, /obj/effect/floor_decal/steeldecal/steel_decals5, +/obj/structure/cable/green{ + icon_state = "1-2"; + dir = 1 + }, /turf/simulated/floor/tiled, /area/tether/surfacebase/shuttle_pad) "aMX" = ( @@ -23972,15 +23943,15 @@ "aMZ" = ( /obj/structure/closet/firecloset, /turf/simulated/shuttle/floor/black, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNa" = ( /obj/machinery/computer/shuttle_control/tether_backup, /turf/simulated/shuttle/floor/black, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNb" = ( /obj/structure/closet/emcloset, /turf/simulated/shuttle/floor/black, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNc" = ( /obj/machinery/alarm{ dir = 8; @@ -24075,10 +24046,10 @@ dir = 4 }, /turf/simulated/shuttle/floor/black, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNl" = ( /turf/simulated/shuttle/floor/black, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNm" = ( /obj/structure/bed/chair/shuttle{ dir = 8 @@ -24091,7 +24062,7 @@ tag_door = "tether_shuttle_hatch" }, /turf/simulated/shuttle/floor/black, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNn" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -24229,7 +24200,7 @@ name = "Shuttle Hatch" }, /turf/simulated/shuttle/floor/black, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNA" = ( /obj/machinery/power/apc{ dir = 4; @@ -24322,13 +24293,13 @@ pixel_y = 0 }, /turf/simulated/shuttle/floor/black, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNK" = ( /obj/structure/bed/chair/shuttle{ dir = 1 }, /turf/simulated/shuttle/floor/black, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNL" = ( /obj/structure/window/basic/full, /obj/structure/grille, @@ -24359,7 +24330,7 @@ dir = 1 }, /turf/simulated/shuttle/plating/airless, -/area/shuttle/tether/surface) +/area/shuttle/tether) "aNQ" = ( /obj/machinery/firealarm{ dir = 4; @@ -24546,11 +24517,7 @@ /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/shuttle_pad) "aOl" = ( -/obj/structure/shuttle/engine/propulsion{ - anchored = 0; - dir = 8; - icon_state = "propulsion" - }, +/obj/machinery/ion_engine, /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/shuttle_pad) "aOm" = ( @@ -24840,6 +24807,7 @@ /area/tether/surfacebase/shuttle_pad) "aOP" = ( /obj/machinery/light/small, +/obj/item/weapon/tank/phoron, /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/shuttle_pad) "aOQ" = ( @@ -25205,7 +25173,9 @@ /turf/simulated/floor/tiled/white, /area/rnd/outpost/xenobiology/outpost_autopsy) "aPB" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/rnd/outpost/xenobiology/outpost_breakroom) "aPC" = ( @@ -25338,7 +25308,9 @@ /turf/simulated/wall, /area/rnd/outpost/xenobiology/outpost_breakroom) "aPU" = ( -/obj/machinery/vending/fitness, +/obj/machinery/vending/fitness{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/rnd/outpost/xenobiology/outpost_breakroom) "aPV" = ( @@ -25423,7 +25395,9 @@ /turf/simulated/floor/outdoors/grass/sif/virgo3b, /area/tether/surfacebase/outside/outside3) "aQg" = ( -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/rnd/outpost/xenobiology/outpost_breakroom) "aQh" = ( @@ -25729,7 +25703,9 @@ /turf/simulated/floor/wood, /area/rnd/outpost/xenobiology/outpost_office) "aQL" = ( -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 8 + }, /obj/structure/cable/green{ icon_state = "1-2" }, @@ -27955,14 +27931,20 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/machinery/chemical_dispenser/biochemistry/full, +/obj/machinery/chemical_dispenser/biochemistry/full{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) "aUw" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/simulated/floor/reinforced, -/turf/simulated/shuttle/plating/carry, -/area/shuttle/tether/surface) +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) "aUx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28013,6 +27995,18 @@ }, /turf/simulated/floor/tiled/steel_grid, /area/tether/surfacebase/security/lobby) +"aUz" = ( +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 10 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) "aUA" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, @@ -28021,6 +28015,15 @@ }, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/triage) +"aUB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) +"aUC" = ( +/obj/effect/floor_decal/borderfloor/corner, +/obj/effect/floor_decal/corner/lime/bordercorner, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) "aUD" = ( /obj/structure/table/reinforced, /obj/item/weapon/reagent_containers/glass/beaker/large, @@ -28043,6 +28046,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) +"aUF" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/lime/border, +/obj/machinery/seed_storage/garden{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) "aUG" = ( /turf/simulated/floor/plating, /area/maintenance/lower/mining) @@ -28074,7 +28086,9 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/machinery/chem_master, +/obj/machinery/chem_master{ + dir = 4 + }, /obj/machinery/light{ icon_state = "tube1"; dir = 8 @@ -28102,6 +28116,18 @@ }, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) +"aUM" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/obj/effect/floor_decal/corner/lime/border{ + dir = 6 + }, +/obj/machinery/vending/hydronutrients{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) "aUN" = ( /obj/machinery/firealarm{ dir = 8; @@ -28109,6 +28135,12 @@ }, /turf/simulated/floor/plating, /area/maintenance/lower/mining) +"aUO" = ( +/obj/effect/floor_decal/techfloor{ + dir = 6 + }, +/turf/simulated/floor/tiled/techmaint, +/area/tether/surfacebase/public_garden_three) "aUP" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -28116,7 +28148,10 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, -/obj/machinery/chemical_dispenser/full, +/obj/machinery/chemical_dispenser/full{ + dir = 4 + }, +/obj/structure/table/reinforced, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) "aUQ" = ( @@ -28257,6 +28292,12 @@ }, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) +"aVb" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) "aVc" = ( /obj/machinery/alarm{ dir = 8; @@ -28265,6 +28306,14 @@ }, /turf/simulated/floor/plating, /area/maintenance/lower/mining) +"aVd" = ( +/obj/effect/floor_decal/borderfloor/corner, +/obj/effect/floor_decal/corner/lime/bordercorner, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) "aVe" = ( /obj/structure/table/glass, /obj/item/weapon/storage/box/cups, @@ -28340,7 +28389,9 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 6 }, -/obj/machinery/chem_master, +/obj/machinery/chem_master{ + dir = 8 + }, /obj/machinery/light, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/chemistry) @@ -28392,7 +28443,9 @@ /obj/machinery/newscaster{ pixel_x = 25 }, -/obj/structure/reagent_dispensers/water_cooler/full, +/obj/structure/reagent_dispensers/water_cooler/full{ + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/lobby) "aVp" = ( @@ -28414,6 +28467,22 @@ }, /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_three_hall) +"aVr" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/corner/lime/border{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/lime/bordercorner2{ + icon_state = "bordercolorcorner2"; + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) "aVs" = ( /obj/structure/lattice, /turf/simulated/open, @@ -28463,6 +28532,49 @@ }, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/triage) +"aVw" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/obj/effect/floor_decal/corner/lime/border{ + dir = 6 + }, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/corner/lime/bordercorner2, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) +"aVx" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/grass, +/area/tether/surfacebase/public_garden_three) +"aVy" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass{ + name = "Public Garden" + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/public_garden_three) +"aVz" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/tether/surfacebase/surface_three_hall) +"aVA" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightgrey/bordercorner{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/surface_three_hall) "aVB" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -28515,6 +28627,18 @@ }, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/lobby) +"aVE" = ( +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/surface_three_hall) "aVF" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -28528,6 +28652,20 @@ }, /turf/simulated/floor/tiled/white, /area/tether/surfacebase/medical/lobby) +"aVG" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/machinery/camera/network/tether, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/surface_three_hall) "aVH" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -28561,6 +28699,16 @@ }, /turf/simulated/floor/tiled/dark, /area/tether/surfacebase/security/common) +"aVK" = ( +/obj/effect/floor_decal/corner/lightgrey{ + dir = 10 + }, +/obj/effect/floor_decal/corner/lightgrey{ + dir = 5 + }, +/obj/structure/flora/pottedplant/stoutbush, +/turf/simulated/floor/tiled/monotile, +/area/tether/surfacebase/surface_three_hall) "aVL" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, @@ -28652,6 +28800,33 @@ /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/lobby) +"aVP" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/corner/lightgrey/bordercorner2{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/surface_three_hall) +"aVQ" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/surface_three_hall) "aVR" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, @@ -28677,6 +28852,21 @@ }, /turf/simulated/floor/tiled, /area/tether/surfacebase/security/lobby) +"aVS" = ( +/obj/item/device/radio/intercom{ + dir = 2; + pixel_y = -24 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/structure/reagent_dispensers/water_cooler/full{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/crew_quarters/recreation_area) "aVT" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/steeldecal/steel_decals6, @@ -28685,6 +28875,11 @@ "aVU" = ( /turf/simulated/floor/tiled, /area/tether/surfacebase/security/lobby) +"aVV" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/simulated/floor/reinforced, +/turf/simulated/shuttle/plating/carry, +/area/shuttle/tether) "aVW" = ( /obj/structure/bed/chair{ dir = 1 @@ -28838,6 +29033,13 @@ /obj/structure/sign/directions/evac, /turf/simulated/wall/r_wall, /area/tether/surfacebase/security/lobby) +"aWf" = ( +/obj/machinery/atmospherics/unary/engine{ + dir = 1 + }, +/turf/simulated/floor/reinforced, +/turf/simulated/shuttle/plating/carry, +/area/shuttle/tourbus/engines) "aWg" = ( /obj/structure/sign/directions/evac{ dir = 8 @@ -30452,6 +30654,7 @@ /obj/item/device/flashlight/lamp/green{ pixel_x = -10 }, +/obj/item/weapon/paper/dockingcodes, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hop) "aZc" = ( @@ -30881,6 +31084,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, +/obj/item/weapon/paper/dockingcodes, /turf/simulated/floor/wood, /area/crew_quarters/captain) "aZV" = ( @@ -31014,8 +31218,6 @@ /obj/structure/table/rack, /obj/item/weapon/tank/jetpack/oxygen, /obj/item/clothing/mask/gas, -/obj/item/clothing/suit/armor/captain, -/obj/item/clothing/head/helmet/space/capspace, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 1 @@ -31030,6 +31232,8 @@ dir = 8; health = 1e+006 }, +/obj/item/clothing/head/helmet/space/void/captain, +/obj/item/clothing/suit/space/void/captain, /turf/simulated/floor/wood, /area/crew_quarters/captain) "bag" = ( @@ -31563,16 +31767,6 @@ }, /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_three_hall) -"bbv" = ( -/obj/effect/floor_decal/corner/lightgrey{ - dir = 9 - }, -/obj/effect/floor_decal/corner/lightgrey{ - dir = 6 - }, -/obj/machinery/vending/snack, -/turf/simulated/floor/tiled, -/area/tether/surfacebase/surface_three_hall) "bbw" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, @@ -31728,6 +31922,846 @@ }, /turf/simulated/floor/tiled, /area/tether/surfacebase/surface_three_hall) +"bKm" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"bMK" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/red, +/turf/simulated/floor/tiled/monotile, +/area/tether/surfacebase/shuttle_pad) +"cMs" = ( +/obj/machinery/power/smes/buildable{ + charge = 500000 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/shuttle/tourbus/engines) +"cZe" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"dhv" = ( +/obj/machinery/computer/ship/sensors, +/turf/simulated/floor/tiled/white, +/area/shuttle/tourbus/cockpit) +"dhS" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/obj/effect/floor_decal/rust/part_rusted1{ + icon_state = "part_rusted1"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"dGZ" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"dHR" = ( +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"esm" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4; + icon_state = "borderfloorcorner2"; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"eMW" = ( +/obj/machinery/computer/ship/engines{ + icon_state = "computer"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/tourbus/cockpit) +"eNn" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"eQs" = ( +/obj/effect/floor_decal/rust/part_rusted1{ + icon_state = "part_rusted1"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"fNt" = ( +/obj/structure/cable/green{ + icon_state = "0-1"; + dir = 1 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/engines) +"ghf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + icon_state = "1-2"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/shuttle_pad) +"gqX" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 6 + }, +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"guv" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 10 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"gHh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 10 + }, +/turf/simulated/wall/shull, +/area/shuttle/tourbus/general) +"gJT" = ( +/obj/structure/fuel_port{ + pixel_x = 1; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 6 + }, +/obj/effect/floor_decal/industrial/warning/full, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"gLd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/shuttle_pad) +"ieb" = ( +/obj/effect/floor_decal/borderfloorblack, +/obj/effect/floor_decal/industrial/danger, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "tourbus_pad"; + pixel_y = 24 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/shuttle_pad) +"isR" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central5{ + icon_state = "steel_decals_central5"; + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central5{ + icon_state = "steel_decals_central5"; + dir = 8 + }, +/obj/machinery/door/airlock/glass_external/public{ + frequency = 1380; + id_tag = "tourbus_right" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 4 + }, +/obj/effect/map_helper/airlock/door/simple, +/turf/simulated/floor/tiled/monotile, +/area/shuttle/tourbus/general) +"jpB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 6 + }, +/turf/simulated/wall/shull, +/area/shuttle/tourbus/general) +"jvK" = ( +/turf/simulated/wall/shull, +/area/shuttle/tourbus/cockpit) +"jHw" = ( +/turf/simulated/wall/shull, +/area/shuttle/tourbus/general) +"jYd" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 4 + }, +/turf/simulated/floor/reinforced, +/area/tether/surfacebase/shuttle_pad) +"jZe" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/yellow, +/turf/simulated/floor/tiled/monotile, +/area/tether/surfacebase/shuttle_pad) +"mfi" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central5{ + icon_state = "steel_decals_central5"; + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central5{ + icon_state = "steel_decals_central5"; + dir = 4 + }, +/obj/machinery/door/airlock/glass_external{ + icon_state = "door_locked"; + id_tag = "tourbus_left"; + locked = 1; + req_one_access = list() + }, +/obj/machinery/button/remote/airlock{ + desiredstate = 1; + dir = 2; + icon_state = "doorctrl0"; + id = "tourbus_left"; + name = "hatch bolt control"; + pixel_x = 0; + pixel_y = 30; + req_one_access = list(19,43,67); + specialfunctions = 4 + }, +/turf/simulated/floor/tiled/monotile, +/area/shuttle/tourbus/general) +"mDr" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "shuttle blast"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/plating, +/area/shuttle/tourbus/general) +"mIX" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"mJR" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/tourbus/cockpit) +"mPg" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 8 + }, +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"noN" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 9 + }, +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_x = 0 + }, +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"nXl" = ( +/obj/machinery/door/airlock/glass{ + req_one_access = list(19,43,67) + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/shuttle/tourbus/cockpit) +"onV" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether/surfacebase/shuttle_pad; + base_turf = /turf/simulated/floor/reinforced; + docking_controller = "tourbus_pad"; + landmark_tag = "tourbus_dock"; + name = "Tourbus Pad" + }, +/obj/effect/overmap/visitable/ship/landable/tourbus, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"ooM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/yellow, +/turf/simulated/floor/tiled/monofloor{ + dir = 1 + }, +/area/tether/surfacebase/shuttle_pad) +"oMK" = ( +/obj/machinery/atmospherics/unary/engine, +/turf/simulated/floor/tiled/techmaint, +/area/tether/surfacebase/shuttle_pad) +"qem" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/danger{ + icon_state = "danger"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/shuttle_pad) +"qff" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/corner/blue/bordercorner2, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 4 + }, +/obj/machinery/power/terminal, +/obj/structure/cable/green, +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"qom" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/engines) +"qwm" = ( +/turf/simulated/wall/shull, +/area/shuttle/tourbus/engines) +"qWU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/yellow, +/turf/simulated/wall/shull, +/area/shuttle/tourbus/engines) +"rjV" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 5 + }, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"rpg" = ( +/obj/structure/handrail{ + dir = 8 + }, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/cockpit) +"rxh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 10 + }, +/turf/simulated/floor/tiled/monotile, +/area/tether/surfacebase/shuttle_pad) +"sur" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/machinery/power/apc{ + cell_type = /obj/item/weapon/cell/apc; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/engines) +"sEq" = ( +/obj/machinery/light/small, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/door/window/southleft{ + dir = 1; + icon_state = "left"; + req_one_access = list(19,43,67) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 9 + }, +/turf/simulated/floor/tiled/dark, +/area/shuttle/tourbus/engines) +"sFW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + icon_state = "1-2"; + dir = 1 + }, +/turf/simulated/floor/tiled/monotile, +/area/tether/surfacebase/shuttle_pad) +"tdA" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + icon_state = "bordercolorcorner2"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"tla" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/tourbus/cockpit) +"tKs" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"tSk" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "shuttle blast"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/plating, +/area/shuttle/tourbus/cockpit) +"ubn" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 6 + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 8; + frequency = 1380; + id_tag = "tourbus_docker"; + pixel_x = 28 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 4 + }, +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -28 + }, +/obj/structure/cable, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"uxT" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central5{ + icon_state = "steel_decals_central5"; + dir = 8 + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1"; + pixel_x = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow, +/turf/simulated/floor/tiled/monotile, +/area/tether/surfacebase/shuttle_pad) +"uyk" = ( +/obj/machinery/shipsensors{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/full, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/cockpit) +"uDa" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"uSA" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/tether/surfacebase/shuttle_pad; + base_turf = /turf/simulated/floor/reinforced; + docking_controller = "tether_pad_airlock"; + landmark_tag = "tether_backup_low"; + name = "Surface Hangar" + }, +/turf/simulated/shuttle/floor/black, +/area/shuttle/tether) +"uYO" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 9 + }, +/turf/simulated/floor/tiled/monofloor, +/area/tether/surfacebase/shuttle_pad) +"vfB" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/shuttle/tourbus/engines) +"voF" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/danger{ + icon_state = "danger"; + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/shuttle_pad) +"wqP" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 1 + }, +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -28 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/tourbus/cockpit) +"wtd" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/danger{ + icon_state = "danger"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{ + icon_state = "map"; + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/shuttle_pad) +"wzi" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "shuttle blast"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/plating, +/area/shuttle/tourbus/general) +"wNz" = ( +/obj/machinery/computer/ship/helm, +/turf/simulated/floor/tiled/white, +/area/shuttle/tourbus/cockpit) +"xdJ" = ( +/obj/machinery/computer/shuttle_control/explore/tourbus, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/tourbus/cockpit) +"xoe" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/shuttle/tourbus/cockpit) +"xxJ" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"xHL" = ( +/obj/effect/floor_decal/rust/part_rusted1, +/obj/machinery/atmospherics/binary/pump, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/steel_dirty, +/area/shuttle/tourbus/general) +"xJy" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/shuttle_pad) +"xZw" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/tether/surfacebase/shuttle_pad) (1,1,1) = {" aaa @@ -36162,12 +37196,12 @@ aac aac aac aac -aac -aac -aac -aac -aac -aac +arW +aDq +aDq +aDq +aDq +arW aac aac aac @@ -36303,14 +37337,14 @@ aac aac aac aac -aac -aac +aCZ arW -aDq -aDq +aDa +aDa +aDa +aDL arW -aac -aac +aDQ aac aac aac @@ -36444,13 +37478,15 @@ aac aac aac aac -aac -aac aCZ -arW -aDa -aDa -arW +aDc +aiq +aDe +aDe +aDe +aDe +aiF +aDc aDQ aac aac @@ -36500,8 +37536,6 @@ aac aac aac aac -aac -aac aab aab aab @@ -36585,14 +37619,16 @@ aac aac aac aac -aac -aac aCZ aDc -aDi +aDf aDe +aDj +aDr +aDr +aDA aDe -aiF +aDf aDc aDQ aac @@ -36645,8 +37681,6 @@ aac aac aac aac -aac -aac aab aab aab @@ -36726,24 +37760,24 @@ aac aac aac aac -aac -aac -aCZ -aDc +arW +arW +aDd aDf -aDe aDj +ajt +aDu +aDu +aDR aDA -aDe aDf -aDc -aDQ -aac -aac -aac -aac -aac -aac +aDT +arW +arW +aVz +aVz +aVz +agw aac aac aac @@ -36868,24 +37902,24 @@ aac aac aac aac -aac -arW -arW -aDd -aDf +aCY +aDa +aDe aDj -aDr +ajt +aDg aDB -aDJ -aDf -aDT -arW -arW -aac -aac -aac -aac -aac +aDG +aDg +aDR +aVr +aDe +aVx +aDc +aip +aVK +akl +alP aac aac aac @@ -37010,24 +38044,24 @@ aac aac aac aac -aac aCY -aDa aDe +aDe +aDn +aju +aDi +aDs +aDs +aUw +aVb aDg -aDk -aDs -aDs -aDK -aDA -aDe -aDa -aDP -aac -aac -aac -aac -aac +aDg +aDg +aVy +apS +aVP +aVQ +alP aac aac aac @@ -37152,24 +38186,24 @@ aac aac aac aac -aac aCY aDa aDe aDh -aDl +akm +aDk aDs aDs -aDL -aDR +aUz +aVd +aVw aDe -aDa -aDP -aac -aac -aac -aac -aac +aDe +aDc +aVA +apS +akn +alP aac aac aac @@ -37294,24 +38328,24 @@ aac aac aac aac -aac arW arW aDd aDf aDm +aDl aDt aDC +aUB aDM aDf aDT arW arW -aac -aac -aac -aac -aac +aVE +apS +akn +alP aac aac aac @@ -37437,23 +38471,23 @@ aac aac aac aac -aac aDb aDc aDf aDn +aDg aDu aDD +aDg aDN aDf aDc -aDS -aac -aac -aac -aac -aQU -aac +aDz +agw +air +apS +akn +alP aac aac aac @@ -37580,21 +38614,21 @@ aac aac aac aac -aac aDb aDc acm aDv -aDE +aDg +aDJ +aUC aDO aDc aDS aac -aac -agw -agw -agw agw +air +apS +akn akS alw alw @@ -37723,20 +38757,20 @@ aac aac aac aac -aac aDb arW aDw -aDF +aDg +aDJ +aUF arW aDS aac aac -aac agw -aip -ajt -akl +air +apS +akn akS alx amm @@ -37866,19 +38900,19 @@ aac aac aac aac -aac aCY aDx -aDG +aDE +aDK +aUM aDP aac aac aac -aac agw -aiq -aju -akm +aVG +apS +akn akS aly amn @@ -38008,13 +39042,13 @@ aac aac aac aac -aac aCY aDy +aDF aDH +aUO aDP aac -aac agw agw agw @@ -38150,13 +39184,13 @@ aac aac aac aac -aac arW aDz aDz +aDz +aDz arW aac -aac agw ahd ahS @@ -40867,7 +41901,7 @@ amx ana anF aiI -aou +aVS akY aix apQ @@ -42751,17 +43785,17 @@ aJn aKa aKU aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU +rpg +jvK +jvK +jvK +mDr +jHw +mfi +jHw +jpB +qWU +aWf aKU aOI aPb @@ -42893,17 +43927,17 @@ aJn aKa aKU aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU +jvK +jvK +xoe +jvK +cZe +guv +eQs +mPg +sur +qwm +qwm aKU aOI aPb @@ -43035,17 +44069,17 @@ ats aKD aKU aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU +tSk +wNz +wqP +jvK +tdA +dGZ +tKs +mIX +noN +vfB +qom aKU avs aKj @@ -43177,17 +44211,17 @@ aJn aKa aKU aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU +tSk +xdJ +tla +nXl +tKs +bKm +gJT +xHL +xxJ +sEq +qom aKU aOI aPb @@ -43319,17 +44353,17 @@ aJn aKa aKU aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU +tSk +dhv +mJR +jvK +esm +dhS +dHR +eNn +qff +cMs +fNt aKU aOI aPb @@ -43458,20 +44492,20 @@ aXt aIa aOJ ats -aKa -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU +ieb aKU aKU +jvK +jvK +eMW +jvK +uDa +rjV +onV +gqX +ubn +qwm +qwm aKU aOK aKj @@ -43603,17 +44637,17 @@ aJn aKa aKU aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU -aKU +uyk +jvK +jvK +jvK +wzi +jHw +isR +jHw +gHh +qWU +aWf aKU aOI aPb @@ -43751,7 +44785,7 @@ aKU aKU aKU aKU -aKU +jYd aKU aKU aKU @@ -43893,7 +44927,7 @@ aKU aKU aKU aKU -aKU +jYd aKU aKU aKU @@ -44027,15 +45061,15 @@ aHW aIz aJn aKd +wtd +wtd +qem aKV aKV aKV aKV aKV -aKV -aKV -aKV -aKV +voF aKV aKV aKV @@ -44168,16 +45202,16 @@ aHk aHX aIz aJn -aKe -aKe -aKe -aKe -aKe -aMU -aKe -aKe -aNG -aNN +bMK +bMK +bMK +rxh +jZe +uxT +jZe +jZe +ooM +uYO aKe aKe aMU @@ -44319,7 +45353,7 @@ aKj aKe aKg aNH -aNH +xZw aKg aNX aKj @@ -44461,7 +45495,7 @@ aMV aKe aKg aKg -aKg +xJy aKg aKe aOc @@ -44598,12 +45632,12 @@ aKh aKW aKf aMb -aMA +sFW aMW -aMA -aNx -aNx -aNx +sFW +ghf +ghf +gLd aNx aMA aMW @@ -45266,7 +46300,7 @@ akn bbq aZu bbu -bbv +aou ayx aZE aZR @@ -45595,10 +46629,10 @@ aKU aMF aMZ aNk -aNl +uSA aNJ aNP -aUw +aVV aKU abg aOk @@ -45740,7 +46774,7 @@ aNl aNl aNK aNP -aUw +aVV aKU abg aOk @@ -45882,7 +46916,7 @@ aNm aNl aNK aNP -aUw +aVV aKU abg aOk @@ -46170,8 +47204,8 @@ aKU aKU aKj aOl -aOl -aOl +oMK +aOk aKj aac aac @@ -48412,8 +49446,8 @@ aac aac aac aab -aab -aab +aac +aac aac aac aac diff --git a/maps/tether/tether-04-transit.dmm b/maps/tether/tether-04-transit.dmm index 958a9daec2..ccbf25da46 100644 --- a/maps/tether/tether-04-transit.dmm +++ b/maps/tether/tether-04-transit.dmm @@ -151,11 +151,9 @@ /turf/simulated/floor/wood, /area/tether/midpoint) "o" = ( -/obj/machinery/alarm{ - dir = 1; - pixel_y = -25 +/obj/machinery/vending/coffee{ + dir = 1 }, -/obj/machinery/vending/coffee, /turf/simulated/floor/tiled/dark, /area/tether/midpoint) "p" = ( @@ -399,7 +397,9 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/tether/midpoint) "Q" = ( diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm index 51735d4d78..987ab85a4a 100644 --- a/maps/tether/tether-05-station1.dmm +++ b/maps/tether/tether-05-station1.dmm @@ -38,8 +38,8 @@ /turf/simulated/floor/tiled, /area/engineering/atmos/backup) "aaf" = ( -/turf/space, -/area/shuttle/excursion/tether_nearby) +/turf/simulated/wall/r_wall, +/area/maintenance/station/abandonedholodeck) "aag" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'RADIOACTIVE AREA'"; @@ -2819,19 +2819,21 @@ /turf/simulated/floor/tiled/dark, /area/gateway/prep_room) "afc" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/structure/cable/green{ - d1 = 1; - d2 = 8; - icon_state = "1-8" +/obj/machinery/door/airlock/command{ + name = "Secondary Command Office" }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/machinery/door/firedoor/glass, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 8; + icon_state = "pdoor0"; + id = "secondary_bridge_blast"; + name = "Secondary Command Office Blast Doors"; + opacity = 0 }, /turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/area/bridge/secondary) "afd" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -3267,17 +3269,15 @@ /turf/simulated/floor/tiled, /area/engineering/hallway) "afH" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 4; - icon_state = "1-4" +/obj/effect/floor_decal/corner/blue/bordercorner{ + dir = 8 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/area/bridge/secondary) "afI" = ( /turf/simulated/wall, /area/tether/station/visitorhallway/office) @@ -3430,42 +3430,32 @@ /turf/simulated/floor/tiled, /area/engineering/workshop) "afV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/lightgrey/border, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/turf/simulated/wall/r_wall, +/area/maintenance/substation/spacecommand) "afW" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/lightgrey/border, /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 8 }, /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, +/obj/effect/floor_decal/corner/lightgrey/border, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/lightgrey/bordercorner2{ + dir = 9 + }, /turf/simulated/floor/tiled, /area/hallway/station/atrium) "afX" = ( @@ -3636,31 +3626,32 @@ /turf/simulated/floor/plating, /area/tether/station/visitorhallway/office) "agl" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/lightgrey/border, -/obj/machinery/door/firedoor/glass/hidden/steel{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/common, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "agm" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/floor_decal/borderfloor{ + dir = 8 }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/area/bridge/secondary) "agn" = ( /turf/simulated/floor/tiled, /area/bridge/secondary) @@ -3717,25 +3708,46 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "agr" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/engi{ + name = "Asteroid Command Substation"; + req_one_access = list(10,19) }, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/obj/machinery/door/blast/regular{ + density = 0; + dir = 8; + icon_state = "pdoor0"; + id = "secondary_bridge_blast"; + name = "Secondary Command Office Blast Doors"; + opacity = 0 + }, +/turf/simulated/floor, +/area/maintenance/substation/spacecommand) "ags" = ( -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/camera/network/command{ + icon_state = "camera"; + dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/area/bridge/secondary) "agt" = ( /obj/machinery/light{ dir = 4 @@ -3807,30 +3819,17 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "agx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/cable/green{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) -"agy" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/effect/floor_decal/borderfloor{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/effect/floor_decal/corner/blue/border{ dir = 4 }, -/obj/structure/disposalpipe/segment, -/obj/effect/floor_decal/steeldecal/steel_decals4{ - dir = 5 +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 }, -/obj/effect/floor_decal/steeldecal/steel_decals4{ - dir = 8 +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 }, /obj/structure/cable/green{ d1 = 1; @@ -3838,7 +3837,19 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/area/bridge/secondary) +"agy" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/alarm{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22 + }, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor, +/area/maintenance/substation/spacecommand) "agz" = ( /obj/effect/floor_decal/techfloor{ dir = 6 @@ -3854,34 +3865,78 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "agA" = ( -/obj/machinery/door/airlock/command{ - name = "Secondary Command Office" +/obj/effect/floor_decal/borderfloor{ + dir = 4 }, -/obj/machinery/door/firedoor/glass, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 8; - icon_state = "pdoor0"; - id = "secondary_bridge_blast"; - name = "Secondary Command Office Blast Doors"; - opacity = 0 +/obj/effect/floor_decal/corner/blue/border{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 28 }, /obj/structure/cable/green{ - d1 = 1; d2 = 2; - icon_state = "1-2" + icon_state = "0-2" }, /turf/simulated/floor/tiled, /area/bridge/secondary) "agB" = ( -/obj/effect/floor_decal/borderfloor/corner{ +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, -/obj/effect/floor_decal/corner/blue/bordercorner{ +/turf/simulated/floor, +/area/maintenance/substation/spacecommand) +"agC" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor{ dir = 8 }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, /obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled, +/area/bridge/secondary) +"agD" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/corner/blue/bordercorner{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, /obj/structure/cable/green{ d1 = 1; d2 = 2; @@ -3889,17 +3944,6 @@ }, /turf/simulated/floor/tiled, /area/bridge/secondary) -"agC" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/floor_decal/rust, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"agD" = ( -/obj/effect/floor_decal/rust, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) "agE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4279,15 +4323,15 @@ /turf/simulated/floor, /area/maintenance/station/eng_lower) "ahg" = ( -/obj/structure/table/rack{ - dir = 8; - layer = 2.9 +/obj/machinery/power/breakerbox/activated{ + RCon_tag = "Secondary Command Substation Bypass" + }, +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 }, -/obj/random/maintenance/clean, -/obj/random/junk, -/obj/effect/decal/cleanable/dirt, /turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/area/maintenance/substation/spacecommand) "ahh" = ( /obj/structure/cable/green{ d1 = 1; @@ -4317,26 +4361,20 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "ahj" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 5 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/green{ +/obj/structure/cable{ d1 = 1; d2 = 2; - icon_state = "1-2" + icon_state = "1-2"; + pixel_y = 0 }, -/turf/simulated/floor/tiled, -/area/bridge/secondary) +/obj/machinery/camera/network/engineering{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/maintenance/substation/spacecommand) "ahk" = ( /obj/structure/table/reinforced, /obj/machinery/photocopier/faxmachine{ @@ -4403,26 +4441,27 @@ /turf/simulated/floor/plating, /area/bridge/secondary) "ahn" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/light{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/steeldecal/steel_decals7{ +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ dir = 8 }, /obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 1 + dir = 6 }, -/obj/effect/floor_decal/corner/lightgrey/border, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 9 +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 }, -/obj/effect/floor_decal/corner/lightgrey/bordercorner2{ - dir = 9 +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/area/bridge/secondary) "aho" = ( /obj/machinery/light/small, /turf/simulated/floor, @@ -4439,6 +4478,11 @@ /turf/simulated/floor, /area/maintenance/station/eng_lower) "ahr" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -4462,24 +4506,16 @@ /turf/simulated/floor/plating, /area/engineering/engine_airlock) "aht" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 1 - }, -/obj/effect/floor_decal/corner/lightgrey/border, -/obj/effect/floor_decal/borderfloor/corner2, -/obj/effect/floor_decal/corner/lightgrey/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/area/bridge/secondary) "ahu" = ( /obj/machinery/computer/transhuman/resleeving{ dir = 8 @@ -4639,10 +4675,14 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "ahI" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/floor_decal/rust, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) "ahJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment{ @@ -4666,24 +4706,14 @@ /turf/simulated/floor/tiled, /area/engineering/engine_airlock) "ahL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 1 - }, -/obj/effect/floor_decal/corner/lightgrey/border, -/obj/machinery/camera/network/tether{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/obj/structure/disposalpipe/segment, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "ahM" = ( /obj/structure/cable/green{ d1 = 1; @@ -4712,8 +4742,17 @@ /turf/simulated/floor/tiled, /area/engineering/hallway) "ahN" = ( -/turf/simulated/wall/r_wall, -/area/bridge/secondary/meeting_room) +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "ahO" = ( /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 @@ -4849,8 +4888,19 @@ /turf/simulated/floor/tiled, /area/engineering/engine_monitoring) "aia" = ( -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/machinery/power/smes/buildable{ + charge = 0; + output_attempt = 0; + outputting = 0; + RCon_tag = "Substation - Secondary Command" + }, +/obj/structure/cable/green, +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor, +/area/maintenance/substation/spacecommand) "aib" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -4954,6 +5004,11 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "ain" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -4967,11 +5022,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/multi_tile/glass{ - dir = 2 - }, /obj/effect/floor_decal/corner/lightgrey/border, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/corner/lightgrey/bordercorner2, /turf/simulated/floor/tiled, /area/hallway/station/atrium) "aio" = ( @@ -4982,6 +5035,11 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "aip" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -4989,84 +5047,18 @@ dir = 4 }, /obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ +/obj/effect/floor_decal/corner/lightgrey/border, +/obj/machinery/door/firedoor/glass/hidden/steel{ dir = 1 }, -/obj/effect/floor_decal/corner/lightgrey/border, /turf/simulated/floor/tiled, /area/hallway/station/atrium) "aiq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 1 - }, -/obj/machinery/computer/id_restorer{ - dir = 1; - icon_state = "restorer"; - pixel_y = -32 - }, -/obj/effect/floor_decal/corner/lightgrey/border, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) -"air" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) -"ais" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 5 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/simulated/floor/tiled, -/area/bridge/secondary) -"ait" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 1 - }, -/obj/effect/floor_decal/corner/lightgrey/border, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) -"aiu" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lightgrey/border, @@ -5085,6 +5077,43 @@ }, /turf/simulated/floor/tiled, /area/hallway/station/atrium) +"air" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) +"ais" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) +"ait" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/alarm{ + dir = 8; + icon_state = "alarm0"; + pixel_x = 24 + }, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) +"aiu" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/maintenance/substation/spacecommand) "aiv" = ( /obj/structure/table/woodentable, /obj/item/weapon/folder/yellow, @@ -5106,13 +5135,14 @@ /turf/simulated/floor/tiled, /area/bridge/secondary) "aix" = ( -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" +/obj/structure/table/rack{ + dir = 8; + layer = 2.9 }, -/turf/simulated/floor/tiled, -/area/bridge/secondary) +/obj/random/maintenance/clean, +/obj/random/junk, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "aiy" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -5142,11 +5172,25 @@ /turf/simulated/floor/carpet/bcarpet, /area/tether/station/visitorhallway/office) "aiB" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/maintenance/common, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -28; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary) "aiC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -5182,9 +5226,9 @@ /turf/simulated/floor/tiled, /area/engineering/engine_airlock) "aiE" = ( -/obj/structure/disposalpipe/segment, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/structure/bed/chair/office/dark, +/turf/simulated/floor/tiled, +/area/bridge/secondary) "aiF" = ( /obj/machinery/power/apc{ dir = 4; @@ -5227,18 +5271,30 @@ /turf/simulated/floor/tiled, /area/engineering/hallway) "aiH" = ( -/obj/machinery/keycard_auth{ - pixel_x = -24 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary) "aiI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" }, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary) "aiJ" = ( /obj/machinery/gateway, /obj/effect/floor_decal/industrial/warning, @@ -6628,16 +6684,24 @@ /turf/simulated/floor/tiled, /area/tether/station/stairs_one) "aln" = ( -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) -"alo" = ( -/obj/structure/table/standard, -/obj/machinery/light{ +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + icon_state = "map-scrubbers"; dir = 4 }, -/obj/machinery/camera/network/civilian, /turf/simulated/floor/tiled, -/area/holodeck_control) +/area/bridge/secondary) +"alo" = ( +/turf/simulated/floor, +/area/maintenance/station/abandonedholodeck) "alp" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8; @@ -6760,8 +6824,9 @@ /turf/simulated/floor/tiled/steel_grid, /area/engineering/atmos/backup) "alA" = ( -/turf/simulated/wall, -/area/holodeck_control) +/obj/structure/girder/displaced, +/turf/simulated/floor, +/area/maintenance/station/abandonedholodeck) "alB" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -6972,7 +7037,7 @@ /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; - master_tag = "tether_dock"; + master_tag = "dock_d2a1"; name = "interior access button"; pixel_x = -28; pixel_y = 26; @@ -7139,10 +7204,9 @@ /turf/simulated/floor/tiled, /area/engineering/hallway) "amg" = ( -/turf/simulated/floor/reinforced{ - name = "Holodeck Projector Floor" - }, -/area/holodeck/alphadeck) +/obj/structure/firedoor_assembly, +/turf/simulated/floor, +/area/maintenance/station/abandonedholodeck) "amh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -7439,8 +7503,8 @@ /turf/simulated/floor/grass, /area/hallway/station/atrium) "amK" = ( -/turf/space, -/area/shuttle/specialops/tether) +/turf/simulated/wall, +/area/maintenance/station/abandonedholodeck) "amL" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -7457,19 +7521,34 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "amM" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/plating, -/area/holodeck_control) +/obj/structure/table, +/turf/simulated/floor/tiled, +/area/maintenance/station/abandonedholodeck) "amN" = ( -/obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, -/obj/machinery/light{ +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/camera/network/tether{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloor{ dir = 4 }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, /turf/simulated/floor/tiled, -/area/holodeck_control) +/area/hallway/station/atrium) "amO" = ( /obj/structure/dispenser, /turf/simulated/floor, @@ -8006,7 +8085,9 @@ /turf/simulated/floor/carpet, /area/maintenance/abandonedlibrary) "anL" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 4 + }, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, @@ -8306,7 +8387,9 @@ /turf/simulated/floor, /area/engineering/storage) "aop" = ( -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 4 + }, /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, @@ -8541,14 +8624,9 @@ /turf/simulated/floor/wood/broken, /area/maintenance/abandonedlibrary) "aoV" = ( -/obj/machinery/door/firedoor/glass, -/obj/effect/floor_decal/steeldecal/steel_decals_central1{ - dir = 1 - }, -/turf/simulated/floor/tiled/monofloor{ - dir = 1 - }, -/area/holodeck_control) +/obj/structure/table, +/turf/simulated/floor, +/area/maintenance/station/abandonedholodeck) "aoW" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -9190,7 +9268,9 @@ /turf/simulated/floor/carpet, /area/maintenance/abandonedlibrary) "apX" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 8 + }, /obj/effect/floor_decal/corner/white/diagonal, /turf/simulated/floor/tiled, /area/engineering/break_room) @@ -9262,12 +9342,25 @@ /turf/simulated/floor/tiled, /area/engineering/atmos/backup) "aqg" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 }, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 5 + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled, +/area/tether/station/visitorhallway) "aqh" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ icon_state = "intact"; @@ -9299,23 +9392,31 @@ /turf/simulated/floor/tiled, /area/engineering/atmos/backup) "aqk" = ( +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, /obj/structure/cable/green{ - d2 = 8; - icon_state = "0-8" + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/machinery/power/apc{ - dir = 2; - name = "south bump"; - pixel_y = -32 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 4 }, -/obj/machinery/camera/network/civilian{ - dir = 9 +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 }, /turf/simulated/floor/tiled, -/area/holodeck_control) +/area/hallway/station/atrium) "aql" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red{ icon_state = "intact"; @@ -9473,29 +9574,30 @@ /turf/simulated/wall, /area/maintenance/abandonedlibraryconference) "aqx" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, /obj/effect/floor_decal/borderfloor{ - dir = 4 + dir = 6 }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 4 +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 6 }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 9 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ +/obj/effect/floor_decal/steeldecal/steel_decals4, +/obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, -/obj/machinery/power/apc{ - dir = 4; - name = "east bump"; - pixel_x = 28 - }, -/obj/structure/cable/green{ - d2 = 8; - icon_state = "0-8" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/corner/lightgrey/bordercorner2, /turf/simulated/floor/tiled, -/area/bridge/secondary) +/area/tether/station/visitorhallway) "aqy" = ( /obj/structure/table, /obj/effect/decal/cleanable/cobweb, @@ -9622,7 +9724,9 @@ /turf/simulated/floor/carpet, /area/engineering/break_room) "aqH" = ( -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 8 + }, /obj/effect/floor_decal/corner/white/diagonal, /turf/simulated/floor/tiled, /area/engineering/break_room) @@ -10307,15 +10411,25 @@ /turf/simulated/floor/tiled/steel_grid, /area/engineering/break_room) "ash" = ( -/turf/simulated/wall/r_wall, -/area/holodeck_control) +/obj/structure/door_assembly/multi_tile, +/turf/simulated/floor, +/area/maintenance/station/abandonedholodeck) "asi" = ( -/obj/machinery/door/airlock/glass{ - name = "Holodeck Control" +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 4 }, -/obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled, -/area/holodeck_control) +/area/hallway/station/atrium) "asj" = ( /obj/machinery/light_construct/small, /turf/simulated/floor/plating, @@ -10434,7 +10548,9 @@ d2 = 8; icon_state = "0-8" }, -/obj/machinery/vending/cigarette, +/obj/machinery/vending/cigarette{ + dir = 8 + }, /obj/effect/floor_decal/corner/white/diagonal, /turf/simulated/floor/tiled, /area/engineering/break_room) @@ -10512,13 +10628,19 @@ /turf/simulated/floor/tiled, /area/engineering/workshop) "asB" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/book/manual/security_space_law, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/common, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor, +/area/tether/station/visitorhallway) "asC" = ( /obj/structure/table/woodentable, /obj/item/device/flashlight/lamp/green{ @@ -10552,14 +10674,18 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "asG" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/wall/r_wall, +/area/maintenance/abandonedlibraryconference) "asH" = ( -/obj/machinery/alarm{ - dir = 8; - icon_state = "alarm0"; - pixel_x = 24 +/obj/structure/disposalpipe/sortjunction{ + name = "Visitor Office"; + sortType = "Visitor Office" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 }, /turf/simulated/floor, /area/maintenance/station/spacecommandmaint) @@ -10603,30 +10729,15 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "asM" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 8 +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 5 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera/network/command{ - icon_state = "camera"; - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled, -/area/bridge/secondary) +/obj/structure/cable, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "asN" = ( /obj/machinery/cryopod, /obj/effect/floor_decal/corner_techfloor_grid{ @@ -10648,13 +10759,13 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "asP" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/tiled, -/area/holodeck_control) +/obj/structure/door_assembly/door_assembly_mai, +/turf/simulated/floor, +/area/maintenance/station/abandonedholodeck) "asQ" = ( -/obj/machinery/computer/HolodeckControl, -/turf/simulated/floor/tiled, -/area/holodeck_control) +/obj/structure/coatrack, +/turf/simulated/floor, +/area/maintenance/station/abandonedholodeck) "asR" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/blue/bordercorner, @@ -10684,42 +10795,58 @@ /turf/simulated/floor/tiled/monotile, /area/engineering/workshop) "asV" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24; - pixel_y = 0 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, /obj/structure/disposalpipe/segment, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 8 }, /turf/simulated/floor/tiled, -/area/bridge/secondary) +/area/hallway/station/atrium) "asW" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) +/obj/structure/cable/green, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/machinery/power/sensor{ + name = "Powernet Sensor - Secondary Command Subgrid"; + name_tag = "Secondary Command Subgrid" + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/floor, +/area/maintenance/substation/spacecommand) "asX" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/folder/red, -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 28 + }, +/obj/structure/cable/green{ + d2 = 8; + icon_state = "0-8" + }, +/obj/random/junk, +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor, +/area/maintenance/substation/spacecommand) "asY" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -10741,15 +10868,24 @@ /turf/simulated/floor/carpet/bcarpet, /area/tether/station/visitorhallway/office) "ata" = ( -/obj/effect/floor_decal/borderfloor/corner{ - dir = 4 - }, -/obj/effect/floor_decal/corner/blue/bordercorner{ - dir = 4 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, /obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 10 + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 9 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" }, /turf/simulated/floor/tiled, /area/bridge/secondary) @@ -10760,13 +10896,29 @@ /turf/simulated/floor, /area/maintenance/substation/engineering) "atc" = ( -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/machinery/space_heater, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 8 + }, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary) "atd" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, @@ -11015,32 +11167,8 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "atz" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/simulated/floor/tiled, -/area/bridge/secondary) +/turf/simulated/wall/r_wall, +/area/maintenance/station/spacecommandmaint) "atA" = ( /obj/effect/floor_decal/industrial/warning{ icon_state = "warning"; @@ -11202,11 +11330,27 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway/office) "atM" = ( -/obj/structure/closet/crate, -/obj/random/tool, -/obj/random/tool, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightgrey/border, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) "atN" = ( /obj/effect/decal/cleanable/blood/oil/streak{ amount = 0 @@ -11217,43 +11361,28 @@ /turf/simulated/wall/r_wall, /area/engineering/engine_eva) "atP" = ( -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -28; - pixel_y = 0 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 8 - }, -/obj/effect/floor_decal/corner/blue/border{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 5 +/obj/machinery/door/airlock/maintenance/engi{ + name = "Asteroid Command Substation"; + req_one_access = list(19) }, /obj/structure/cable/green{ - d1 = 1; - d2 = 4; - icon_state = "1-4" + icon_state = "1-2" }, -/turf/simulated/floor/tiled, -/area/bridge/secondary) +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor, +/area/maintenance/substation/spacecommand) "atQ" = ( /obj/structure/window/reinforced, /obj/structure/frame, /turf/simulated/floor/tiled, /area/engineering/workshop) "atR" = ( -/obj/structure/bed/chair/office/dark, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" +/obj/machinery/door/firedoor/glass, +/obj/structure/grille, +/obj/structure/window/reinforced/polarized/full{ + id = "secondary_bridge" }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/plating, /area/bridge/secondary) "atS" = ( /obj/machinery/hologram/holopad, @@ -11339,12 +11468,20 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "aub" = ( -/obj/structure/bed/chair/comfy/blue{ - icon_state = "comfychair_preview"; - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) +/obj/machinery/door/airlock/command{ + name = "Secondary Command Office" + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary) "auc" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/corner/white/diagonal, @@ -11387,37 +11524,27 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "aui" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" }, -/obj/structure/cable/green{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) +"auj" = ( +/obj/structure/cable{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/turf/simulated/floor/tiled, -/area/bridge/secondary) -"auj" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - icon_state = "map-scrubbers"; - dir = 4 - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/cable/green{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/turf/simulated/floor/tiled, -/area/bridge/secondary) +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "auk" = ( /obj/structure/stairs/west, /turf/simulated/floor/tiled, @@ -11468,30 +11595,28 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "aup" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/command, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/effect/floor_decal/steeldecal/steel_decals4{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 }, -/obj/effect/floor_decal/steeldecal/steel_decals4{ - dir = 5 +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "secondary_bridge_blast"; + name = "Secondary Command Office Blast Doors"; + opacity = 0 }, -/obj/structure/cable/green{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/tiled, -/area/tether/station/visitorhallway) +/turf/simulated/floor, +/area/bridge/secondary/hallway) "auq" = ( /obj/machinery/light{ icon_state = "tube1"; @@ -11518,35 +11643,13 @@ /turf/simulated/wall, /area/crew_quarters/sleep/cryo) "aut" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 6 - }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals4, -/obj/effect/floor_decal/steeldecal/steel_decals4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor/corner2, -/obj/effect/floor_decal/corner/lightgrey/bordercorner2, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/tiled, -/area/tether/station/visitorhallway) +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "auu" = ( /obj/machinery/door/firedoor/glass, /obj/structure/cable/green{ @@ -11654,24 +11757,24 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway/office) "auD" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/maintenance/common, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 }, -/turf/simulated/floor, -/area/tether/station/visitorhallway) +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "auE" = ( /obj/machinery/door/firedoor/glass, /obj/structure/cable/green{ @@ -11693,55 +11796,131 @@ /turf/simulated/floor/plating, /area/bridge/secondary) "auF" = ( -/obj/structure/disposalpipe/sortjunction{ - name = "Visitor Office"; - sortType = "Visitor Office" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 +/obj/machinery/light{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 }, /obj/structure/cable/green{ - d2 = 8; - icon_state = "0-8" + d1 = 2; + d2 = 4; + icon_state = "2-4" }, -/obj/machinery/power/apc{ - dir = 4; - name = "east bump"; - pixel_x = 28 +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 }, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "auG" = ( -/obj/machinery/door/airlock/maintenance/common, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"auH" = ( -/obj/structure/bed/chair/comfy/brown{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 5 - }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) -"auI" = ( -/obj/structure/bed/chair/comfy/brown{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - icon_state = "intact-supply"; - dir = 5 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ icon_state = "intact-scrubbers"; dir = 4 }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) +"auH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 0; + pixel_y = 26 + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) +"auI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "auJ" = ( /obj/structure/table/standard, /obj/random/tech_supply, @@ -11763,15 +11942,38 @@ /turf/simulated/floor/tiled, /area/storage/tools) "auK" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/disposalpipe/sortjunction{ + dir = 4; + name = "Space Meeting Room"; + sortType = "Space Meeting Room" + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "auL" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -11785,53 +11987,72 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway/office) "auM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) +"auN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) +"auO" = ( /obj/structure/cable/green{ d1 = 1; d2 = 2; icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - icon_state = "map-scrubbers"; - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) -"auN" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/folder/yellow{ - pixel_x = 2 - }, -/obj/item/weapon/folder/blue{ - pixel_y = 3 - }, -/obj/item/weapon/folder/red{ - pixel_x = -2 - }, -/obj/machinery/alarm{ - dir = 8; - icon_state = "alarm0"; - pixel_x = 24 - }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) -"auO" = ( -/obj/machinery/vending/fitness, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 8 - }, -/obj/effect/floor_decal/borderfloor{ - dir = 10 - }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 10 - }, -/turf/simulated/floor/tiled, -/area/tether/station/visitorhallway/office) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor, +/area/crew_quarters/sleep/cryo) "auP" = ( /obj/machinery/alarm{ dir = 8; @@ -11876,7 +12097,9 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway/office) "auS" = ( -/obj/machinery/vending/tool, +/obj/machinery/vending/tool{ + dir = 4 + }, /obj/machinery/ai_status_display{ pixel_x = -32; pixel_y = 0 @@ -11903,16 +12126,24 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway/office) "auV" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 5 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "auW" = ( /obj/machinery/atmospherics/omni/mixer{ tag_east = 1; @@ -11965,12 +12196,8 @@ /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/sleep/cryo) "avb" = ( -/obj/machinery/keycard_auth{ - pixel_x = 24 - }, -/obj/structure/filingcabinet/chestdrawer, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/wall/r_wall, +/area/bridge/secondary/hallway) "avc" = ( /obj/machinery/cryopod/robot, /obj/effect/floor_decal/corner_techfloor_grid{ @@ -12028,11 +12255,23 @@ /turf/simulated/floor/tiled, /area/engineering/workshop) "avi" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "avj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -12049,12 +12288,23 @@ /turf/simulated/floor/tiled, /area/hallway/station/docks) "avl" = ( -/obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "avm" = ( /obj/structure/cable/green{ d1 = 1; @@ -12101,22 +12351,16 @@ /turf/simulated/floor/tiled, /area/engineering/workshop) "avr" = ( +/obj/machinery/camera/network/command{ + icon_state = "camera"; + dir = 10 + }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 8 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 1 - }, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 9 - }, -/obj/effect/floor_decal/corner/blue/bordercorner2{ - dir = 9 - }, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/corner/blue/bordercorner2, /turf/simulated/floor/tiled, -/area/bridge/secondary) +/area/bridge/secondary/hallway) "avs" = ( /obj/structure/table/reinforced, /obj/item/device/suit_cooling_unit, @@ -12161,11 +12405,16 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway/office) "avv" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 1 +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -28 }, -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) +/obj/structure/cable/green, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "avw" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/red{ icon_state = "map"; @@ -12352,7 +12601,9 @@ /area/tether/station/visitorhallway) "avL" = ( /obj/structure/table/reinforced, -/obj/machinery/chemical_dispenser/bar_soft/full, +/obj/machinery/chemical_dispenser/bar_soft/full{ + dir = 8 + }, /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/extinguisher_cabinet{ dir = 8; @@ -12533,18 +12784,10 @@ /turf/simulated/floor/tiled/steel_grid, /area/hallway/station/docks) "avY" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "avZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -12607,10 +12850,17 @@ /turf/simulated/floor/tiled, /area/hallway/station/docks) "awe" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/storage/box/cups, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/effect/landmark{ + name = "lightsout" + }, +/obj/machinery/alarm{ + dir = 1; + pixel_y = -25 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "awf" = ( /obj/structure/cable/green{ d1 = 4; @@ -12631,8 +12881,20 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway) "awg" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) +"awh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, /obj/structure/cable/green{ d1 = 1; d2 = 2; @@ -12644,23 +12906,8 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 }, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, /turf/simulated/floor/tiled, -/area/bridge/secondary) -"awh" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/area/bridge/secondary/hallway) "awi" = ( /obj/structure/cable/green{ d1 = 4; @@ -12845,33 +13092,31 @@ /turf/simulated/floor/tiled/dark, /area/bridge/secondary) "awy" = ( -/obj/structure/reagent_dispensers/water_cooler/full, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/corner/blue/bordercorner2, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "awz" = ( -/obj/structure/bed/chair/comfy/blue{ - icon_state = "comfychair_preview"; - dir = 4 - }, -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) +/obj/machinery/light, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "awA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 +/obj/machinery/camera/network/command{ + icon_state = "camera"; + dir = 9 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 +/obj/effect/floor_decal/borderfloor{ + dir = 6 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/floor_decal/corner/blue/border{ + dir = 6 }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor/tiled, +/area/bridge/secondary/hallway) "awB" = ( /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 1 @@ -12895,8 +13140,8 @@ /turf/simulated/floor/tiled/techmaint, /area/engineering/workshop) "awC" = ( -/turf/simulated/floor/wood/broken, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/wall/r_wall, +/area/bridge/secondary/teleporter) "awD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red{ icon_state = "intact"; @@ -13024,9 +13269,21 @@ }, /area/engineering/hallway) "awN" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/wood/broken, -/area/maintenance/station/spacecommandmaint) +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/command{ + name = "Teleport Access"; + req_access = newlist(); + req_one_access = list(17) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) "awO" = ( /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 @@ -13079,10 +13336,8 @@ /turf/simulated/floor/tiled, /area/hallway/station/docks) "awQ" = ( -/obj/structure/table/woodentable, -/obj/item/glass_jar, -/turf/simulated/floor/wood, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/wall/r_wall, +/area/bridge/meeting_room) "awR" = ( /obj/structure/cable/green{ d1 = 1; @@ -13094,10 +13349,20 @@ /turf/simulated/floor/wood, /area/engineering/break_room) "awS" = ( -/obj/structure/bed/chair/comfy/black, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/command{ + name = "Secondary Command Office" + }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "awT" = ( /obj/structure/table/reinforced, /obj/item/weapon/storage/box/donkpockets{ @@ -13114,58 +13379,69 @@ /turf/simulated/floor/tiled, /area/engineering/break_room) "awU" = ( -/obj/machinery/lapvend, -/turf/simulated/floor/tiled, -/area/storage/tools) -"awV" = ( -/obj/machinery/door/firedoor/glass, -/obj/structure/grille, -/obj/machinery/door/blast/shutters{ - dir = 2; - id = "SecondaryCommandShutter"; - layer = 3.3; - name = "Privacy Shutters" +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 }, -/obj/structure/window/reinforced/full, -/turf/simulated/floor/plating, -/area/bridge/secondary/meeting_room) +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 10 + }, +/obj/machinery/vending/fitness{ + icon_state = "fitness"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tether/station/visitorhallway/office) +"awV" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/turf/simulated/floor/tiled/dark, +/area/bridge/secondary/teleporter) "awW" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor/glass, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ d1 = 1; - d2 = 2; - icon_state = "1-2" + d2 = 4; + icon_state = "1-4" }, -/obj/machinery/door/airlock/command{ - name = "Secondary Command Office" +/obj/machinery/light_switch{ + dir = 2; + name = "light switch "; + pixel_x = 20; + pixel_y = 30 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals4{ + dir = 4 }, /turf/simulated/floor/tiled, -/area/bridge/secondary/meeting_room) +/area/bridge/secondary/teleporter) "awX" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/window/reinforced, -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 8; - icon_state = "pdoor0"; - id = "secondary_bridge_blast"; - name = "Secondary Command Office Blast Doors"; - opacity = 0 +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 }, -/turf/simulated/floor/plating, -/area/bridge/secondary/meeting_room) +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, +/obj/structure/cable/green{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) "awY" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/obj/random/junk, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/structure/table/standard, +/turf/simulated/floor/tiled/dark, +/area/bridge/secondary/teleporter) "awZ" = ( /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 @@ -13219,21 +13495,29 @@ /turf/simulated/floor/plating, /area/hallway/station/docks) "axc" = ( +/obj/structure/bed/chair/comfy/brown, /turf/simulated/floor/wood, -/area/maintenance/station/spacecommandmaint) +/area/bridge/meeting_room) "axd" = ( -/obj/structure/bed/chair/comfy/black, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) -"axe" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/folder/blue, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 +/obj/structure/disposalpipe/segment, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/turf/simulated/floor/carpet/purcarpet, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor/wood, +/area/bridge/meeting_room) +"axe" = ( +/obj/machinery/light_switch{ + dir = 2; + name = "light switch "; + pixel_x = 0; + pixel_y = 30 + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "axf" = ( /obj/machinery/button/remote/airlock{ id = "spacedorm2"; @@ -13260,16 +13544,15 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/spacedorm2) "axh" = ( -/obj/structure/bed/chair, /turf/simulated/floor/wood, -/area/maintenance/station/spacecommandmaint) +/area/bridge/meeting_room) "axi" = ( -/obj/machinery/light/small{ - dir = 4; - pixel_y = 0 +/obj/structure/bed/chair/comfy/brown, +/obj/machinery/newscaster{ + pixel_x = -30 }, -/turf/simulated/floor/wood/broken, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "axj" = ( /obj/machinery/alarm{ dir = 4; @@ -13279,29 +13562,26 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/spacedorm1) "axk" = ( -/obj/structure/bed/chair/comfy/brown, -/obj/machinery/newscaster{ - pixel_x = -30 +/obj/machinery/suit_storage_unit/standard_unit, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor/tiled/dark, +/area/bridge/secondary/teleporter) "axl" = ( -/obj/structure/bed/chair/comfy/brown, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) "axm" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/item/weapon/stool/padded, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) "axn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ icon_state = "intact-scrubbers"; @@ -13339,23 +13619,11 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/spacedorm2) "axq" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/machinery/computer/teleporter{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/structure/disposalpipe/junction/yjunction{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor/tiled/dark, +/area/bridge/secondary/teleporter) "axr" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -13366,24 +13634,17 @@ /turf/simulated/floor/tiled, /area/hallway/station/docks) "axs" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" +/obj/structure/table/woodentable, +/obj/item/device/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 }, -/obj/machinery/button/remote/blast_door{ - id = "SecondaryCommandShutter"; - name = "Privacy Shutters"; - pixel_x = 24; - pixel_y = 24; - req_access = list(); - req_one_access = list(19) +/obj/machinery/camera/network/command{ + icon_state = "camera"; + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/area/bridge/meeting_room) "axt" = ( /obj/random/trash_pile, /turf/simulated/floor, @@ -13529,38 +13790,46 @@ /turf/simulated/floor/tiled, /area/engineering/atmos/backup) "axI" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 5 +/obj/structure/table/woodentable, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - icon_state = "intact-supply"; - dir = 5 +/obj/item/weapon/storage/box/donut, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) +"axJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 }, /obj/structure/disposalpipe/segment{ dir = 1; icon_state = "pipe-c" }, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"axJ" = ( -/obj/structure/table/woodentable, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/area/bridge/meeting_room) "axK" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/obj/effect/floor_decal/rust, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"axL" = ( -/obj/structure/bed/chair{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/simulated/floor/wood/broken, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/wood, +/area/bridge/meeting_room) +"axL" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/camera/network/command{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "axM" = ( /obj/machinery/firealarm{ dir = 4; @@ -13643,16 +13912,18 @@ /turf/simulated/floor/tiled, /area/engineering/workshop) "axV" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24; - pixel_y = 0 +/obj/structure/dispenser{ + phorontanks = 0 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/obj/machinery/camera/network/command{ + icon_state = "camera"; + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/bridge/secondary/teleporter) "axW" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -13823,19 +14094,19 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/spacedorm4) "ayl" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/deck/cards, -/turf/simulated/floor/wood, -/area/maintenance/station/spacecommandmaint) -"aym" = ( -/obj/machinery/light{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) +"aym" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) "ayn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -13878,8 +14149,15 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway) "ayp" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "dock_d1a2"; + landmark_tag = "tether_dockarm_d1a2"; + name = "Tether Dock D1A2" + }, /turf/space, -/area/shuttle/excursion/tether_dockarm) +/area/space) "ayq" = ( /obj/machinery/computer/card{ dir = 1 @@ -13957,11 +14235,11 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway) "ayv" = ( -/obj/structure/bed/chair{ - dir = 8 +/obj/machinery/teleport/station{ + dir = 2 }, -/turf/simulated/floor/wood/broken, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/tiled/dark, +/area/bridge/secondary/teleporter) "ayw" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -13988,28 +14266,11 @@ /turf/simulated/floor/tiled, /area/tether/station/stairs_one) "ayz" = ( -/obj/machinery/door/firedoor/glass, -/obj/machinery/door/airlock/maintenance/command, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 1; - icon_state = "pdoor0"; - id = "secondary_bridge_blast"; - name = "Secondary Command Office Blast Doors"; - opacity = 0 +/obj/structure/bed/chair/comfy/brown{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "ayA" = ( /obj/machinery/firealarm{ dir = 8; @@ -14076,46 +14337,37 @@ /turf/simulated/floor/tiled, /area/hallway/station/docks) "ayE" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9; - pixel_y = 0 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, /turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/area/bridge/meeting_room) "ayF" = ( /obj/structure/table/woodentable, -/obj/item/device/flashlight/lamp/green{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) -"ayG" = ( -/obj/structure/table/woodentable, -/obj/machinery/atmospherics/unary/vent_pump/on, -/obj/item/weapon/storage/box/donut, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) -"ayH" = ( -/obj/structure/table/woodentable, -/obj/item/weapon/paper_bin, -/obj/item/weapon/pen, +/obj/item/weapon/storage/box/cups, /obj/machinery/light{ + icon_state = "tube1"; dir = 4 }, /turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/area/bridge/meeting_room) +"ayG" = ( +/obj/machinery/alarm{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) +"ayH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/hologram/holopad, +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) "ayI" = ( /obj/machinery/alarm{ dir = 4; @@ -14137,11 +14389,11 @@ /turf/simulated/floor/wood, /area/crew_quarters/sleep/spacedorm3) "ayK" = ( -/obj/structure/bed/chair{ - dir = 1 +/obj/machinery/teleport/hub{ + dir = 2 }, -/turf/simulated/floor/wood/broken, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/tiled/dark, +/area/bridge/secondary/teleporter) "ayL" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ @@ -14191,12 +14443,11 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway) "ayN" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/structure/reagent_dispensers/water_cooler/full{ + dir = 8 + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "ayO" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ @@ -14284,14 +14535,8 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway) "ayR" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing, -/obj/structure/closet, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) "ayS" = ( /obj/structure/cable/green{ d1 = 4; @@ -14469,14 +14714,12 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway) "aza" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "east bump"; - pixel_x = 28 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 }, -/obj/structure/cable/green, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) "azb" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -14543,17 +14786,14 @@ /turf/simulated/floor/tiled, /area/tether/station/dock_two) "azg" = ( -/obj/structure/railing, -/obj/structure/table/rack{ - dir = 8; - layer = 2.9 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/machinery/light/small{ - dir = 1 +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) "azh" = ( /obj/structure/table/standard, /obj/random/tech_supply, @@ -14757,43 +14997,62 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway) "azu" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor, /area/maintenance/station/spacecommandmaint) "azv" = ( /turf/simulated/wall, /area/tether/station/visitorhallway/lounge) "azw" = ( -/obj/structure/railing, -/obj/effect/floor_decal/rust, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/structure/table/rack{ + dir = 8; + layer = 2.9 + }, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/device/gps/command, +/obj/item/device/gps/command, +/obj/item/device/gps/command, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/bridge/secondary/teleporter) "azx" = ( /turf/simulated/wall, /area/tether/station/visitorhallway/laundry) "azy" = ( -/obj/structure/closet, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/structure/filingcabinet/chestdrawer, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "azz" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" }, /obj/structure/disposalpipe/segment{ - dir = 4; + dir = 8; icon_state = "pipe-c" }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -28; - pixel_y = 0 +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "azA" = ( /obj/effect/floor_decal/borderfloor{ dir = 8; @@ -15210,19 +15469,17 @@ /turf/simulated/floor, /area/maintenance/station/spacecommandmaint) "aAo" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/random/junk, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aAp" = ( /obj/machinery/light/small{ icon_state = "bulb1"; @@ -15240,98 +15497,109 @@ icon_state = "intact-scrubbers"; dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/floor_decal/rust, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aAs" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 +/obj/structure/table/woodentable, +/obj/item/weapon/paper_bin, +/obj/item/weapon/pen, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aAt" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 +/obj/structure/table/woodentable, +/obj/item/weapon/folder/blue, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) +"aAu" = ( +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/bridge/secondary/teleporter) +"aAv" = ( +/obj/machinery/shieldwallgen, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/bridge/secondary/teleporter) +"aAw" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"aAu" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/table/rack{ - dir = 8; - layer = 2.9 - }, -/obj/effect/floor_decal/rust, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"aAv" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing, -/obj/structure/closet/crate, -/obj/effect/floor_decal/rust, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"aAw" = ( -/obj/structure/closet/crate, -/obj/random/maintenance/clean, -/obj/random/maintenance/clean, -/obj/random/mre, -/obj/structure/railing, -/obj/effect/floor_decal/rust, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"aAx" = ( -/obj/structure/railing, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"aAy" = ( -/obj/structure/railing, -/obj/structure/railing{ dir = 4 }, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) -"aAz" = ( -/obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 5 + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2 + }, +/obj/effect/floor_decal/corner/lightgrey/border, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) +"aAx" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - icon_state = "intact-supply"; - dir = 5 + dir = 4 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/machinery/computer/id_restorer{ dir = 1; - icon_state = "pipe-c" + icon_state = "restorer"; + pixel_y = -32 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/effect/floor_decal/corner/lightgrey/border, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) +"aAy" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightgrey/border, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) +"aAz" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aAA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -15343,17 +15611,12 @@ /turf/simulated/floor/tiled, /area/hallway/station/docks) "aAB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - icon_state = "intact-scrubbers"; - dir = 4 +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, /turf/simulated/floor, /area/maintenance/station/spacecommandmaint) "aAC" = ( @@ -15379,14 +15642,11 @@ /turf/simulated/floor/tiled, /area/tether/station/visitorhallway/office) "aAE" = ( -/obj/effect/floor_decal/rust, -/obj/machinery/alarm{ - dir = 1; - pixel_y = -25 +/obj/machinery/keycard_auth{ + pixel_x = -24 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aAF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -15450,13 +15710,18 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "aAJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + icon_state = "intact-supply"; + dir = 5 + }, /obj/structure/cable/green{ d1 = 1; - d2 = 2; - icon_state = "1-2" + d2 = 4; + icon_state = "1-4" }, /turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/area/bridge/meeting_room) "aAK" = ( /obj/structure/closet/wardrobe/black, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -15718,7 +15983,7 @@ /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; - master_tag = "trade_shuttle_dock_airlock"; + master_tag = "dock_d1l"; name = "interior access button"; pixel_x = -28; pixel_y = -26; @@ -15869,10 +16134,16 @@ /turf/simulated/floor/tiled/steel_grid, /area/engineering/workshop) "aBz" = ( -/obj/machinery/light/small, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aBA" = ( /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 @@ -15956,10 +16227,13 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/engi_wash) "aBF" = ( -/obj/random/junk, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor, -/area/maintenance/station/spacecommandmaint) +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aBG" = ( /obj/structure/table/rack{ dir = 8; @@ -16042,13 +16316,19 @@ /turf/simulated/floor/tiled, /area/crew_quarters/sleep/spacedorm4) "aBO" = ( -/obj/structure/table/rack{ - dir = 8; - layer = 2.9 +/obj/machinery/keycard_auth{ + pixel_x = 24 }, -/obj/random/maintenance/clean, -/obj/random/maintenance/clean, -/obj/random/contraband, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) +"aBP" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/common, /turf/simulated/floor, /area/maintenance/station/spacecommandmaint) "aBQ" = ( @@ -16058,8 +16338,9 @@ /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 1; frequency = 1380; - id_tag = "trade_shuttle_dock_pump" + id_tag = "dock_d1l_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "aBR" = ( @@ -16099,16 +16380,20 @@ /turf/simulated/floor/tiled/dark, /area/bridge/secondary) "aBT" = ( -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/command{ + req_one_access = list(17) }, -/obj/machinery/camera/network/command{ - icon_state = "camera"; - dir = 9 +/obj/machinery/door/blast/regular{ + density = 0; + dir = 8; + icon_state = "pdoor0"; + id = "secondary_bridge_blast"; + name = "Secondary Command Office Blast Doors"; + opacity = 0 }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor, +/area/bridge/secondary/teleporter) "aBU" = ( /obj/machinery/door/airlock{ name = "Unit 2" @@ -16120,12 +16405,8 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/toilet) "aBW" = ( -/obj/machinery/camera/network/command{ - icon_state = "camera"; - dir = 9 - }, -/turf/simulated/floor/wood, -/area/bridge/secondary/meeting_room) +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) "aBX" = ( /obj/machinery/door/airlock{ name = "Restroom" @@ -16133,6 +16414,11 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/engi_wash) +"aBY" = ( +/obj/structure/bed/chair/comfy/black, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) "aBZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -16291,6 +16577,31 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/tether/station/stairs_one) +"aCq" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightgrey/border, +/obj/machinery/camera/network/tether{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) "aCr" = ( /obj/machinery/door/firedoor/glass/hidden/steel{ dir = 1 @@ -16361,30 +16672,12 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "aCu" = ( -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 9 - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/floor_decal/borderfloor{ - dir = 4 - }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 4 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 10 - }, -/obj/machinery/camera/network/tether{ - dir = 9 +/obj/machinery/door/airlock/glass{ + name = "Holodeck Control" }, +/obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled, -/area/hallway/station/atrium) +/area/maintenance/station/abandonedholodeck) "aCv" = ( /obj/structure/reagent_dispensers/water_cooler/full, /obj/machinery/camera/network/tether{ @@ -16422,16 +16715,10 @@ /turf/simulated/floor/tiled, /area/hallway/station/atrium) "aCy" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/machinery/door/firedoor/glass, +/obj/structure/grille/broken, /turf/simulated/floor/plating, -/area/holodeck_control) +/area/maintenance/station/abandonedholodeck) "aCz" = ( /obj/structure/bed/chair, /obj/machinery/camera/network/tether, @@ -16455,6 +16742,7 @@ name = "Engineering Starboard External Access" }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor, /area/engineering/engineering_airlock) "aCC" = ( @@ -16661,6 +16949,11 @@ }, /turf/simulated/floor/tiled, /area/engineering/hallway) +"aCW" = ( +/obj/structure/bed/chair/comfy/black, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) "aCX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -16929,6 +17222,14 @@ }, /turf/simulated/floor/tiled, /area/hallway/station/docks) +"aDq" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aDr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -17046,6 +17347,46 @@ }, /turf/simulated/floor/tiled, /area/tether/station/visitorhallway) +"aDy" = ( +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) +"aDz" = ( +/obj/structure/bed/chair/comfy/blue{ + icon_state = "comfychair_preview"; + dir = 4 + }, +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) +"aDA" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/book/manual/security_space_law, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) +"aDB" = ( +/obj/structure/table/rack{ + dir = 8; + layer = 2.9 + }, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/obj/random/contraband, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) +"aDC" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/folder/blue, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) "aDD" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/undies_wardrobe, @@ -17072,6 +17413,13 @@ /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating, /area/tether/station/dock_one) +"aDI" = ( +/obj/structure/bed/chair/comfy/blue{ + icon_state = "comfychair_preview"; + dir = 8 + }, +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) "aDJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, @@ -17106,6 +17454,17 @@ }, /turf/simulated/floor, /area/maintenance/substation/civilian) +"aDN" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aDO" = ( /obj/machinery/door/airlock/glass, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17159,6 +17518,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor, /area/maintenance/station/spacecommandmaint) +"aDS" = ( +/obj/structure/closet/crate, +/obj/random/maintenance/clean, +/obj/random/maintenance/clean, +/obj/random/mre, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "aDT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -17204,6 +17570,18 @@ }, /turf/simulated/floor/tiled, /area/tether/station/dock_two) +"aDX" = ( +/obj/effect/floor_decal/rust, +/obj/machinery/alarm{ + dir = 1; + pixel_y = -25 + }, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) +"aDY" = ( +/obj/machinery/light/small, +/turf/simulated/floor, +/area/maintenance/station/spacecommandmaint) "aDZ" = ( /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 @@ -17234,6 +17612,7 @@ frequency = 1379; id_tag = "eng_starboard_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/dark, /area/engineering/engineering_airlock) "aEb" = ( @@ -17244,6 +17623,30 @@ }, /turf/simulated/floor/tiled, /area/engineering/engine_eva) +"aEc" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/maintenance/command, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "secondary_bridge_blast"; + name = "Secondary Command Office Blast Doors"; + opacity = 0 + }, +/turf/simulated/floor, +/area/bridge/meeting_room) +"aEd" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/paper_bin, +/obj/item/weapon/pen, +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) +"aEe" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/folder/red, +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) "aEf" = ( /obj/structure/cable/green{ d1 = 1; @@ -17256,6 +17659,21 @@ }, /turf/simulated/floor/tiled, /area/engineering/engine_eva) +"aEg" = ( +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 28 + }, +/obj/structure/cable/green, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) +"aEh" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/carpet/purcarpet, +/area/bridge/meeting_room) "aEi" = ( /obj/machinery/door/firedoor/glass, /obj/structure/disposalpipe/segment, @@ -17323,7 +17741,7 @@ /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; - master_tag = "tether_dock"; + master_tag = "dock_d1a3"; name = "interior access button"; pixel_x = 28; pixel_y = 26; @@ -17429,6 +17847,20 @@ }, /turf/simulated/floor/tiled, /area/engineering/foyer) +"aEv" = ( +/obj/machinery/camera/network/command{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) +"aEw" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -26 + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aEx" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ icon_state = "map"; @@ -17518,6 +17950,14 @@ }, /turf/simulated/floor/tiled, /area/tether/station/visitorhallway/laundry) +"aED" = ( +/obj/machinery/alarm{ + dir = 8; + pixel_x = 22; + pixel_y = 0 + }, +/turf/simulated/floor/wood, +/area/bridge/meeting_room) "aEE" = ( /obj/structure/toilet{ dir = 4 @@ -17528,6 +17968,69 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/engi_wash) +"aEF" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 8; + icon_state = "pdoor0"; + id = "secondary_bridge_blast"; + name = "Secondary Command Office Blast Doors"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/bridge/meeting_room) +"aEG" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/tiled, +/area/maintenance/station/abandonedholodeck) +"aEH" = ( +/obj/structure/frame/computer, +/turf/simulated/floor/tiled, +/area/maintenance/station/abandonedholodeck) +"aEI" = ( +/obj/machinery/alarm{ + dir = 8; + pixel_x = 25; + pixel_y = 0 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled, +/area/maintenance/station/abandonedholodeck) +"aEJ" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/tiled, +/area/maintenance/station/abandonedholodeck) +"aEK" = ( +/obj/item/weapon/stool/padded, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/maintenance/station/abandonedholodeck) +"aEL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/maintenance/station/abandonedholodeck) "aEM" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -17693,15 +18196,6 @@ }, /turf/simulated/floor/tiled, /area/tether/station/dock_two) -"aFI" = ( -/obj/structure/table/standard, -/obj/machinery/firealarm{ - dir = 4; - layer = 3.3; - pixel_x = 26 - }, -/turf/simulated/floor/tiled, -/area/holodeck_control) "aFJ" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -17715,17 +18209,12 @@ pixel_y = 10 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1379; + dir = 8; id_tag = "eng_starboard_airlock"; - pixel_x = 24; - pixel_y = 0; - req_access = newlist(); - req_one_access = list(11,24); - tag_airpump = "eng_starboard_pump"; - tag_chamber_sensor = "eng_starboard_sensor"; - tag_exterior_door = "eng_starboard_outer"; - tag_interior_door = "eng_starboard_inner" + pixel_x = 28 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/engineering/engineering_airlock) "aFL" = ( @@ -17983,38 +18472,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, /area/tether/station/dock_two) -"aHz" = ( -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 9 - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/floor_decal/borderfloor{ - dir = 4 - }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 5 - }, -/obj/effect/floor_decal/corner/lightgrey/bordercorner2{ - dir = 5 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 10 - }, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) "aHQ" = ( /obj/machinery/door/airlock/glass_external{ frequency = 1379; @@ -18024,6 +18481,7 @@ name = "Engineering Starboard Internal Access" }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/engineering/engineering_airlock) "aHT" = ( @@ -18036,6 +18494,7 @@ name = "Engineering Starboard Internal Access" }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/engineering/engineering_airlock) "aHY" = ( @@ -18054,8 +18513,14 @@ /turf/simulated/floor/tiled/steel_grid, /area/engineering/engine_eva) "aIb" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + landmark_tag = "antag_space_docks"; + name = "Tether Docking Arm" + }, /turf/space, -/area/shuttle/antag_space/docks) +/area/space) "aIc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -18210,23 +18675,6 @@ /obj/effect/floor_decal/sign/dock/two, /turf/simulated/floor/tiled, /area/tether/station/dock_two) -"aIT" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/floor_decal/steeldecal/steel_decals6{ - dir = 10 - }, -/obj/effect/floor_decal/steeldecal/steel_decals3{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals3, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) "aIU" = ( /obj/machinery/light{ dir = 8 @@ -18316,8 +18764,15 @@ /turf/simulated/floor/plating, /area/tether/station/dock_one) "aJr" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "dock_d1l"; + landmark_tag = "tether_dockarm_d1l"; + name = "Tether Dock D1L" + }, /turf/space, -/area/shuttle/trade/station) +/area/space) "aJs" = ( /turf/simulated/wall/r_wall, /area/engineering/storage) @@ -18447,23 +18902,6 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/engi_wash) -"aKQ" = ( -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/floor_decal/steeldecal/steel_decals6{ - dir = 5 - }, -/obj/effect/floor_decal/steeldecal/steel_decals3{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals3, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) "aKU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18477,18 +18915,6 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/engi_wash) -"aLc" = ( -/obj/machinery/door/airlock/multi_tile/glass{ - autoclose = 1; - dir = 2; - id_tag = null; - name = "Holodeck"; - req_access = list() - }, -/obj/machinery/door/firedoor/glass, -/obj/effect/floor_decal/steeldecal/steel_decals_central1, -/turf/simulated/floor/tiled/monofloor, -/area/holodeck_control) "aLh" = ( /obj/machinery/shield_gen, /obj/effect/floor_decal/industrial/outline/yellow, @@ -19022,34 +19448,6 @@ }, /turf/simulated/floor/tiled/monotile, /area/engineering/workshop) -"aML" = ( -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 9 - }, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/floor_decal/borderfloor{ - dir = 4 - }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 6 - }, -/obj/effect/floor_decal/corner/lightgrey/bordercorner2{ - dir = 6 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 10 - }, -/turf/simulated/floor/tiled, -/area/hallway/station/atrium) "aMZ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -19195,16 +19593,6 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/sleep/engi_wash) -"aOO" = ( -/obj/structure/table/standard, -/obj/item/weapon/soap/nanotrasen, -/obj/machinery/alarm{ - dir = 8; - pixel_x = 25; - pixel_y = 0 - }, -/turf/simulated/floor/tiled, -/area/holodeck_control) "aOS" = ( /obj/structure/cable/green{ d1 = 1; @@ -19678,7 +20066,9 @@ dir = 4; pixel_x = 24 }, -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 1 + }, /turf/simulated/floor/carpet, /area/engineering/foyer) "aSO" = ( @@ -19918,15 +20308,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor, /area/maintenance/station/eng_lower) -"aVx" = ( -/obj/machinery/alarm{ - dir = 8; - pixel_x = 25; - pixel_y = 0 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/tiled, -/area/holodeck_control) "aVz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20077,31 +20458,6 @@ }, /turf/simulated/floor/tiled, /area/hallway/station/atrium) -"aXl" = ( -/obj/item/weapon/stool/padded, -/obj/structure/cable/green{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/holodeck_control) -"aXw" = ( -/obj/structure/cable/green{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, -/turf/simulated/floor/tiled, -/area/holodeck_control) "aXC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -20267,18 +20623,6 @@ }, /turf/simulated/floor/tiled, /area/crew_quarters/heads/chief) -"aYW" = ( -/obj/machinery/door/airlock/maintenance/common, -/obj/structure/cable/green{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor, -/area/holodeck_control) "aZg" = ( /obj/structure/table/reinforced, /obj/item/device/megaphone, @@ -20424,6 +20768,13 @@ }, /turf/simulated/floor/tiled, /area/hallway/station/atrium) +"bbT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) "bch" = ( /obj/structure/cable/green{ d1 = 1; @@ -20807,6 +21158,33 @@ }, /turf/simulated/floor/tiled, /area/hallway/station/atrium) +"bdZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/lightgrey/border, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/hallway/station/atrium) "beJ" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -21185,7 +21563,9 @@ /turf/simulated/floor/tiled, /area/storage/tools) "bkp" = ( -/obj/machinery/vending/assist, +/obj/machinery/vending/assist{ + dir = 4 + }, /obj/machinery/light/small{ dir = 8; pixel_y = 0 @@ -21546,8 +21926,15 @@ /turf/simulated/floor/tiled, /area/hallway/station/docks) "bwb" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "dock_d1a3"; + landmark_tag = "tether_dockarm_d1a3"; + name = "Tether Dock D1A3" + }, /turf/space, -/area/shuttle/tether/station) +/area/space) "byy" = ( /obj/machinery/recharge_station, /obj/machinery/light/small{ @@ -21716,65 +22103,51 @@ /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1380; - master_tag = "d1a2_dock"; + master_tag = "dock_d1a2"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "d1a2_dock_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bHu" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "d1a2_dock_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bHw" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; frequency = 1380; - id_tag = "d1a2_dock_pump" + id_tag = "dock_d1a2_pump" }, /obj/machinery/light/small, /obj/machinery/airlock_sensor{ frequency = 1380; - id_tag = "d1a2_dock_sensor"; + id_tag = "dock_d1a2_sensor"; pixel_x = 0; pixel_y = -25 }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; - id_tag = "d1a2_dock"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = "d1a2_dock_pump"; - tag_chamber_sensor = "d1a2_dock_sensor"; - tag_exterior_door = "d1a2_dock_outer"; - tag_interior_door = "d1a2_dock_inner" + id_tag = "dock_d1a2"; + pixel_y = 28 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bHy" = ( /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; - master_tag = "d1a2_dock"; + master_tag = "dock_d1a2"; name = "interior access button"; pixel_x = -28; pixel_y = 26; @@ -21800,62 +22173,48 @@ /turf/simulated/floor/tiled, /area/tether/station/dock_one) "bHG" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "specops_dock_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1380; - master_tag = "specops_dock"; + master_tag = "dock_d2a2"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13) }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bHN" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "specops_dock_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bHO" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; frequency = 1380; - id_tag = "specops_dock_pump" + id_tag = "dock_d2a2_pump" }, /obj/machinery/light/small, /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; - id_tag = "specops_dock"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = null; - tag_chamber_sensor = null; - tag_exterior_door = null; - tag_interior_door = null + id_tag = "dock_d2a2"; + pixel_y = 28 }, /obj/machinery/airlock_sensor{ frequency = 1380; - id_tag = "specops_dock_sensor"; + id_tag = "dock_d2a2_sensor"; pixel_x = 0; pixel_y = -25 }, -/turf/simulated/floor/tiled, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bHV" = ( /obj/effect/floor_decal/industrial/warning{ @@ -21868,7 +22227,7 @@ /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; - master_tag = "specops_dock"; + master_tag = "dock_d2a2"; name = "interior access button"; pixel_x = -28; pixel_y = 26; @@ -21961,65 +22320,51 @@ /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1380; - master_tag = "d1a1_dock"; + master_tag = "dock_d1a1"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "d1a1_dock_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bPq" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "d1a1_dock_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bPr" = ( /obj/machinery/light/small, /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; - id_tag = "d1a1_dock"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = "d1a1_dock_pump"; - tag_chamber_sensor = "d1a1_dock_sensor"; - tag_exterior_door = "d1a1_dock_outer"; - tag_interior_door = "d1a1_dock_inner" + id_tag = "dock_d1a1"; + pixel_y = 28 }, /obj/machinery/airlock_sensor{ frequency = 1380; - id_tag = "d1a1_dock_sensor"; + id_tag = "dock_d1a1_sensor"; pixel_x = 0; pixel_y = -25 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; frequency = 1380; - id_tag = "d1a1_dock_pump" + id_tag = "dock_d1a1_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bPs" = ( /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; - master_tag = "d1a1_dock"; + master_tag = "dock_d1a1"; name = "interior access button"; pixel_x = -28; pixel_y = 26; @@ -22035,58 +22380,44 @@ /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1380; - master_tag = "d2a1_dock"; + master_tag = "dock_d2a1"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "d2a1_dock_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bPx" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "d2a1_dock_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bPz" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; frequency = 1380; - id_tag = "d2a1_dock_pump" + id_tag = "dock_d2a1_pump" }, /obj/machinery/light/small, /obj/machinery/airlock_sensor{ frequency = 1380; - id_tag = "d2a1_dock_sensor"; + id_tag = "dock_d2a1_sensor"; pixel_x = 0; pixel_y = -25 }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; - id_tag = "d2a1_dock_airlock"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = "d2a1_dock_pump"; - tag_chamber_sensor = "d2a1_dock_sensor"; - tag_exterior_door = "d2a1_dock_outer"; - tag_interior_door = "d2a1_dock_inner" + id_tag = "dock_d2a1"; + pixel_y = 28 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bPD" = ( @@ -22137,7 +22468,7 @@ /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; - master_tag = "nuke_shuttle_dock"; + master_tag = "dock_d2l"; name = "interior access button"; pixel_x = 26; pixel_y = -26; @@ -22147,48 +22478,28 @@ /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bPX" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "trade_shuttle_dock_inner"; - locked = 1; - name = "Dock One Internal Access" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bPY" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "trade_shuttle_dock_inner"; - locked = 1; - name = "Dock One Internal Access" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bQa" = ( /turf/simulated/floor, /area/tether/station/stairs_one) "bQc" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "nuke_shuttle_dock_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bQd" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "nuke_shuttle_dock_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bQe" = ( @@ -22200,15 +22511,10 @@ icon_state = "intact" }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ + dir = 8; frequency = 1380; - id_tag = "trade_shuttle_dock_airlock"; - pixel_x = 28; - pixel_y = 0; - req_one_access = list(13); - tag_airpump = "trade_shuttle_dock_pump"; - tag_chamber_sensor = "trade_shuttle_dock_sensor"; - tag_exterior_door = "trade_shuttle_dock_outer"; - tag_interior_door = "trade_shuttle_dock_inner" + id_tag = "dock_d1l"; + pixel_x = 28 }, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) @@ -22227,15 +22533,10 @@ /area/tether/station/dock_one) "bQk" = ( /obj/machinery/embedded_controller/radio/airlock/docking_port{ + dir = 4; frequency = 1380; - id_tag = "nuke_shuttle_dock"; - pixel_x = -28; - pixel_y = 0; - req_one_access = list(13); - tag_airpump = null; - tag_chamber_sensor = null; - tag_exterior_door = null; - tag_interior_door = null + id_tag = "dock_d2l"; + pixel_x = -28 }, /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -22244,7 +22545,7 @@ dir = 8; icon_state = "map" }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bQl" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -22257,7 +22558,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 5 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bQm" = ( /obj/effect/floor_decal/industrial/warning{ @@ -22266,43 +22567,48 @@ /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 1; frequency = 1380; - id_tag = "trade_shuttle_dock_pump" + id_tag = "dock_d1l_pump" }, /obj/machinery/airlock_sensor{ frequency = 1380; - id_tag = "trade_shuttle_dock_sensor"; + id_tag = "dock_d1l_sensor"; pixel_x = 30; pixel_y = 8 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bQt" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 1; frequency = 1380; - id_tag = "nuke_shuttle_dock_pump" + id_tag = "dock_d2l_pump" }, /obj/machinery/airlock_sensor{ frequency = 1380; - id_tag = "nuke_shuttle_dock_sensor"; + id_tag = "dock_d2l_sensor"; pixel_x = -30; pixel_y = 8 }, /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/turf/simulated/floor/tiled, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bQu" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 1; frequency = 1380; - id_tag = "nuke_shuttle_dock_pump" + id_tag = "dock_d2l_pump" }, /obj/effect/floor_decal/industrial/warning{ dir = 6 }, -/turf/simulated/floor/tiled, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bQv" = ( /obj/structure/grille, @@ -22325,48 +22631,33 @@ /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1380; - master_tag = "trade_shuttle_dock_airlock"; + master_tag = "dock_d1l"; name = "exterior access button"; pixel_x = 28; pixel_y = -6; req_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "trade_shuttle_dock_outer"; - locked = 1; - name = "Dock One External Access" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bQz" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "trade_shuttle_dock_outer"; - locked = 1; - name = "Dock One External Access" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bQC" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "nuke_shuttle_dock_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1380; - master_tag = "nuke_shuttle_dock"; + master_tag = "dock_d2l"; name = "exterior access button"; pixel_x = -28; pixel_y = -6; req_one_access = list(13) }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bQD" = ( @@ -22387,13 +22678,8 @@ /turf/simulated/floor/plating, /area/tether/station/dock_two) "bQF" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "nuke_shuttle_dock_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bXl" = ( @@ -22508,8 +22794,15 @@ /turf/simulated/floor, /area/vacant/vacant_restaurant_lower) "bYr" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "dock_d2l"; + landmark_tag = "tether_dockarm_d2l"; + name = "Tether Dock D2L" + }, /turf/space, -/area/syndicate_station/arrivals_dock) +/area/space) "bYt" = ( /obj/structure/window/reinforced, /obj/structure/bed/chair{ @@ -22662,9 +22955,6 @@ /obj/machinery/meter, /turf/simulated/floor/tiled, /area/engineering/atmos/backup) -"cch" = ( -/turf/space, -/area/shuttle/cruiser/station) "ccl" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/power/thermoregulator, @@ -22679,6 +22969,15 @@ }, /turf/simulated/floor/plating, /area/tether/station/dock_two) +"cwR" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + landmark_tag = "tether_space_NE"; + name = "Near Tether (NE)" + }, +/turf/space, +/area/space) "dlV" = ( /obj/machinery/door/firedoor/glass, /obj/structure/grille, @@ -22698,6 +22997,12 @@ }, /turf/simulated/floor/plating, /area/tether/station/dock_one) +"dRy" = ( +/obj/machinery/lapvend{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/storage/tools) "ezX" = ( /obj/machinery/door/firedoor/glass, /obj/structure/grille, @@ -22708,25 +23013,18 @@ /turf/simulated/floor/plating, /area/tether/station/dock_two) "eIG" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + landmark_tag = "ninja_outside"; + name = "Ninja Near Tether" + }, /turf/space, -/area/ninja_dojo/orbit) +/area/space) "hPi" = ( /obj/machinery/light/small, /turf/simulated/floor, /area/engineering/shaft) -"jys" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "tether_dock_inner"; - locked = 1; - name = "Docking Port Airlock" - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/dark, -/area/tether/station/dock_one) "jRS" = ( /obj/random/junk, /turf/simulated/floor, @@ -22749,26 +23047,22 @@ /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; frequency = 1380; - id_tag = "tether_dock_pump" + id_tag = "dock_d1a3_pump" }, /obj/machinery/light/small, /obj/machinery/airlock_sensor{ frequency = 1380; - id_tag = "tether_dock_sensor"; + id_tag = "dock_d1a3_sensor"; pixel_x = 0; pixel_y = -25 }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; - id_tag = "tether_dock_airlock"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = "tether_dock_pump"; - tag_chamber_sensor = "tether_dock_sensor"; - tag_exterior_door = "tether_dock_outer"; - tag_interior_door = "tether_dock_inner" + id_tag = "dock_d1a3"; + pixel_y = 28 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "lGA" = ( @@ -22783,6 +23077,15 @@ }, /turf/simulated/floor/plating, /area/tether/station/dock_one) +"mnt" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + landmark_tag = "tether_space_SW"; + name = "Near Tether (SW)" + }, +/turf/space, +/area/space) "mNU" = ( /obj/machinery/door/firedoor/glass, /obj/structure/grille, @@ -22803,6 +23106,16 @@ /obj/random/tech_supply, /turf/simulated/floor, /area/engineering/shaft) +"odO" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "dock_d1a1"; + landmark_tag = "tether_dockarm_d1a1"; + name = "Tether Dock D1A1" + }, +/turf/space, +/area/space) "oEH" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -22810,6 +23123,16 @@ /obj/machinery/light, /turf/simulated/floor/tiled, /area/hallway/station/docks) +"pQN" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "dock_d2a2"; + landmark_tag = "tether_dockarm_d2a2"; + name = "Tether Dock D2A2" + }, +/turf/space, +/area/space) "qBc" = ( /obj/structure/disposalpipe/junction{ dir = 1; @@ -22824,26 +23147,18 @@ }, /turf/simulated/floor/tiled, /area/tether/station/dock_one) -"ssv" = ( -/turf/space, -/area/skipjack_station/orbit) "tKI" = ( /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1380; - master_tag = "tether_dock"; + master_tag = "dock_d1a3"; name = "exterior access button"; pixel_x = -5; pixel_y = -26; req_one_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "tether_dock_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "vbm" = ( @@ -22856,6 +23171,16 @@ /obj/structure/window/reinforced, /turf/simulated/floor/plating, /area/tether/station/dock_one) +"vmt" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + docking_controller = "dock_d2a1"; + landmark_tag = "tether_dockarm_d2a1"; + name = "Tether Dock D2A1" + }, +/turf/space, +/area/space) "vyI" = ( /mob/living/simple_mob/animal/passive/bird/parrot/poly, /turf/simulated/floor/outdoors/grass/forest, @@ -24850,10 +25175,10 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa aaa aaa aaa @@ -24991,12 +25316,12 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -25133,12 +25458,12 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -25275,12 +25600,12 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -25417,12 +25742,12 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -25559,12 +25884,12 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -25696,22 +26021,22 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr aaa -aJr -aJr -aJr -aJr -aJr -aJr aaa -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -25821,10 +26146,6 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp aaa aaa aaa @@ -25837,24 +26158,28 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr aaa -aJr -aJr -aJr -aJr -aJr -aJr aaa -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -25953,21 +26278,6 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp aaa aaa aaa @@ -25979,24 +26289,39 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr aaa -aJr -aJr -aJr -aJr -aJr -aJr aaa -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -26095,21 +26420,6 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp aaa aaa aaa @@ -26121,24 +26431,39 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr aaa -aJr -aJr -aJr -aJr -aJr -aJr aaa -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -26236,22 +26561,6 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp aaa aaa aaa @@ -26263,24 +26572,40 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -26378,21 +26703,6 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp aaa aaa aaa @@ -26405,24 +26715,39 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -26519,22 +26844,22 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aab aaa aaa @@ -26547,24 +26872,24 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -26661,22 +26986,6 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp aaa aaa aaa @@ -26689,24 +26998,40 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -26803,22 +27128,6 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp aaa aaa aaa @@ -26831,24 +27140,40 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -26945,22 +27270,6 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp aaa aaa aaa @@ -26973,24 +27282,40 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -27087,22 +27412,6 @@ aaa aaa aaa aaa -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp aaa aaa aaa @@ -27115,24 +27424,40 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -27230,50 +27555,50 @@ aac aac aac aac -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -aaa -cch -cch -cch -cch -cch -cch -cch aaa aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -27372,49 +27697,49 @@ bYP bYP aac aac -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -cch -cch -cch -cch -cch -cch -cch aaa aaa aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -27515,48 +27840,48 @@ bYP aac aac aac +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -cch -cch -cch -cch -cch -cch -cch +aaa +aaa +aaa +aaa +aaa +aaa +aaa +odO +aaa +aaa +aaa aaa aaa aab aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -27657,48 +27982,48 @@ bYP aac aac aac -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -ayp -cch -cch -cch -cch -cch -cch -cch aaa aaa aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -27806,13 +28131,13 @@ aac aac aaa aaa -ayp -ayp +aaa +aaa bGo bHt bJl -ayp -ayp +aaa +aaa aaa aaa aaa @@ -27826,22 +28151,22 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -27967,24 +28292,24 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -28108,26 +28433,26 @@ aCF bzn bzn bQv -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -28250,26 +28575,26 @@ bPY bQj aBQ bQz +aaa aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -28392,26 +28717,26 @@ bPX bQe bQm bQx -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -28534,26 +28859,26 @@ aFU aDH aDH aJo -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -28669,7 +28994,7 @@ aDH aFU scB wlD -jys +bHu wlD aCF aCF @@ -28677,24 +29002,24 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -28820,22 +29145,22 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -28943,11 +29268,11 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -28962,22 +29287,22 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -29085,42 +29410,42 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK -aaa -aaa -bwb -bwb -bwb -bwb -bwb -bwb -bwb aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -29227,43 +29552,43 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK aaa aaa -bwb -bwb -bwb -bwb -bwb -bwb +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa bwb aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -29369,43 +29694,43 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK -aaa -aaa -bwb -bwb -bwb -bwb -bwb -bwb -bwb aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -29511,43 +29836,43 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK -aaa -aaa -bwb -bwb -bwb -bwb -bwb -bwb -bwb aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -29653,43 +29978,43 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK -aaa -aaa -bwb -bwb -bwb -bwb -bwb -bwb -bwb -aaa -aaa -aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr aaa aaa aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -29795,11 +30120,11 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -29812,12 +30137,6 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr aaa aaa aaa @@ -29826,12 +30145,18 @@ aaa aaa aaa aaa -aJr -aJr -aJr -aJr -aJr -aJr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -29937,39 +30262,39 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK -aaa -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb aaa aaa aaa aaa aaa -bYr -bYr -bYr aaa -bYr -bYr -bYr -bYr aaa -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -30079,40 +30404,40 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK -aaa -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -30221,41 +30546,41 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK aaa -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aIb aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -30363,41 +30688,41 @@ aaa aaa aaa aaa -amK -amK -amK -amK -amK aaa -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb +aaa +pQN +aaa +aaa +aaa +aaa +aaa +aaa +aaa +vmt +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr aaa aaa aaa @@ -30490,8 +30815,8 @@ agU acp bdF awt -awU axz +dRy bkp auS azh @@ -30506,40 +30831,40 @@ aaa aaa aaa aaa -amK -amK -amK -aaa -aaa -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb -aIb aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -30665,24 +30990,24 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -30806,26 +31131,26 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -30943,31 +31268,31 @@ aIA bXl bPx bXl -aCF +aCK aCK aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -31090,26 +31415,26 @@ aFZ bzq bzq bJm -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -31232,26 +31557,26 @@ bQc bQk bQt bQC +aaa bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -31374,26 +31699,26 @@ bQd bQl bQu bQF -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -31516,26 +31841,26 @@ aCK aJi aJi bQD -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -31624,7 +31949,7 @@ aWj aco aZP bbE -afV +bdZ aaT bhg axD @@ -31658,26 +31983,26 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -31766,7 +32091,7 @@ atq afC arh acp -afW +bdT aaT axb axE @@ -31800,26 +32125,26 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -31908,7 +32233,7 @@ afC afC agY ahG -agl +aip afI afI afI @@ -31943,24 +32268,24 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32050,7 +32375,7 @@ afE afn ahF aio -ahn +afW agk auq ahU @@ -32058,7 +32383,7 @@ aCk ahU ahU atw -auO +awU afI avK awq @@ -32086,22 +32411,22 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32228,22 +32553,22 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32334,7 +32659,7 @@ afF age agj acp -aht +ain agk auR aie @@ -32370,22 +32695,22 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32421,10 +32746,10 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32476,7 +32801,7 @@ afN agg ago acp -ahL +aCq afI ahE aie @@ -32511,24 +32836,24 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32553,21 +32878,21 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32618,7 +32943,7 @@ afC aYt agw air -ain +aAw afI ahP aie @@ -32652,26 +32977,26 @@ ahW aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32695,21 +33020,21 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32760,7 +33085,7 @@ aWn agh agj acp -aip +atM agk ahC aie @@ -32771,7 +33096,7 @@ atV avy agk avK -aup +aqg awG axf axF @@ -32794,26 +33119,26 @@ ahW aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32836,22 +33161,22 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32902,7 +33227,7 @@ acm acm agj acp -aip +atM agk ahC aic @@ -32913,7 +33238,7 @@ aux avA afI avT -aut +aqx aww axg axM @@ -32936,26 +33261,26 @@ ahW aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -32978,21 +33303,21 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33044,7 +33369,7 @@ adH adH ahi acp -aip +atM afI ahQ aif @@ -33055,7 +33380,7 @@ auC avC afI avU -auD +asB aww aww aww @@ -33078,26 +33403,26 @@ ahW aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33119,22 +33444,22 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33184,9 +33509,9 @@ afo afo afo afo -afc -afH -aiq +ahI +ais +aAx afI afI afI @@ -33197,49 +33522,49 @@ afI afI afI aAn -auF +asH aDR -awY -axK -avl -ayN -avi -axI -acQ -aAw +aui ail +aBL +ail +ail +ail +ail +ail +ail +aBL +aBP +ail +aDS acQ aat aat aat -aat -aat -aat -aat ahW aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33261,22 +33586,22 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33327,61 +33652,61 @@ acy acy acy acy -agm -ait +ahH +aAy acQ ahp aud auf -aiI -ahI -ahI -aiE -ahI -aqg -acQ -acQ -acQ -acQ -acQ -acQ -ayR -aAo -acQ -azw +azu +aAB +aAB +aAB +aAB +ahN +asM +atz +aup +avb +awC +awC +awC +awC +awC +awC +awC +awC +awC +ail aBK acQ aat aat aat -aat -aat aaa aaa aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33403,22 +33728,22 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33469,34 +33794,37 @@ adl acC adm acy -agr -aiu -aiB -aiE -agC -ahI -aqg +aCx +aiq +agl +ahL +ahL +ahL +azz aBK -ail -asG -asG -ail -auG +afV +afV +afV +afV +afV +afV +auD +avi awC -axc -axL +awV +axk +axV +ayG +ayR +aAu +ayR awC -acQ -azg -aAr -acQ -aAx -aAE +ail +aDX acQ aat aat aat -aat aaa aaa aaa @@ -33504,26 +33832,23 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33545,22 +33870,22 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33611,34 +33936,37 @@ adl adE amv acy -ags +acm alh acQ aAp -agD -aBL ail +ail +auj aBL -asG -asG -agD -aBL -acQ +afV +agy +ahg +aia +asW +afV +auF +avl awN -axh +awW +axl ayl -ayK -acQ -azu -aAs -acQ -aAy -aBz +ayH +aza +ayR +ayR +aBT +ail +aDY acQ aat aat aat -aat aaa aaa aaa @@ -33646,26 +33974,23 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33687,22 +34012,22 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33753,29 +34078,33 @@ adl amu amv acy -ags +acm alO acQ aBG -ahg +aix aBx -asH +ait +aut +agr +agB +ahj +aiu +asX +atP +auG +avr +awC +awX +axm +aym +aym +azg +aAv +aAv +awC aBL ail -aBL -atc -atM -acQ -awQ -axi -ayv -axc -acQ -azw -aAt -avi -aAz -aBF acQ aat aat @@ -33788,26 +34117,22 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33830,21 +34155,21 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33895,7 +34220,7 @@ acy amr amw acy -ags +acm alP acV acV @@ -33908,16 +34233,20 @@ acV acV acV acV -ahN -ahN -ahN -ahN -ahN -azy -aAu +acV +auH +avv +awC +awY +axq +ayv +ayK +azw aAv -aAB -aBO +aAv +awC +aDB +ail acQ aat aat @@ -33931,24 +34260,20 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -33972,22 +34297,22 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -34037,31 +34362,35 @@ acy adl adl acy -agx -agy -agA -agB -ahj -ahj -ahj -ais -asM +bbT asV -atz -atP +afc +afH +agm +agm +agm +agm +ags +agC +ahn +aiB ayq -ahN -axk -ayF -auH -ahN -ahN -ahN -ahN -ayz -ahN -ahN -aat +acV +auI +avY +awQ +awQ +awQ +awQ +awQ +awQ +awQ +awQ +awQ +awQ +aEc +awQ +awQ aat aat aaa @@ -34074,22 +34403,18 @@ aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr aaa aaa aaa aaa aaa aaa -bYr -bYr -bYr -bYr -bYr +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -34115,21 +34440,21 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -34186,24 +34511,28 @@ afl agn agn agn -aix +agn ame agn agE -atR +aiE agK -ahN -axl -ayG +atR auI -aiH -azz -axV -aym -ayE -aia -awX -aat +awe +awQ +axi +axs +ayz +axh +axh +aEw +aAE +axh +aDy +axh +axh +aEF aat aat aaa @@ -34217,9 +34546,6 @@ aaa aaa aaa aaa -bYr -bYr -bYr aaa aaa aaa @@ -34228,9 +34554,8 @@ aaa aaa aaa aaa -bYr -bYr -bYr +aaa +aaa aaa aaa aaa @@ -34257,21 +34582,21 @@ aaa aaa aaa aaa -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -34328,30 +34653,30 @@ asR afd afd afd -aqx -afd -ata -agE -aui +agA +agx +agD +aht +aiH agM -awV -aia -aia -auK -aia -avY -aln -awz -awz -aln -awX +atR +auI +awg +awQ +axc +axI +ayz +axh +axh +axh +axh +aBW +aDz +aDz +aBW +aEF aat aat -aat -aaa -aaa -aaa -aaa aaa aaa aaa @@ -34406,13 +34731,13 @@ aaa aaa aaa aaa -aaf -aaf aaa aaa aaa -aaf -aaf +aaa +aaa +aaa +aaa aaa aaa aaa @@ -34476,24 +34801,24 @@ afK agE avQ agS -awV -aia -aia +atR auK -aia awh awS -asB -asW -avv -awX +axd +axJ +ayE +ayE +aAo +ayE +aAJ +aBY +aDA +aEd +aEh +aEF aat aat -aat -aaa -aaa -aaa -aaa aaa aaa aaa @@ -34618,24 +34943,24 @@ afw agE azc ahe -awV -aia -aia -auK -aia -awA -axd +atR +auI +awy +awQ axe -asX -avv -awX +axK +axh +axh +aAr +aAz +aBz +aCW +aDC +aEe +aEh +aEF aat aat -aat -aaa -aaa -aaa -aaa aaa aaa aaa @@ -34758,26 +35083,26 @@ aeY afh afR agE -azc -avr -awV -aia -aia -auK -aia -axm -aln -aub -aub -aln -awX +aiI +ata +atR +auM +avY +awQ +axh +axK +axh +axh +aAs +axh +aBF +aBW +aDI +aDI +aBW +aEF aat aat -aat -aat -aaa -aaa -aaa aaa aaa aaa @@ -34900,26 +35225,26 @@ aAC aBS ahh aom -auj -awg -awW -axs -auV -auM -auV -axq -aAJ -aAJ -aza -aBW -awX +aln +atc +aub +auN +awz +awQ +axh +axK +axh +axh +aAt +aED +aBO +aDq +aDN +aEg +aEv +aEF aat aat -aat -aat -aat -aaa -aaa aaa aaa aaa @@ -35044,24 +35369,24 @@ ahk agt agG azd -ahN -axJ -ayH -auN -avb -aBT -awe -awy -ahN -ahN -ahN -aqd -aqd -aqd -aqd +acV +auV +awA +awQ +azy +axL +ayF +ayN +asG +asG +asG +asG +asG +asG +asG +awQ +aat aat -aaa -aaa aaa aaa aaa @@ -35186,15 +35511,15 @@ acV acV acV acV -ahN -ahN -ahN -ahN -ahN -ahN -ahN -ahN -ahN +acV +avb +avb +asG +asG +asG +asG +asG +asG aqW ari ars @@ -35202,8 +35527,8 @@ arU asf aqd aat -aaa -aaa +aat +aat aaa aaa aaa @@ -35728,13 +36053,13 @@ afC aAH aCw aDZ +amN +aqk +asi +asi aCw -aHz -aIT -aKQ -aML +amN aCw -aCu aCw aTA aCw @@ -35867,18 +36192,18 @@ adO afC afC afC -ash -aCy -amM -amM -amM -aoV -aLc -amM -amM -amM -amM -ash +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aaf +aaf asI asI asI @@ -36009,18 +36334,18 @@ adO aac aac aac -ash +aaf +alo +alA +alo +alo amg -amg -amg -amg -amg -amg -amg -amg -amg -amg -ash +alo +alo +alo +alo +alo +aaf asJ asJ asJ @@ -36151,18 +36476,18 @@ adO aac aac aac -ash +aaf +alA +alo +alo +alo +alo amg +alo +alo +alo amg -amg -amg -amg -amg -amg -amg -amg -amg -ash +aaf asK asK asK @@ -36293,18 +36618,18 @@ adP adP aac aac +aaf +alA +alA +alo ash -amg -amg -amg -amg -amg -amg -amg -amg -amg -amg -ash +alo +alo +alo +alo +alo +alA +aaf asL atx atx @@ -36435,18 +36760,18 @@ aiz adP aac aac -ash -amg -amg -amg -amg -amg -amg -amg -amg -amg -amg -ash +aaf +alo +alo +alo +alo +alo +alo +alo +alo +alo +asQ +aaf aSo aty aty @@ -36577,18 +36902,18 @@ adP adP aac aac -ash +aaf amg -amg -amg -amg -amg -amg -amg -amg -amg -amg -ash +alo +alo +alo +alo +aoV +alo +alA +alo +alo +aaf awa asN asN @@ -36719,18 +37044,18 @@ adP aac aac aac -ash +aaf amg -amg -amg -amg -amg -amg -amg -amg -amg -amg -ash +alo +aoV +alo +alo +alo +alo +alo +alA +alo +aaf asO asO asO @@ -36861,18 +37186,18 @@ adP adP aac aac -ash -amg -amg -amg -amg -amg -amg -amg -amg -amg -amg -ash +aaf +alo +alo +aoV +aoV +alo +alo +alo +alo +alo +alo +aaf asI asI asI @@ -37003,21 +37328,21 @@ ajf adP aac aac -ash -amg -amg -amg -amg -amg -amg -amg -amg -amg -amg -asi +aaf +alA +alo +alo +alo +alo +alo +alo asP -aXw -aYW +alo +alo +aCu +aEG +aEJ +auO baT bcO baT @@ -37145,21 +37470,21 @@ ajf adP aac aac -ash -amg -amg -amg -amg -amg -amg -amg -amg -amg -amg -amM -asQ -aXl +aaf alA +alA +alo +alo +alo +alo +alo +alo +alo +alo +aCy +aEH +aEK +aus aur bcK bfk @@ -37287,21 +37612,21 @@ adP adP aac aac -ash -amg -amg -amg -amg -amg -amg -amg -amg -amg -amg -asi -aVx -aqk -alA +aaf +alo +alo +alo +alo +alo +alo +alo +alo +alo +alo +aCu +aEI +aEL +aus aus aus aus @@ -37429,21 +37754,21 @@ aac aac aac aac -ash -alA -alo -aFI -alA -alA -alA -alA -aOO -amN -alA -alA -alA -alA -alA +aaf +amK +amM +amM +amK +amK +amK +amK +amM +amM +amK +amK +amK +amK +amK aac aac aac @@ -37572,16 +37897,16 @@ aac aac aac aac -alA -alA -alA -alA +amK +amK +amK +amK aac aac -alA -alA -alA -alA +amK +amK +amK +amK aac aac aac @@ -38768,7 +39093,7 @@ aaa aaa aaa aaa -aaa +mnt aaa aaa aaa @@ -38825,8 +39150,8 @@ aaa aaa aaa aaa -ssv -ssv +aaa +aaa aaa aaa aaa @@ -38957,19 +39282,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -39099,19 +39424,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -39241,19 +39566,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +cwR +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -39383,19 +39708,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -39529,19 +39854,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -39671,19 +39996,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -39707,10 +40019,23 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -39811,22 +40136,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -39848,12 +40157,28 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -39951,25 +40276,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -39990,13 +40296,32 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -40094,24 +40419,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -40129,17 +40436,35 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -40236,24 +40561,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -40273,15 +40580,33 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -40378,24 +40703,24 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -40416,14 +40741,14 @@ aaa aaa aaa eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -40520,24 +40845,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -40557,15 +40864,33 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -40662,24 +40987,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -40697,17 +41004,35 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -40803,25 +41128,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -40842,13 +41148,32 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -40947,22 +41272,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -40984,12 +41293,28 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -41091,19 +41416,6 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv aaa aaa aaa @@ -41127,10 +41439,23 @@ aaa aaa aaa aaa -eIG -eIG -eIG -eIG +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -41233,19 +41558,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -41371,19 +41696,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -41513,19 +41838,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -41655,19 +41980,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -41797,19 +42122,19 @@ aaa aaa aaa aaa -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv -ssv +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -41949,8 +42274,8 @@ aaa aaa aaa aaa -ssv -ssv +aaa +aaa aaa aaa aaa diff --git a/maps/tether/tether-06-station2.dmm b/maps/tether/tether-06-station2.dmm index afcf64579a..15d6ca8535 100644 --- a/maps/tether/tether-06-station2.dmm +++ b/maps/tether/tether-06-station2.dmm @@ -2353,7 +2353,9 @@ icon_state = "alarm0"; pixel_x = 24 }, -/obj/machinery/vending/hydronutrients/brig, +/obj/machinery/vending/hydronutrients/brig{ + dir = 8 + }, /turf/simulated/floor/tiled, /area/security/brig) "dq" = ( @@ -4655,7 +4657,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, -/obj/machinery/vending/assist, +/obj/machinery/vending/assist{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/engineering/locker_room) "gT" = ( @@ -6107,7 +6111,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 5 }, -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 4 + }, /obj/machinery/camera/network/exploration{ icon_state = "camera"; dir = 5 @@ -6978,7 +6984,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 5 }, -/obj/machinery/vending/fitness, +/obj/machinery/vending/fitness{ + dir = 4 + }, /obj/machinery/light{ icon_state = "tube1"; dir = 8 @@ -7172,7 +7180,9 @@ /obj/effect/floor_decal/corner/purple/border{ dir = 10 }, -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/tether/exploration/hallway) "kz" = ( @@ -9892,32 +9902,20 @@ /turf/simulated/floor, /area/maintenance/station/exploration) "ot" = ( -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/lightgrey/border, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 8 +/obj/structure/shuttle/engine/propulsion{ + dir = 8; + icon_state = "propulsion_l" }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 1 - }, -/turf/simulated/floor/tiled, -/area/hallway/station/starboard) +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/large_escape_pod1) "ou" = ( -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/lightgrey/border, -/obj/effect/floor_decal/steeldecal/steel_decals7{ +/obj/structure/shuttle/engine/propulsion{ dir = 8 }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet{ - dir = 1; - icon_state = "extinguisher_closed"; - pixel_y = -32 - }, -/turf/simulated/floor/tiled, -/area/hallway/station/starboard) +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/large_escape_pod1) "ov" = ( /obj/machinery/door/firedoor/glass, /obj/structure/lattice, @@ -10063,6 +10061,11 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, +/obj/structure/extinguisher_cabinet{ + dir = 1; + icon_state = "extinguisher_closed"; + pixel_y = -32 + }, /turf/simulated/floor/tiled, /area/hallway/station/starboard) "oF" = ( @@ -10801,8 +10804,13 @@ /turf/simulated/floor/tiled, /area/hallway/station/starboard) "pS" = ( -/turf/simulated/wall/r_wall, -/area/hallway/station/starboard) +/obj/structure/shuttle/engine/propulsion{ + dir = 8; + icon_state = "propulsion_r" + }, +/turf/space, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/large_escape_pod1) "pT" = ( /obj/structure/cable{ d1 = 1; @@ -10843,6 +10851,11 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 }, +/obj/structure/sign/directions/evac{ + dir = 1; + pixel_x = 32; + pixel_y = 1 + }, /turf/simulated/floor/tiled, /area/hallway/station/starboard) "pV" = ( @@ -12496,6 +12509,10 @@ /obj/structure/sign/directions/elevator{ dir = 4 }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = -8 + }, /turf/simulated/wall, /area/tether/station/stairs_two) "sy" = ( @@ -12964,7 +12981,9 @@ /turf/simulated/floor/tiled/dark, /area/tether/station/public_meeting_room) "to" = ( -/obj/machinery/vending/fitness, +/obj/machinery/vending/fitness{ + dir = 1 + }, /obj/effect/floor_decal/borderfloor{ dir = 6 }, @@ -13857,14 +13876,7 @@ dir = 4 }, /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "eva_port_inner"; - locked = 1; - name = "EVA Internal Access"; - req_access = list(18) - }, +/obj/machinery/door/airlock/glass_external, /obj/structure/sign/securearea{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; @@ -13873,19 +13885,13 @@ pixel_x = 0; pixel_y = -32 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/eva) "uM" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1379; id_tag = "eva_port_airlock"; - name = "Airlock Console"; - pixel_y = 30; - req_access = list(18); - tag_airpump = "eva_port_pump"; - tag_chamber_sensor = "eva_port_sensor"; - tag_exterior_door = "eva_port_outer"; - tag_interior_door = "eva_port_inner" + pixel_y = 28 }, /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -13900,22 +13906,15 @@ id_tag = "eva_port_pump" }, /obj/machinery/airlock_sensor{ - frequency = 1379; - id_tag = "eva_port_sensor"; - pixel_x = 0; - pixel_y = -25 + pixel_y = -28 }, /obj/machinery/camera/network/command, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/ai_monitored/storage/eva) "uO" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "eva_port_outer"; - locked = 1; - name = "EVA External Access" - }, +/obj/machinery/door/airlock/glass_external, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/access_button{ command = "cycle_exterior"; @@ -13926,6 +13925,7 @@ pixel_y = -26; req_access = list(18) }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/eva) "uP" = ( @@ -16158,6 +16158,18 @@ /obj/structure/cable/green, /turf/simulated/floor, /area/maintenance/station/micro) +"yo" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 5 + }, +/obj/effect/floor_decal/corner/paleblue/border{ + dir = 5 + }, +/obj/machinery/vending/medical{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/medical/ward) "ys" = ( /obj/structure/table/standard, /obj/item/weapon/reagent_containers/spray/cleaner{ @@ -17081,7 +17093,9 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 4 + }, /obj/machinery/camera/network/medbay, /turf/simulated/floor/wood, /area/medical/surgery_hallway) @@ -17248,7 +17262,9 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/vending/medical, +/obj/machinery/vending/medical{ + dir = 4 + }, /turf/simulated/floor/wood, /area/medical/surgery_hallway) "Aw" = ( @@ -18359,16 +18375,6 @@ }, /turf/simulated/floor/tiled/white, /area/medical/ward) -"Cc" = ( -/obj/machinery/vending/medical, -/obj/effect/floor_decal/borderfloorwhite{ - dir = 5 - }, -/obj/effect/floor_decal/corner/paleblue/border{ - dir = 5 - }, -/turf/simulated/floor/tiled/white, -/area/medical/ward) "Ce" = ( /turf/simulated/floor/tiled/white, /area/medical/recoveryrestroom) @@ -19230,6 +19236,7 @@ dir = 1 }, /obj/machinery/light, +/obj/machinery/recharge_station, /turf/simulated/floor/tiled, /area/hallway/station/starboard) "Dx" = ( @@ -19325,12 +19332,19 @@ /turf/simulated/wall/r_wall, /area/ai_upload_foyer) "DI" = ( -/obj/structure/flora/pottedplant/stoutbush, /obj/effect/floor_decal/borderfloor{ - dir = 5 + dir = 1 }, /obj/effect/floor_decal/corner/lightgrey/border{ - dir = 5 + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = 27 }, /turf/simulated/floor/tiled, /area/hallway/station/starboard) @@ -19371,22 +19385,6 @@ "DL" = ( /turf/simulated/wall, /area/hallway/station/starboard) -"DM" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 4 - }, -/obj/effect/floor_decal/corner/lightgrey/border{ - dir = 4 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 9 - }, -/obj/effect/floor_decal/steeldecal/steel_decals7{ - dir = 10 - }, -/obj/machinery/recharge_station, -/turf/simulated/floor/tiled, -/area/hallway/station/starboard) "DN" = ( /obj/structure/closet/emcloset, /obj/effect/floor_decal/borderfloor{ @@ -20773,6 +20771,39 @@ }, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"Ir" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ + frequency = 1380; + id_tag = "large_escape_pod_1"; + pixel_x = -28; + pixel_y = 28 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) +"Is" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{ + dir = 1; + frequency = 1380; + id_tag = "large_escape_pod_1_berth"; + pixel_y = -28 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/lightgrey/border, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/starboard) +"Iw" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2 + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/monofloor, +/area/hallway/station/starboard) "Ix" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -20808,6 +20839,24 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/carpet/bcarpet, /area/tether/station/public_meeting_room) +"IE" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/lightgrey/border, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = -28 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/starboard) "IG" = ( /obj/machinery/firealarm{ dir = 2; @@ -20843,7 +20892,9 @@ /turf/simulated/floor/tiled/steel_dirty, /area/security/brig) "Jc" = ( -/obj/machinery/seed_storage/brig, +/obj/machinery/seed_storage/brig{ + dir = 8 + }, /turf/simulated/floor/tiled, /area/security/brig) "Jh" = ( @@ -20894,6 +20945,13 @@ /obj/structure/girder, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"Jz" = ( +/obj/machinery/light, +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "JD" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, @@ -21118,6 +21176,10 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/airless, /area/maintenance/station/sec_lower) +"LZ" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "Mn" = ( /obj/structure/table/steel, /turf/simulated/floor, @@ -21350,6 +21412,10 @@ }, /turf/simulated/floor/tiled, /area/security/security_cell_hallway) +"Oe" = ( +/obj/structure/bed/chair/shuttle, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "Oj" = ( /obj/machinery/alarm{ dir = 8; @@ -21372,6 +21438,18 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/white, /area/maintenance/station/sec_lower) +"Ov" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/starboard) "OA" = ( /obj/effect/floor_decal/rust, /obj/random/trash, @@ -21391,6 +21469,12 @@ }, /turf/simulated/floor/tiled, /area/security/brig) +"OR" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "OY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -21438,6 +21522,12 @@ }, /turf/simulated/floor/carpet/bcarpet, /area/tether/station/public_meeting_room) +"Pl" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/monofloor{ + dir = 4 + }, +/area/hallway/station/starboard) "Pm" = ( /obj/effect/floor_decal/industrial/warning{ icon_state = "warning"; @@ -21446,6 +21536,13 @@ /obj/machinery/recharge_station, /turf/simulated/floor/tiled, /area/security/brig) +"Pw" = ( +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "Py" = ( /obj/structure/bed/chair{ dir = 4 @@ -21575,6 +21672,13 @@ }, /turf/simulated/floor/tiled, /area/security/security_cell_hallway) +"Qq" = ( +/obj/structure/closet/walllocker/emerglocker/south, +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "Qs" = ( /turf/simulated/mineral/vacuum, /area/maintenance/station/sec_lower) @@ -21696,6 +21800,15 @@ /obj/random/maintenance/clean, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"QU" = ( +/obj/structure/shuttle/engine/heater{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/airless, +/area/shuttle/large_escape_pod1) "QW" = ( /obj/effect/floor_decal/rust, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -21809,6 +21922,18 @@ }, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"RV" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/floor_decal/corner/lightgrey/bordercorner{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/starboard) "RW" = ( /obj/effect/floor_decal/techfloor{ dir = 8 @@ -21816,6 +21941,17 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"RX" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/lightgrey/border, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/starboard) "Sb" = ( /obj/effect/floor_decal/borderfloor{ dir = 8; @@ -21965,6 +22101,28 @@ /obj/structure/catwalk, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"TG" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/closet/walllocker/emerglocker/south, +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) +"TM" = ( +/obj/structure/shuttle/window, +/obj/structure/grille, +/obj/effect/shuttle_landmark{ + base_area = /area/hallway/secondary/escape/medical_escape_pod_hallway; + base_turf = /turf/simulated/floor/plating; + docking_controller = "large_escape_pod_1_berth"; + landmark_tag = "escapepod1_station"; + name = "Tether Station" + }, +/turf/simulated/shuttle/plating, +/area/shuttle/large_escape_pod1) "TO" = ( /obj/machinery/door/firedoor/glass, /obj/structure/cable{ @@ -21997,6 +22155,18 @@ /obj/random/junk, /turf/simulated/mineral/floor/cave, /area/maintenance/station/sec_lower) +"Uh" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/starboard) "Ui" = ( /obj/machinery/door/firedoor/glass, /obj/structure/cable/green{ @@ -22014,6 +22184,28 @@ }, /turf/simulated/floor/tiled/dark, /area/security/brig) +"Uj" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/obj/effect/floor_decal/corner/lightgrey/border{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = 27 + }, +/turf/simulated/floor/tiled, +/area/hallway/station/starboard) "Uk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -22022,12 +22214,23 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"Un" = ( +/obj/machinery/door/airlock/multi_tile/glass, +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/simple, +/turf/simulated/floor/tiled/monofloor{ + dir = 8 + }, +/area/hallway/station/starboard) "Up" = ( /obj/structure/bed/chair/office/dark{ dir = 4 }, /turf/simulated/floor/carpet/bcarpet, /area/tether/station/public_meeting_room) +"UD" = ( +/turf/simulated/shuttle/wall/hard_corner, +/area/shuttle/large_escape_pod1) "UE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -22112,6 +22315,14 @@ /obj/structure/lattice, /turf/simulated/mineral/floor/vacuum, /area/mine/explored/upper_level) +"Vc" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/obj/structure/bed/chair/shuttle, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "Vj" = ( /obj/effect/floor_decal/rust, /obj/effect/floor_decal/techfloor{ @@ -22233,6 +22444,12 @@ }, /turf/simulated/floor/tiled, /area/security/brig) +"VY" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor/tiled/monofloor{ + dir = 1 + }, +/area/hallway/station/starboard) "Wi" = ( /obj/machinery/alarm{ pixel_y = 22 @@ -22289,6 +22506,17 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/engineering/shaft) +"WU" = ( +/obj/machinery/vending/wallmed1{ + layer = 3.3; + name = "Emergency NanoMed"; + pixel_x = 28; + pixel_y = 0 + }, +/obj/structure/closet/walllocker/emerglocker/north, +/obj/structure/bed/chair/shuttle, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "Xc" = ( /obj/structure/table/glass, /obj/item/weapon/storage/box/syringes{ @@ -22481,6 +22709,9 @@ "Yw" = ( /turf/simulated/floor/airless, /area/mine/explored/upper_level) +"YC" = ( +/turf/simulated/shuttle/wall, +/area/shuttle/large_escape_pod1) "YD" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small{ @@ -22516,6 +22747,23 @@ }, /turf/simulated/floor/plating, /area/security/brig) +"YH" = ( +/obj/machinery/status_display{ + density = 0; + layer = 4; + pixel_x = 0; + pixel_y = -32 + }, +/obj/structure/bed/chair/shuttle{ + dir = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) +"YI" = ( +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/simple, +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "YK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/green, /obj/structure/disposalpipe/segment, @@ -22574,6 +22822,11 @@ /obj/structure/closet/crate, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"Zp" = ( +/obj/effect/floor_decal/borderfloor/corner, +/obj/effect/floor_decal/corner/lightgrey/bordercorner, +/turf/simulated/floor/tiled, +/area/hallway/station/starboard) "Zr" = ( /obj/effect/floor_decal/rust, /obj/effect/floor_decal/techfloor{ @@ -22638,6 +22891,9 @@ /obj/structure/catwalk, /turf/simulated/floor, /area/maintenance/station/sec_lower) +"ZO" = ( +/turf/simulated/shuttle/floor, +/area/shuttle/large_escape_pod1) "ZR" = ( /obj/machinery/door/firedoor/glass, /obj/structure/cable/green{ @@ -32994,7 +33250,7 @@ AM Bf Bq BI -Cc +yo Cw Fi CW @@ -33247,7 +33503,7 @@ lJ lJ li nN -pQ +IE DL ac ac @@ -35659,7 +35915,7 @@ kt kt kt kt -ni +Uj nR qC oY @@ -36938,8 +37194,8 @@ tF Dn DC Du -lJ -ou +Zp +DN oY pE et @@ -37080,8 +37336,8 @@ sV Dq DH Dv -lJ -ot +RX +DL oY oY oY @@ -37222,13 +37478,13 @@ vO hl hl DI -DM -DN +RX +DL +ot +ou +ou +ou pS -ac -ac -ac -ac oY sW ef @@ -37363,14 +37619,14 @@ nn wp Dx hl +VY +Iw DL -DL -DL -pS -ac -ac -aa -aa +YC +QU +QU +QU +YC oY Ei sX @@ -37505,14 +37761,14 @@ np xX nv hl -ac -ac -ac -ac -ac -ac -aa -aa +kx +RX +DL +YC +Vc +OR +TG +YC oY oY oY @@ -37647,17 +37903,17 @@ or yt DB hl -ac -ac -ac -ac -ac -aa -aa -aa -aa -aa -aa +kx +RX +DL +YC +Oe +ZO +YH +YC +ab +ab +ab ab ab ab @@ -37789,14 +38045,14 @@ hl hl hl hl -ac -ac -ac -aa -aa -aa -aa -aa +kx +Is +DL +YC +Oe +ZO +Pw +YC aa aa aa @@ -37930,15 +38186,15 @@ ac ac ac ac -ac -ac -ac -aa -aa -aa -aa -aa -aa +DL +kx +RV +Un +YI +Ir +ZO +LZ +YC aa aa aa @@ -38072,15 +38328,15 @@ ac ac ac ac -ac -aa -aa -aa -aa -aa -aa -aa -aa +DL +Ov +Uh +Pl +YI +ZO +ZO +LZ +YC aa aa aa @@ -38214,15 +38470,15 @@ ac ac ac aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +DL +DL +DL +DL +YC +Oe +ZO +Jz +YC aa aa aa @@ -38360,11 +38616,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +YC +Oe +ZO +YH +YC aa aa aa @@ -38502,11 +38758,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +YC +WU +ZO +Qq +YC aa aa aa @@ -38644,11 +38900,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +YC +UD +ZO +UD +YC aa aa aa @@ -38787,9 +39043,9 @@ aa aa aa aa -aa -aa -aa +YC +TM +YC aa aa aa diff --git a/maps/tether/tether-07-station3.dmm b/maps/tether/tether-07-station3.dmm index bd25f720b0..172fdc4db2 100644 --- a/maps/tether/tether-07-station3.dmm +++ b/maps/tether/tether-07-station3.dmm @@ -7,15 +7,8 @@ /area/mine/explored/upper_level) "ac" = ( /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "sec_fore_outer"; - locked = 1; - name = "Security Starboard External Access"; - req_access = newlist(); - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor, /area/security/eva) "ad" = ( @@ -81,22 +74,17 @@ id_tag = "sec_fore_pump" }, /obj/machinery/airlock_sensor{ - frequency = 1379; - id_tag = "sec_fore_sensor"; - pixel_x = 24; - pixel_y = 10 + pixel_x = 28; + pixel_y = -8 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1379; + dir = 8; id_tag = "sec_fore_airlock"; - pixel_x = 24; - pixel_y = 0; - req_one_access = list(13); - tag_airpump = "sec_fore_pump"; - tag_chamber_sensor = "sec_fore_sensor"; - tag_exterior_door = "sec_fore_outer"; - tag_interior_door = "sec_fore_inner" + pixel_x = 28; + pixel_y = 4 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/security/eva) "al" = ( @@ -110,15 +98,7 @@ /turf/simulated/floor/tiled/dark, /area/security/armory/red) "am" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "sec_fore_inner"; - locked = 1; - name = "Security Fore Internal Access"; - req_access = newlist(); - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, /obj/structure/sign/securearea{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; @@ -132,6 +112,7 @@ dir = 5; icon_state = "intact" }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor, /area/security/eva) "an" = ( @@ -261,19 +242,12 @@ /area/security/eva) "ax" = ( /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "sec_fore_inner"; - locked = 1; - name = "Security Fore Internal Access"; - req_access = newlist(); - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10; icon_state = "intact" }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor, /area/security/eva) "ay" = ( @@ -2006,22 +1980,17 @@ /turf/simulated/floor/tiled/monotile, /area/tether/exploration) "di" = ( -/obj/machinery/meter, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/atmospherics/portables_connector, +/obj/machinery/portable_atmospherics/canister/air, /obj/machinery/alarm{ pixel_y = 22 }, -/obj/machinery/atmospherics/pipe/simple/visible/yellow{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/floodlight, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "dj" = ( /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "dk" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -2171,7 +2140,7 @@ /obj/item/weapon/bedsheet/brown, /obj/structure/curtain/open/bed, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "dz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2189,31 +2158,42 @@ /area/maintenance/station/sec_upper) "dB" = ( /obj/effect/floor_decal/industrial/warning, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "dC" = ( -/obj/structure/bed/chair/comfy/blue{ - icon_state = "comfychair_preview"; - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, /obj/machinery/alarm{ dir = 4; pixel_x = -23; pixel_y = 0 }, -/turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) -"dD" = ( /obj/machinery/button/remote/blast_door{ - dir = 8; - id = "shuttle blast"; name = "Shuttle Blast Doors"; - pixel_x = 26; - pixel_y = 39; - req_access = list(67) + dir = 8; + pixel_x = -25; + pixel_y = -21; + req_access = list(67); + id = "shuttle blast" + }, +/obj/structure/bed/chair/bay/comfy/blue{ + icon_state = "bay_comfychair_preview"; + dir = 1; + pixel_y = 5 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/shuttle/excursion/cockpit) +"dD" = ( +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -2221,30 +2201,31 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/turf/simulated/floor/tiled/steel_grid, +/area/shuttle/excursion/cockpit) "dE" = ( -/obj/structure/bed/chair/comfy/blue{ - icon_state = "comfychair_preview"; - dir = 1 +/obj/machinery/light{ + dir = 4 }, -/obj/item/device/radio/intercom{ - pixel_y = -24 +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 28 + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, +/obj/structure/bed/chair/bay/comfy/blue{ + icon_state = "bay_comfychair_preview"; + dir = 1; + pixel_y = 5 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, -/obj/machinery/light_switch{ - dir = 2; - name = "light switch "; - pixel_x = 6; - pixel_y = 32 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/turf/simulated/floor/tiled/steel_ridged, +/area/shuttle/excursion/cockpit) "dF" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -2482,7 +2463,7 @@ /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "dX" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -2504,7 +2485,7 @@ }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "dZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 @@ -2526,22 +2507,24 @@ specialfunctions = 4 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "ea" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/full, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/plating, -/area/shuttle/excursion/tether) -"eb" = ( -/obj/machinery/door/airlock/hatch{ - req_one_access = list(67) +/obj/machinery/computer/ship/engines{ + dir = 1; + icon_state = "computer" + }, +/turf/simulated/floor/tiled, +/area/shuttle/excursion/cockpit) +"eb" = ( +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor/tiled/steel_ridged, -/area/shuttle/excursion/tether) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel_grid, +/area/shuttle/excursion/cockpit) "ec" = ( /obj/structure/cable/yellow{ d1 = 1; @@ -2555,7 +2538,7 @@ pixel_x = -22 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "ed" = ( /obj/structure/railing, /turf/space, @@ -2588,17 +2571,23 @@ d2 = 8; icon_state = "4-8" }, -/obj/item/device/radio/intercom{ - dir = 1; - name = "Station Intercom (General)"; - pixel_y = 27 - }, /obj/machinery/light/small{ icon_state = "bulb1"; dir = 1 }, +/obj/structure/cable/cyan{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "eh" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -2839,8 +2828,13 @@ "ex" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel_grid, +/area/shuttle/excursion/general) "ey" = ( /turf/simulated/floor/carpet, /area/security/breakroom) @@ -2866,7 +2860,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 1 + }, /obj/machinery/camera/network/security{ icon_state = "camera"; dir = 10 @@ -2893,7 +2889,9 @@ dir = 8 }, /obj/machinery/light, -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/security/hallwayaux) "eC" = ( @@ -3263,25 +3261,19 @@ /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) "fg" = ( -/obj/machinery/atmospherics/pipe/simple/visible/yellow{ - dir = 6 +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/empty, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "fh" = ( /obj/machinery/light/spot{ pixel_y = 32 }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "fi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ icon_state = "intact-scrubbers"; @@ -3291,7 +3283,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "fj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3301,7 +3293,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "fk" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -3477,8 +3469,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/tiled/steel_ridged, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "fy" = ( /turf/simulated/wall/r_wall, /area/ai) @@ -3767,17 +3764,13 @@ /turf/simulated/floor/bluegrid, /area/ai) "fV" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ +/obj/machinery/atmospherics/portables_connector{ dir = 1 }, -/obj/structure/table/rack, -/obj/item/weapon/storage/belt/utility/full, -/obj/item/clothing/head/pilot, -/obj/item/clothing/head/pilot, -/obj/item/weapon/storage/box/survival/space, -/obj/item/weapon/storage/toolbox/emergency, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/canister/empty, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "fW" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/borderfloorblack/corner2{ @@ -3920,16 +3913,9 @@ /turf/simulated/floor/tiled/dark, /area/security/range) "gl" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "sec_fore_outer"; - locked = 1; - name = "Security Starboard External Access"; - req_access = newlist(); - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor, /area/security/eva) "gm" = ( @@ -4053,6 +4039,7 @@ frequency = 1379; id_tag = "sec_fore_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/security/eva) "gy" = ( @@ -4194,29 +4181,30 @@ /turf/simulated/floor, /area/maintenance/station/ai) "gL" = ( -/obj/machinery/atmospherics/pipe/simple/visible/yellow, -/obj/machinery/meter, +/obj/machinery/atmospherics/binary/pump, /obj/machinery/firealarm{ dir = 1; pixel_x = 0; pixel_y = -26 }, -/obj/structure/handrail{ +/obj/item/weapon/tank/phoron{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/weapon/tank/phoron{ + pixel_x = 6; + pixel_y = -6 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/excursion/general) +"gM" = ( +/obj/machinery/atmospherics/portables_connector{ dir = 1 }, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/portable_atmospherics/canister/phoron, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) -"gM" = ( -/obj/machinery/atmospherics/pipe/simple/visible/cyan{ - dir = 5 - }, -/obj/machinery/meter, -/obj/item/device/radio/intercom{ - pixel_y = -24 - }, -/obj/machinery/light/small, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "gN" = ( /obj/effect/floor_decal/industrial/warning{ icon_state = "warning"; @@ -4372,12 +4360,12 @@ /turf/simulated/floor/tiled, /area/security/eva) "hc" = ( -/obj/machinery/atmospherics/pipe/tank/air{ - dir = 8 +/obj/machinery/atmospherics/unary/engine{ + dir = 1 }, -/obj/effect/floor_decal/industrial/outline/blue, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/turf/simulated/floor/reinforced, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/excursion/cargo) "hd" = ( /obj/structure/table/woodentable, /obj/machinery/photocopier/faxmachine{ @@ -5317,7 +5305,7 @@ }, /obj/structure/disposalpipe/trunk, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "iu" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -5632,7 +5620,7 @@ }, /obj/structure/plasticflaps, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "iL" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 6 @@ -5773,20 +5761,24 @@ /turf/simulated/wall, /area/maintenance/cargo) "iW" = ( -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/obj/structure/fuel_port{ + pixel_x = 0; + pixel_y = 3 + }, +/turf/simulated/floor/tiled/monofloor, +/area/shuttle/excursion/cargo) "iX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 6 }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "iY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "iZ" = ( /obj/effect/floor_decal/borderfloorblack/full, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -6366,7 +6358,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "jW" = ( /obj/structure/bed/chair/office/dark{ dir = 4 @@ -6398,14 +6390,14 @@ }, /obj/machinery/recharge_station, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "jZ" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "ka" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -6416,14 +6408,14 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "kb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/effect/floor_decal/industrial/outline/red, /obj/structure/closet/secure_closet/guncabinet/excursion, /obj/item/weapon/pickaxe, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "kc" = ( /obj/effect/floor_decal/borderfloorblack/full, /obj/effect/floor_decal/steeldecal/steel_decals5{ @@ -6516,16 +6508,9 @@ /area/hallway/station/upper) "kj" = ( /obj/machinery/embedded_controller/radio/airlock/docking_port{ - cycle_to_external_air = 1; frequency = 1380; id_tag = "expshuttle_docker"; - pixel_y = 26; - req_one_access = list(19,43,67); - tag_airpump = "expshuttle_vent"; - tag_chamber_sensor = "expshuttle_sensor"; - tag_exterior_door = "expshuttle_door_Ro"; - tag_exterior_sensor = "expshuttle_exterior_sensor"; - tag_interior_door = "expshuttle_door_Ri" + pixel_y = 28 }, /obj/effect/floor_decal/industrial/warning{ icon_state = "warning"; @@ -6537,16 +6522,14 @@ id_tag = "expshuttle_vent" }, /obj/structure/handrail, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "kk" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 }, /obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "expshuttle_sensor"; - master_tag = "expshuttle_docker"; pixel_y = 28 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ @@ -6559,8 +6542,10 @@ dir = 4; pixel_y = 0 }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/obj/effect/map_helper/airlock/atmos/pump_out_internal, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "kl" = ( /obj/structure/cable/cyan{ d2 = 2; @@ -6733,12 +6718,7 @@ /turf/simulated/floor/tiled, /area/hallway/station/upper) "kx" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "expshuttle_door_Ri"; - locked = 1 - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; @@ -6751,8 +6731,9 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "ky" = ( /obj/effect/floor_decal/industrial/warning{ icon_state = "warning"; @@ -6760,7 +6741,7 @@ }, /obj/machinery/atmospherics/pipe/manifold4w/visible, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "kz" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -6864,7 +6845,9 @@ /area/security/breakroom) "kG" = ( /obj/structure/table/woodentable, -/obj/machinery/chemical_dispenser/bar_soft/full, +/obj/machinery/chemical_dispenser/bar_soft/full{ + dir = 1 + }, /obj/machinery/light, /turf/simulated/floor/wood, /area/security/breakroom) @@ -6962,7 +6945,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "kR" = ( /obj/effect/floor_decal/industrial/warning{ icon_state = "warning"; @@ -6971,8 +6954,16 @@ /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 8 }, +/obj/effect/shuttle_landmark{ + base_area = /area/tether/exploration; + base_turf = /turf/simulated/floor/reinforced; + docking_controller = "expshuttle_dock"; + landmark_tag = "tether_excursion_hangar"; + name = "Excursion Shuttle Dock" + }, +/obj/effect/overmap/visitable/ship/landable/excursion, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "kS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -7289,8 +7280,19 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/yellow, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/structure/cable/cyan{ + d2 = 8; + icon_state = "0-8" + }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "lr" = ( /obj/effect/floor_decal/techfloor{ dir = 8 @@ -7740,8 +7742,27 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/ai) "lY" = ( -/turf/space, -/area/shuttle/antag_space/north) +/obj/effect/floor_decal/borderfloorwhite{ + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/obj/structure/bed/chair/shuttle{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "lZ" = ( /obj/machinery/door/firedoor/glass, /obj/structure/cable/green, @@ -15794,7 +15815,9 @@ /obj/effect/floor_decal/corner/red/bordercorner2{ dir = 9 }, -/obj/structure/reagent_dispensers/water_cooler/full, +/obj/structure/reagent_dispensers/water_cooler/full{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/security/lobby) "yw" = ( @@ -16572,7 +16595,6 @@ /turf/simulated/floor/tiled, /area/hallway/station/upper) "zG" = ( -/obj/machinery/vending/snack, /obj/effect/floor_decal/corner/lightgrey{ dir = 9 }, @@ -16589,10 +16611,12 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, +/obj/machinery/vending/snack{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/hallway/station/upper) "zH" = ( -/obj/machinery/vending/cola, /obj/effect/floor_decal/corner/lightgrey{ dir = 9 }, @@ -16609,10 +16633,12 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, +/obj/machinery/vending/cola{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/hallway/station/upper) "zI" = ( -/obj/machinery/vending/cigarette, /obj/effect/floor_decal/corner/lightgrey{ dir = 9 }, @@ -16629,6 +16655,9 @@ /obj/effect/floor_decal/steeldecal/steel_decals9{ dir = 8 }, +/obj/machinery/vending/cigarette{ + dir = 1 + }, /turf/simulated/floor/tiled, /area/hallway/station/upper) "zJ" = ( @@ -16995,10 +17024,11 @@ /turf/simulated/floor/tiled/white, /area/medical/chemistry) "An" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/simulated/floor/reinforced, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/excursion/tether) +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "Ao" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -18578,12 +18608,7 @@ /obj/machinery/embedded_controller/radio/simple_docking_controller{ frequency = 1380; id_tag = "cargo_bay"; - layer = 3.3; - name = "cargo bay hatch controller"; - pixel_x = 30; - pixel_y = 0; - req_one_access = list(13,31); - tag_door = "cargo_bay_door" + pixel_x = 28 }, /obj/effect/floor_decal/industrial/warning/corner{ icon_state = "warningcorner"; @@ -18743,11 +18768,15 @@ /turf/simulated/floor/plating, /area/quartermaster/storage) "CS" = ( -/turf/simulated/floor/airless, -/area/supply/station{ +/obj/effect/shuttle_landmark{ + base_area = /area/space; base_turf = /turf/simulated/floor/airless; - dynamic_lighting = 0 - }) + docking_controller = "cargo_bay"; + landmark_tag = "supply_station"; + name = "Tether Cargo Bay" + }, +/turf/simulated/floor/airless, +/area/space) "CT" = ( /obj/structure/safe, /obj/item/clothing/under/color/yellow, @@ -19143,17 +19172,12 @@ /area/quartermaster/storage) "DD" = ( /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "cargo_bay_door"; - locked = 1; - name = "Cargo Docking Hatch" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/conveyor{ dir = 4; id = "QMLoad2" }, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/plating, /area/quartermaster/storage) "DE" = ( @@ -19780,13 +19804,8 @@ /area/quartermaster/storage) "Ez" = ( /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "cargo_bay_door"; - locked = 1; - name = "Cargo Docking Hatch" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/tiled, /area/quartermaster/storage) "EA" = ( @@ -20845,7 +20864,9 @@ /turf/simulated/floor/tiled/white, /area/medical/chemistry) "Gm" = ( -/obj/machinery/chem_master, +/obj/machinery/chem_master{ + dir = 1 + }, /obj/machinery/button/remote/blast_door{ desc = "A remote control-switch for shutters."; id = "chemistry"; @@ -20862,7 +20883,9 @@ /area/medical/chemistry) "Gn" = ( /obj/structure/table/reinforced, -/obj/machinery/chemical_dispenser/full, +/obj/machinery/chemical_dispenser/full{ + dir = 1 + }, /obj/item/device/radio/intercom{ dir = 2; pixel_y = -24 @@ -20880,7 +20903,9 @@ /turf/simulated/floor/tiled/white, /area/medical/chemistry) "Go" = ( -/obj/structure/reagent_dispensers/water_cooler/full, +/obj/structure/reagent_dispensers/water_cooler/full{ + dir = 1 + }, /obj/machinery/firealarm{ dir = 1; pixel_x = 0; @@ -21271,17 +21296,12 @@ /area/quartermaster/storage) "GQ" = ( /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "cargo_bay_door"; - locked = 1; - name = "Cargo Docking Hatch" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/conveyor{ dir = 4; id = "QMLoad" }, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/plating, /area/quartermaster/storage) "GR" = ( @@ -22481,7 +22501,9 @@ /turf/simulated/floor/wood, /area/crew_quarters/heads/cmo) "IB" = ( -/obj/machinery/vending/medical, +/obj/machinery/vending/medical{ + dir = 4 + }, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -22853,7 +22875,9 @@ /turf/simulated/floor/plating, /area/medical/sleeper) "Jd" = ( -/obj/machinery/vending/medical, +/obj/machinery/vending/medical{ + dir = 4 + }, /obj/effect/floor_decal/borderfloorwhite{ dir = 8 }, @@ -22952,7 +22976,9 @@ /turf/simulated/floor/plating, /area/maintenance/station/cargo) "Jm" = ( -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 4 + }, /obj/machinery/newscaster{ layer = 3.3; pixel_x = -27; @@ -23518,7 +23544,9 @@ /turf/simulated/open, /area/medical/medbay_primary_storage) "Kj" = ( -/obj/machinery/vending/cola, +/obj/machinery/vending/cola{ + dir = 4 + }, /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) @@ -23731,7 +23759,9 @@ /turf/simulated/floor/tiled/white, /area/medical/virology) "KB" = ( -/obj/machinery/computer/arcade, +/obj/machinery/computer/arcade{ + dir = 8 + }, /obj/structure/sign/nosmoking_1{ pixel_x = 32 }, @@ -24159,7 +24189,9 @@ /turf/simulated/floor/tiled/white, /area/medical/sleeper) "Lr" = ( -/obj/machinery/vending/fitness, +/obj/machinery/vending/fitness{ + dir = 4 + }, /obj/effect/floor_decal/spline/plain, /obj/machinery/status_display{ density = 0; @@ -24256,7 +24288,9 @@ /turf/simulated/wall/r_wall, /area/medical/chemistry) "LC" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 4 + }, /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) @@ -24932,6 +24966,9 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "My" = ( @@ -24947,6 +24984,13 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "Mz" = ( @@ -24986,7 +25030,9 @@ icon_state = "light1"; pixel_x = -24 }, -/obj/structure/reagent_dispensers/water_cooler/full, +/obj/structure/reagent_dispensers/water_cooler/full{ + dir = 4 + }, /obj/effect/floor_decal/corner/paleblue/diagonal, /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) @@ -25062,6 +25108,11 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "MM" = ( @@ -25369,6 +25420,11 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "Nk" = ( @@ -25496,19 +25552,38 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 8 }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 10 + }, +/obj/effect/floor_decal/corner/paleblue/bordercorner2{ + dir = 10 + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 4; + frequency = 1380; + id_tag = "medivac_bay"; + pixel_x = -28 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "Nv" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, /obj/effect/floor_decal/borderfloorwhite{ dir = 4 }, /obj/effect/floor_decal/corner/paleblue/border{ dir = 4 }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/corner/paleblue/bordercorner2{ + dir = 5 + }, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "Nw" = ( @@ -25640,43 +25715,20 @@ /turf/simulated/floor/tiled, /area/security/hallway) "NF" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{ - frequency = 1380; - id_tag = "large_escape_pod_1_berth"; - pixel_x = -26; - pixel_y = 0; - tag_door = "large_escape_pod_1_berth_hatch" - }, -/obj/effect/floor_decal/borderfloorwhite{ - dir = 8 - }, -/obj/effect/floor_decal/corner/paleblue/border{ - dir = 8 - }, -/obj/effect/floor_decal/borderfloorwhite/corner2{ - dir = 10 - }, -/obj/effect/floor_decal/corner/paleblue/bordercorner2{ - dir = 10 +/obj/machinery/door/airlock/glass_external, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "NG" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloorwhite{ - dir = 4 - }, -/obj/effect/floor_decal/corner/paleblue/border{ - dir = 4 - }, -/obj/effect/floor_decal/borderfloorwhite/corner2{ - dir = 5 - }, -/obj/effect/floor_decal/corner/paleblue/bordercorner2{ - dir = 5 - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "NH" = ( @@ -25715,19 +25767,23 @@ /turf/simulated/floor/tiled/white, /area/medical/virologyaccess) "NL" = ( -/turf/simulated/wall/r_wall, -/area/hallway/secondary/escape/medical_escape_pod_hallway) +/turf/simulated/wall/rshull, +/area/shuttle/medivac/engines) "NM" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "large_escape_pod_1_berth_hatch"; - locked = 1; - name = "Large Escape Pod 1" +/obj/machinery/door/airlock/glass_external, +/obj/machinery/airlock_sensor/airlock_exterior/shuttle{ + dir = 5; + pixel_x = -28 }, -/obj/machinery/door/firedoor/glass, -/turf/simulated/floor, -/area/hallway/secondary/escape/medical_escape_pod_hallway) +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/map_helper/airlock/sensor/ext_sensor, +/obj/effect/map_helper/airlock/door/ext_door, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/general) "NN" = ( /obj/structure/sink{ dir = 8; @@ -25792,25 +25848,57 @@ /turf/simulated/floor/tiled/white, /area/medical/virology) "NS" = ( -/turf/simulated/shuttle/wall, -/area/shuttle/large_escape_pod1/station) -"NT" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "large_escape_pod_1_hatch"; - locked = 1; - name = "Emergency Airlock" +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/portables_connector{ + dir = 4 }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) +/obj/effect/floor_decal/industrial/outline/grey, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) +"NT" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume, +/obj/machinery/embedded_controller/radio/airlock/docking_port{ + dir = 4; + frequency = 1380; + id_tag = "medivac_docker"; + pixel_x = -28 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/shuttle_landmark{ + base_area = /area/mine/explored/upper_level; + base_turf = /turf/simulated/floor/airless; + docking_controller = "medivac_bay"; + landmark_tag = "tether_medivac_dock"; + name = "Medivac Bay" + }, +/obj/effect/overmap/visitable/ship/landable/medivac, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/general) "NU" = ( -/obj/structure/sign/redcross, -/turf/simulated/shuttle/wall, -/area/shuttle/large_escape_pod1/station) +/obj/structure/shuttle/engine/propulsion{ + dir = 8; + icon_state = "propulsion_l" + }, +/turf/simulated/floor/tiled/asteroid_steel/airless, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/belter) "NV" = ( -/turf/simulated/mineral/floor/vacuum, -/area/hallway/secondary/escape/medical_escape_pod_hallway) +/obj/machinery/sleeper{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 5 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "NW" = ( /turf/simulated/wall/r_wall, /area/medical/virology) @@ -25861,87 +25949,81 @@ /turf/simulated/floor/tiled, /area/security/hallwayaux) "NZ" = ( -/obj/structure/shuttle/engine/heater{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/simulated/floor/airless, -/area/shuttle/large_escape_pod1/station) -"Oa" = ( -/obj/machinery/atmospherics/unary/cryo_cell{ - layer = 3.3 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Ob" = ( -/obj/structure/table/standard, -/obj/random/medical/lite, -/obj/item/weapon/tool/wrench, -/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{ - pixel_x = -4; - pixel_y = 0 - }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Oc" = ( -/obj/structure/table/rack, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/weapon/tank/emergency/oxygen, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Od" = ( -/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ - frequency = 1380; - id_tag = "large_escape_pod_1"; - pixel_x = -26; - pixel_y = 26; - tag_door = "large_escape_pod_1_hatch" - }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Oe" = ( -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Of" = ( -/obj/structure/bed/chair, -/obj/machinery/light{ +/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{ dir = 1 }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Og" = ( -/obj/structure/bed/chair, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Oh" = ( -/obj/structure/bed/chair, -/obj/machinery/vending/wallmed1{ - layer = 3.3; - name = "Emergency NanoMed"; - pixel_x = 28; - pixel_y = 0 +/turf/simulated/wall/rshull, +/area/shuttle/medivac/engines) +"Oa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/obj/structure/closet/walllocker/emerglocker/north, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Oi" = ( -/turf/simulated/shuttle/wall/hard_corner, -/area/shuttle/large_escape_pod1/station) +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) +"Ob" = ( +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) +"Oc" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 8 + }, +/turf/simulated/floor/tiled/asteroid_steel/airless, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/belter) +"Od" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/general) +"Oe" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/general) +"Of" = ( +/obj/structure/shuttle/engine/propulsion{ + dir = 8; + icon_state = "propulsion_r" + }, +/turf/simulated/floor/tiled/asteroid_steel/airless, +/turf/simulated/shuttle/plating/airless/carry, +/area/shuttle/belter) +"Og" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 8 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 8 + }, +/obj/structure/bed/chair/shuttle{ + dir = 4 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"Oh" = ( +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "Oj" = ( /obj/structure/bed/padded, /obj/machinery/alarm{ @@ -26052,37 +26134,50 @@ /turf/simulated/floor/tiled/white, /area/medical/virologyaccess) "Os" = ( -/obj/structure/window/reinforced{ - dir = 8 +/obj/machinery/power/apc{ + cell_type = /obj/item/weapon/cell/super; + dir = 8; + name = "west bump"; + pixel_x = -30 }, -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Ot" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 10 }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"Ou" = ( -/obj/structure/bed/chair{ +/obj/item/weapon/tank/phoron, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) +"Ot" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) "Ov" = ( /obj/effect/floor_decal/techfloor{ dir = 4 }, /turf/simulated/floor/bluegrid, /area/ai_core_foyer) -"Ow" = ( -/obj/structure/shuttle/window, -/obj/structure/grille, -/turf/simulated/shuttle/plating, -/area/shuttle/large_escape_pod1/station) "Ox" = ( /turf/simulated/open, /area/tether/exploration) @@ -26189,101 +26284,60 @@ /turf/simulated/floor/tiled/white, /area/medical/virology) "OH" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/atmospherics/portables_connector{ +/obj/machinery/atmospherics/binary/pump{ dir = 1 }, -/obj/machinery/portable_atmospherics/canister/oxygen/prechilled, -/obj/machinery/light, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) "OI" = ( -/obj/machinery/atmospherics/unary/freezer{ - dir = 1; - icon_state = "freezer_1"; - use_power = 1 +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) "OJ" = ( -/obj/structure/closet/crate/medical, -/obj/item/weapon/storage/firstaid/regular{ - pixel_x = -2; - pixel_y = 4 +/obj/machinery/door/airlock/multi_tile/metal/mait{ + dir = 2; + icon_state = "door_closed"; + req_one_access = list(5,67) }, -/obj/item/weapon/storage/firstaid/regular{ - pixel_x = -2; - pixel_y = 4 +/obj/machinery/door/firedoor/glass, +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/item/bodybag/cryobag{ - pixel_x = 5 - }, -/obj/item/bodybag/cryobag{ - pixel_x = 5 - }, -/obj/item/weapon/storage/firstaid/o2{ - layer = 2.8; - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/weapon/storage/box/masks{ - pixel_x = 0; - pixel_y = 0 - }, -/obj/item/weapon/storage/box/gloves{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/weapon/storage/firstaid/toxin, -/obj/item/weapon/storage/firstaid/fire{ - layer = 2.9; - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/weapon/storage/firstaid/adv{ - pixel_x = -2 - }, -/obj/machinery/status_display{ - density = 0; - layer = 4; - pixel_x = 0; - pixel_y = -32 - }, -/obj/item/device/defib_kit/loaded, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/engines) "OK" = ( -/obj/machinery/sleeper{ +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"OM" = ( +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/blue/border, +/obj/effect/floor_decal/borderfloorwhite/corner2, +/obj/effect/floor_decal/corner/blue/bordercorner2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"ON" = ( +/obj/effect/floor_decal/borderfloorwhite/corner{ dir = 8 }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"OL" = ( -/obj/machinery/sleep_console, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"OM" = ( -/obj/structure/bed/chair{ - dir = 1 +/obj/effect/floor_decal/corner/blue/bordercorner{ + dir = 8 }, -/obj/machinery/light, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"ON" = ( -/obj/structure/bed/chair{ - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) -"OO" = ( -/obj/structure/bed/chair{ - dir = 1 +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/structure/closet/walllocker/emerglocker/south, -/turf/simulated/shuttle/floor, -/area/shuttle/large_escape_pod1/station) +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "OP" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/item/device/radio/intercom/department/medbay{ @@ -26788,7 +26842,9 @@ /turf/simulated/floor/tiled/white, /area/medical/virologyisolation) "PI" = ( -/obj/structure/reagent_dispensers/water_cooler/full, +/obj/structure/reagent_dispensers/water_cooler/full{ + dir = 4 + }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, @@ -26882,7 +26938,9 @@ /turf/simulated/floor/tiled/white, /area/medical/virologyisolation) "PS" = ( -/obj/machinery/vending/snack, +/obj/machinery/vending/snack{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/medical/virologyisolation) "PT" = ( @@ -27682,7 +27740,7 @@ dir = 10 }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "Rw" = ( /obj/structure/catwalk, /obj/machinery/light/small{ @@ -28307,6 +28365,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 8; frequency = 1380; id_tag = "expshuttle_dock"; pixel_x = 32; @@ -28345,8 +28404,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "SP" = ( /obj/item/modular_computer/console/preset/command{ dir = 1 @@ -28369,7 +28433,7 @@ }, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "SR" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -28482,7 +28546,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "Td" = ( /obj/structure/cable/green{ d1 = 1; @@ -28544,8 +28608,13 @@ /obj/structure/handrail{ dir = 8 }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Tj" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, @@ -28564,43 +28633,35 @@ /obj/structure/table/rack/shelf, /obj/item/weapon/tank/oxygen, /obj/item/device/suit_cooling_unit, -/obj/item/clothing/head/helmet/space/void/pilot, /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/pilot, /obj/item/clothing/head/helmet/space/void/pilot, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Tm" = ( /obj/machinery/airlock_sensor{ - frequency = 1379; - id_tag = "belter_access_sensor"; - pixel_x = 4; - pixel_y = 24 + pixel_y = 28 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 2; frequency = 1379; id_tag = "belter_access_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "Tn" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1379; id_tag = "belter_access_airlock"; - pixel_x = 2; - pixel_y = 24; - req_one_access = list(48,65,66); - tag_airpump = "belter_access_pump"; - tag_chamber_sensor = "belter_access_sensor"; - tag_exterior_door = "belter_access_outer"; - tag_interior_door = "belter_access_inner" + pixel_y = 28 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 2; frequency = 1379; id_tag = "belter_access_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "To" = ( @@ -28626,8 +28687,9 @@ d2 = 2; icon_state = "0-2" }, +/obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Tr" = ( /obj/structure/girder, /turf/simulated/floor/plating, @@ -28658,7 +28720,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Tv" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5; @@ -28676,17 +28738,11 @@ /turf/simulated/floor/tiled, /area/quartermaster/belterdock) "Tw" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "belter_access_inner"; - locked = 1; - name = "Belter Pad Internal Access"; - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "Tx" = ( @@ -28701,14 +28757,8 @@ /turf/simulated/floor/plating, /area/quartermaster/belterdock) "Tz" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "belter_access_outer"; - locked = 1; - name = "Belter Pad External Access"; - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "TA" = ( @@ -28773,8 +28823,9 @@ /obj/structure/handrail{ dir = 1 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "TH" = ( /obj/structure/cable/green{ d1 = 1; @@ -28801,19 +28852,19 @@ /turf/simulated/floor/tiled, /area/quartermaster/belterdock) "TJ" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 9; + icon_state = "intact" }, -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/effect/floor_decal/industrial/outline/red, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "TK" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 1; frequency = 1379; id_tag = "belter_access_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "TL" = ( @@ -28825,6 +28876,7 @@ /obj/machinery/light/small{ dir = 4 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "TM" = ( @@ -28891,14 +28943,19 @@ /turf/simulated/floor/tiled, /area/quartermaster/belterdock) "TT" = ( -/obj/machinery/door/airlock/hatch{ - req_one_access = newlist() - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/door/firedoor/glass, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/hatch{ + req_one_access = list(67) + }, /turf/simulated/floor/tiled/steel_ridged, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "TU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28958,10 +29015,12 @@ icon_state = "intact-scrubbers"; dir = 4 }, -/obj/structure/handrail, /obj/machinery/light, +/obj/item/device/radio/intercom{ + pixel_y = -24 + }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "TZ" = ( /obj/structure/table/standard, /obj/item/weapon/paper/rogueminer, @@ -29006,8 +29065,9 @@ dir = 4 }, /obj/effect/floor_decal/industrial/warning/full, +/obj/effect/map_helper/airlock/atmos/pump_out_external, /turf/simulated/floor/plating, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "Ug" = ( /obj/effect/floor_decal/industrial/warning/corner{ icon_state = "warningcorner"; @@ -29061,7 +29121,7 @@ "Um" = ( /obj/machinery/sleep_console, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Un" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29145,7 +29205,7 @@ pixel_y = 22 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Ut" = ( /obj/effect/landmark/start{ name = "Medical Doctor" @@ -29205,8 +29265,13 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "UA" = ( /obj/effect/floor_decal/industrial/warning{ icon_state = "warning"; @@ -29224,7 +29289,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "UC" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -29246,18 +29311,18 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "UE" = ( /obj/structure/bed/chair/shuttle, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "UF" = ( /turf/simulated/shuttle/wall, -/area/shuttle/belter/station) +/area/shuttle/belter) "UG" = ( /obj/machinery/door/unpowered/shuttle, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "UH" = ( /turf/simulated/floor/tiled/asteroid_steel/airless, /area/quartermaster/belterdock) @@ -29273,35 +29338,38 @@ icon_state = "pipe-c" }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "UK" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/handrail{ dir = 1 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "UL" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9; icon_state = "intact" }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) -"UM" = ( -/obj/machinery/atmospherics/pipe/tank/carbon_dioxide{ - dir = 8; - start_pressure = 3039.75 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/cyan{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, -/obj/effect/floor_decal/industrial/outline/red, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) +"UM" = ( +/obj/machinery/atmospherics/portables_connector, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/excursion/general) "UN" = ( /obj/structure/table/standard, /obj/machinery/recharger, @@ -29337,7 +29405,7 @@ amount = 5 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "UP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ icon_state = "intact-scrubbers"; @@ -29359,7 +29427,7 @@ icon_state = "intact" }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "US" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -29399,8 +29467,9 @@ req_access = list() }, /obj/structure/handrail, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "UV" = ( /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 6 @@ -29411,11 +29480,12 @@ /turf/simulated/floor/tiled, /area/security/security_bathroom) "UW" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ +/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{ dir = 1 }, +/obj/machinery/meter, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "UX" = ( /obj/machinery/computer/shuttle_control/belter{ dir = 8 @@ -29427,7 +29497,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "UZ" = ( /obj/structure/shuttle/engine/heater{ dir = 8 @@ -29436,24 +29506,24 @@ dir = 4 }, /turf/simulated/floor/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Va" = ( /obj/structure/closet/crate, /obj/machinery/light{ dir = 1 }, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vb" = ( /obj/machinery/embedded_controller/radio/airlock/docking_port{ id_tag = "belter_docking"; pixel_y = 26 }, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vc" = ( /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vd" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -29473,8 +29543,9 @@ dir = 4; pixel_y = 0 }, +/obj/effect/map_helper/airlock/atmos/pump_out_internal, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "Ve" = ( /obj/structure/cable/green{ d1 = 1; @@ -29510,30 +29581,27 @@ /obj/item/clothing/head/helmet/space/emergency, /obj/structure/closet/emcloset/legacy, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Vg" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/universal, +/obj/item/device/radio/intercom{ + dir = 8; + pixel_x = -24; + pixel_y = 0 }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/structure/closet/crate/freezer/rations, -/obj/item/weapon/storage/mre/menu11, -/obj/item/weapon/storage/mre/menu10, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Vh" = ( /obj/structure/bed/chair/shuttle, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vi" = ( /obj/machinery/shuttle_sensor{ dir = 2; id_tag = "shuttlesens_exp_psg" }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Vj" = ( /obj/structure/closet/emcloset, /obj/machinery/light{ @@ -29541,10 +29609,10 @@ dir = 4 }, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vk" = ( /turf/simulated/shuttle/wall/hard_corner, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/window/westleft{ @@ -29597,27 +29665,33 @@ "Vq" = ( /obj/structure/ore_box, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vr" = ( /obj/structure/bed/chair/shuttle{ dir = 4 }, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vs" = ( /obj/machinery/computer/shuttle_control/belter{ dir = 8 }, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vt" = ( /obj/structure/shuttle/window, +/obj/effect/shuttle_landmark{ + base_area = /area/quartermaster/belterdock; + base_turf = /turf/simulated/floor/tiled/asteroid_steel/airless; + landmark_tag = "belter_station"; + name = "Tether Parking Spot" + }, /turf/simulated/floor/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "Vu" = ( -/obj/structure/flight_left, +/obj/machinery/computer/ship/helm, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cockpit) "Vv" = ( /obj/structure/sink{ pixel_y = 26 @@ -29637,27 +29711,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Vx" = ( /obj/structure/closet/crate, /obj/machinery/light, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) -"Vy" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 8; - icon_state = "propulsion_l" - }, -/turf/simulated/floor/tiled/asteroid_steel/airless, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/belter/station) -"Vz" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 8 - }, -/turf/simulated/floor/tiled/asteroid_steel/airless, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/belter/station) +/area/shuttle/belter) "VA" = ( /obj/effect/landmark/start{ name = "Medical Doctor" @@ -29682,26 +29741,25 @@ }, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "VC" = ( /obj/structure/bed/chair/shuttle{ dir = 1 }, /turf/simulated/shuttle/floor/yellow/airless, -/area/shuttle/belter/station) +/area/shuttle/belter) "VD" = ( -/obj/machinery/atmospherics/binary/pump, -/obj/machinery/atmospherics/pipe/simple/hidden/universal{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 6 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "VE" = ( /obj/structure/closet/walllocker/emerglocker{ pixel_x = -32 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "VF" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -29764,50 +29822,25 @@ "VM" = ( /turf/simulated/open, /area/ai_core_foyer) -"VN" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 8; - icon_state = "propulsion_r" - }, -/turf/simulated/floor/tiled/asteroid_steel/airless, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/belter/station) -"VO" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 8; - icon_state = "propulsion_l" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/large_escape_pod1/station) "VP" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 8 +/obj/machinery/atmospherics/unary/engine{ + icon_state = "nozzle"; + dir = 4 }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/large_escape_pod1/station) +/turf/simulated/floor/airless, +/area/shuttle/medivac/engines) "VQ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8; icon_state = "map" }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "VR" = ( -/obj/machinery/atmospherics/binary/pump{ - dir = 8 - }, +/obj/machinery/atmospherics/pipe/manifold/hidden/cyan, +/obj/machinery/meter, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) -"VS" = ( -/obj/structure/shuttle/engine/propulsion{ - dir = 8; - icon_state = "propulsion_r" - }, -/turf/space, -/turf/simulated/shuttle/plating/airless/carry, -/area/shuttle/large_escape_pod1/station) +/area/shuttle/excursion/general) "VU" = ( /obj/machinery/firealarm{ dir = 2; @@ -29826,11 +29859,46 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) +"VV" = ( +/obj/machinery/sleep_console{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "VX" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/monotile, /area/tether/exploration) +"VY" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1380; + id_tag = "medivac_docker_pump_out_external" + }, +/obj/effect/floor_decal/industrial/warning/full, +/obj/effect/map_helper/airlock/atmos/pump_out_external, +/turf/simulated/floor/airless, +/area/shuttle/medivac/general) +"Wa" = ( +/obj/machinery/airlock_sensor{ + pixel_x = 28 + }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 2; + frequency = 1380; + id_tag = "medivac_docker_pump_out_internal" + }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/obj/effect/map_helper/airlock/atmos/pump_out_internal, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/general) "Wb" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'HIGH VOLTAGE'"; @@ -29841,16 +29909,14 @@ /turf/simulated/wall, /area/maintenance/substation/cargo) "Wd" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/universal{ - dir = 4 - }, +/obj/effect/floor_decal/industrial/outline, /obj/machinery/atmospherics/portables_connector, /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Wg" = ( /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Wh" = ( /obj/effect/floor_decal/carpet, /obj/effect/floor_decal/carpet{ @@ -29861,6 +29927,11 @@ }, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) +"Wj" = ( +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "Wk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -29871,6 +29942,10 @@ }, /turf/simulated/floor/tiled/monotile, /area/tether/exploration) +"Wl" = ( +/obj/structure/sign/redcross, +/turf/simulated/wall/rshull, +/area/shuttle/medivac/general) "Wm" = ( /obj/structure/cable{ d1 = 1; @@ -29886,14 +29961,17 @@ id_tag = "shuttlesens_exp_int" }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "Wo" = ( /obj/structure/bed/chair/shuttle, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) +"Wp" = ( +/turf/simulated/wall/rshull, +/area/shuttle/excursion/cargo) "Wr" = ( /obj/structure/table/standard, /obj/item/weapon/towel/random, @@ -29909,7 +29987,15 @@ "Ws" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) +"Wt" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/excursion/cargo) +"Wu" = ( +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/general) "Wv" = ( /obj/machinery/alarm{ dir = 4; @@ -29938,7 +30024,42 @@ }, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/plating, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) +"Wy" = ( +/obj/machinery/door/window/brigdoor/westright{ + req_access = newlist(); + req_one_access = list(5,67) + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/shuttle/medivac/cockpit) +"WA" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 4 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + icon_state = "bordercolorcorner2"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "WB" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -29954,10 +30075,21 @@ }, /turf/simulated/floor/tiled/white, /area/security/security_bathroom) -"WD" = ( -/obj/structure/flight_right, +"WC" = ( +/obj/structure/bed/chair/bay/chair/padded/blue{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/medivac/cockpit) +"WD" = ( +/obj/machinery/computer/ship/sensors, +/turf/simulated/floor/tiled, +/area/shuttle/excursion/cockpit) "WE" = ( /obj/effect/decal/remains, /obj/item/clothing/under/rank/centcom_officer, @@ -29983,7 +30115,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "WH" = ( /obj/machinery/light{ icon_state = "tube1"; @@ -29992,6 +30124,26 @@ /obj/structure/dogbed, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) +"WL" = ( +/obj/machinery/shipsensors{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/full, +/turf/simulated/floor/reinforced, +/area/shuttle/excursion/general) +"WM" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorblack/corner2{ + dir = 6 + }, +/obj/structure/bed/padded, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/shuttle/medivac/general) "WN" = ( /obj/effect/floor_decal/carpet{ dir = 4 @@ -30007,7 +30159,7 @@ "WR" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "WS" = ( /obj/structure/disposaloutlet{ dir = 4 @@ -30019,7 +30171,30 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) +"WT" = ( +/obj/effect/floor_decal/industrial/warning/dust/corner{ + icon_state = "warningcorner_dust"; + dir = 1 + }, +/turf/simulated/floor/airless, +/area/mine/explored/upper_level) +"WV" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 6 + }, +/turf/simulated/floor/reinforced, +/area/shuttle/excursion/cargo) +"WW" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/shuttle/medivac/general) "WY" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/dark, @@ -30032,13 +30207,13 @@ }, /obj/structure/handrail, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "Xb" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "Xc" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -30060,13 +30235,45 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) +"Xd" = ( +/obj/effect/floor_decal/borderfloor, +/obj/machinery/computer/shuttle_control/explore/medivac{ + icon_state = "computer"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled, +/area/shuttle/medivac/cockpit) "Xe" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/wood, /area/security/breakroom) +"Xf" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/effect/floor_decal/industrial/outline/red, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) +"Xg" = ( +/obj/structure/grille, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "medivac blast"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/turf/simulated/floor/airless, +/area/shuttle/medivac/general) "Xh" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -30080,13 +30287,29 @@ dir = 5; icon_state = "intact" }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) -"Xk" = ( /obj/structure/cable/cyan{ - d2 = 4; - icon_state = "0-4" + d1 = 1; + d2 = 2; + icon_state = "1-2" }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/excursion/cargo) +"Xj" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 5 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"Xk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, @@ -30094,14 +30317,13 @@ icon_state = "intact-scrubbers"; dir = 4 }, -/obj/machinery/power/apc{ - dir = 2; - name = "south bump"; - pixel_y = -28; - req_access = list(67) +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Xl" = ( /obj/structure/cable/cyan{ d1 = 4; @@ -30114,12 +30336,17 @@ /obj/structure/handrail{ dir = 1 }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Xo" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "Xp" = ( /obj/structure/cable/cyan{ d2 = 8; @@ -30127,7 +30354,7 @@ }, /obj/machinery/power/smes/buildable/point_of_interest, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Xq" = ( /obj/structure/stasis_cage, /turf/simulated/floor/tiled/monotile, @@ -30135,18 +30362,69 @@ "Xr" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/yellow, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) -"XA" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window/reinforced{ +/area/shuttle/excursion/cargo) +"Xt" = ( +/obj/machinery/door/airlock/hatch{ + req_one_access = list(67) + }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled/steel_ridged, +/area/shuttle/excursion/general) +"Xv" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 9; + icon_state = "intact" + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"Xw" = ( +/obj/effect/floor_decal/borderfloorwhite/corner{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ - dir = 6 +/obj/effect/floor_decal/corner/blue/bordercorner{ + dir = 1 }, -/turf/simulated/floor/reinforced, -/area/shuttle/excursion/tether) +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"Xx" = ( +/obj/machinery/computer/ship/engines, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/shuttle/medivac/cockpit) +"Xy" = ( +/turf/simulated/wall/rshull, +/area/shuttle/medivac/cockpit) "XB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner/blue{ + icon_state = "corner_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/blue, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"XC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 5 + }, +/turf/simulated/wall/rshull, +/area/shuttle/excursion/cargo) +"XD" = ( /obj/structure/shuttle/engine/heater, /obj/structure/window/reinforced{ dir = 1 @@ -30155,24 +30433,36 @@ dir = 10 }, /turf/simulated/floor/reinforced, -/area/shuttle/excursion/tether) -"XC" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ - dir = 5 - }, -/turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "XE" = ( /obj/machinery/conveyor_switch/oneway{ id = "shuttle_inbound" }, /obj/effect/floor_decal/industrial/warning/full, /turf/simulated/floor/plating, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) +"XF" = ( +/obj/machinery/power/smes/buildable/point_of_interest, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) "XG" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled, /area/security/eva) +"XH" = ( +/obj/machinery/shipsensors{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning/full, +/turf/simulated/floor/airless, +/area/shuttle/medivac/cockpit) +"XL" = ( +/obj/structure/sign/nosmoking_1, +/turf/simulated/wall/rshull, +/area/shuttle/medivac/general) "XM" = ( /obj/structure/table/glass, /turf/simulated/floor/wood, @@ -30186,7 +30476,7 @@ dir = 1 }, /turf/simulated/floor/reinforced, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "XO" = ( /obj/structure/cable/green{ d1 = 2; @@ -30195,6 +30485,22 @@ }, /turf/simulated/floor/tiled/steel, /area/quartermaster/warehouse) +"XQ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/plating, +/area/shuttle/excursion/general) +"XR" = ( +/obj/effect/overmap/visitable/sector/virgo3b, +/turf/space, +/area/space) +"XS" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/plating, +/area/shuttle/excursion/cargo) "XT" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -30217,30 +30523,76 @@ }, /turf/simulated/floor/tiled, /area/hallway/station/upper) -"XZ" = ( -/obj/machinery/computer/shuttle_control/web/excursion{ - icon = 'icons/obj/computer.dmi'; - my_doors = list("expshuttle_door_Ro" = "Airlock Outer", "expshuttle_door_Ri" = "Airlock Inner", "expshuttle_door_cargo" = "Cargo Hatch"); - my_sensors = list("shuttlesens_exp" = "Exterior Environment", "shuttlesens_exp_int" = "Cargo Area", "shuttlesens_exp_psg" = "Passenger Area") +"XU" = ( +/obj/effect/floor_decal/corner/blue{ + icon_state = "corner_white"; + dir = 10 + }, +/obj/effect/floor_decal/corner/blue{ + icon_state = "corner_white"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"XW" = ( +/obj/machinery/door/window/brigdoor/westleft{ + req_access = newlist(); + req_one_access = list(5,67) + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/medivac/cockpit) +"XX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 9 + }, +/turf/simulated/wall/rshull, +/area/shuttle/medivac/engines) +"XZ" = ( +/obj/structure/table/steel, +/turf/simulated/floor/tiled, +/area/shuttle/excursion/cockpit) +"Ya" = ( +/turf/simulated/wall/rshull, +/area/shuttle/medivac/general) "Yb" = ( /turf/simulated/floor/wood, /area/crew_quarters/heads/cmo) +"Yc" = ( +/obj/structure/sign/redcross, +/turf/simulated/wall/rshull, +/area/shuttle/medivac/engines) +"Ye" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/effect/floor_decal/industrial/outline/red, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) "Yf" = ( /obj/machinery/computer/supplycomp/control, /turf/simulated/floor/wood, /area/quartermaster/qm) "Yg" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/universal{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 8; + icon_state = "1-8" }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Yh" = ( /obj/structure/sink{ dir = 4; @@ -30269,8 +30621,30 @@ /obj/structure/handrail{ dir = 1 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) +"Yk" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/simulated/floor/airless, +/area/mine/explored/upper_level) +"Yl" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 6 + }, +/obj/effect/floor_decal/corner/blue/bordercorner2{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "Ym" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, @@ -30278,13 +30652,50 @@ dir = 6; icon_state = "intact" }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "Yp" = ( /turf/simulated/wall{ can_open = 0 }, /area/crew_quarters/medical_restroom) +"Yq" = ( +/obj/machinery/body_scanconsole{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite, +/obj/effect/floor_decal/corner/blue/border, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"Yr" = ( +/obj/machinery/airlock_sensor{ + pixel_x = 28; + pixel_y = 28 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 5; + icon_state = "intact" + }, +/obj/effect/map_helper/airlock/sensor/int_sensor, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"Ys" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/structure/bed/padded, +/turf/simulated/floor/tiled/dark, +/area/shuttle/medivac/general) "Yu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -30294,6 +30705,16 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) +"Yv" = ( +/obj/structure/fuel_port{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{ + icon_state = "map"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) "Yw" = ( /obj/structure/cable/green{ d1 = 4; @@ -30314,6 +30735,28 @@ /obj/structure/window/reinforced/full, /turf/simulated/floor/plating, /area/crew_quarters/medical_restroom) +"YA" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 9 + }, +/obj/effect/floor_decal/corner/blue/border{ + icon_state = "bordercolor"; + dir = 9 + }, +/obj/structure/bed/chair/shuttle{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"YB" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/space; + base_turf = /turf/space; + landmark_tag = "tether_space_SE"; + name = "Near Tether (SE)" + }, +/turf/space, +/area/space) "YC" = ( /obj/effect/floor_decal/carpet, /turf/simulated/floor/carpet, @@ -30337,6 +30780,53 @@ /obj/machinery/microwave, /turf/simulated/floor/wood, /area/security/breakroom) +"YK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/plating, +/area/shuttle/excursion/general) +"YM" = ( +/obj/machinery/bodyscanner{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 6 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"YN" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) +"YO" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "YQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -30350,9 +30840,37 @@ }, /turf/simulated/floor/tiled/monotile, /area/tether/exploration) +"YS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) "YT" = ( /turf/simulated/wall, /area/security/breakroom) +"YU" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/structure/table/glass, +/obj/machinery/recharger, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor/tiled, +/area/shuttle/medivac/cockpit) "YV" = ( /obj/machinery/computer/secure_data, /obj/machinery/alarm{ @@ -30367,6 +30885,23 @@ }, /turf/space, /area/space) +"YX" = ( +/obj/structure/table/standard, +/obj/random/medical, +/turf/simulated/floor/tiled/techfloor/grid, +/area/shuttle/medivac/engines) +"YY" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/engines) "Za" = ( /obj/machinery/door/airlock/hatch{ req_one_access = newlist() @@ -30375,8 +30910,26 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor/glass, /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/tiled/steel_ridged, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) +"Zc" = ( +/obj/machinery/computer/ship/helm{ + icon_state = "computer"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/shuttle/medivac/cockpit) "Zd" = ( /obj/machinery/conveyor{ dir = 4; @@ -30384,7 +30937,27 @@ }, /obj/structure/plasticflaps, /turf/simulated/floor/plating, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) +"Ze" = ( +/obj/effect/floor_decal/corner/blue{ + icon_state = "corner_white"; + dir = 10 + }, +/obj/effect/floor_decal/corner/blue{ + icon_state = "corner_white"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) +"Zg" = ( +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/simulated/floor/airless, +/area/mine/explored/upper_level) "Zi" = ( /obj/machinery/alarm{ dir = 1; @@ -30403,7 +30976,22 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) +"Zl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/wall/rshull, +/area/shuttle/medivac/cockpit) +"Zm" = ( +/obj/machinery/computer/ship/sensors{ + icon_state = "computer"; + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/shuttle/medivac/cockpit) "Zn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -30419,8 +31007,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, +/obj/structure/cable/cyan{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "Zp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ icon_state = "intact-scrubbers"; @@ -30428,10 +31021,38 @@ }, /turf/simulated/floor/outdoors/grass/forest, /area/quartermaster/qm) +"Zr" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/table/glass, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled, +/area/shuttle/medivac/cockpit) "Zs" = ( /obj/structure/bookcase, /turf/simulated/floor/wood, /area/crew_quarters/heads/cmo) +"Zt" = ( +/obj/machinery/power/apc{ + alarms_hidden = 1; + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 10 + }, +/obj/effect/floor_decal/corner/blue/border{ + dir = 10 + }, +/obj/structure/bed/chair/shuttle{ + dir = 4 + }, +/obj/structure/cable, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "Zu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -30441,6 +31062,23 @@ }, /turf/simulated/floor/tiled/white, /area/crew_quarters/medical_restroom) +"Zv" = ( +/obj/machinery/door/firedoor/glass, +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 1; + icon_state = "pdoor0"; + id = "medivac blast"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/turf/simulated/floor/airless, +/area/shuttle/medivac/cockpit) "Zx" = ( /obj/machinery/light/small{ dir = 8 @@ -30455,27 +31093,28 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/shuttle/excursion/tether) -"ZB" = ( -/obj/machinery/shuttle_sensor{ - dir = 5; - id_tag = "shuttlesens_exp" +/area/shuttle/excursion/cargo) +"Zz" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 }, -/turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/obj/effect/floor_decal/borderfloorblack/corner2{ + icon_state = "borderfloorcorner2_black"; + dir = 8 + }, +/obj/machinery/door/window/brigdoor/northleft{ + req_access = list(5) + }, +/turf/simulated/floor/tiled/dark, +/area/shuttle/medivac/general) "ZD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 9 }, /turf/simulated/wall/rshull, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "ZE" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "expshuttle_door_Ro"; - locked = 1 - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/airlock_sensor/airlock_exterior/shuttle{ dir = 6; frequency = 1380; @@ -30492,11 +31131,36 @@ icon_state = "warning"; dir = 8 }, +/obj/effect/map_helper/airlock/door/ext_door, +/obj/effect/map_helper/airlock/sensor/ext_sensor, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "ZF" = ( /turf/simulated/mineral/vacuum, /area/crew_quarters/heads/hos) +"ZG" = ( +/obj/machinery/computer/shuttle_control/explore/excursion{ + dir = 1; + icon_state = "computer" + }, +/turf/simulated/floor/tiled, +/area/shuttle/excursion/cockpit) +"ZK" = ( +/obj/structure/bed/chair/bay/chair/padded/blue{ + icon_state = "bay_chair_preview"; + dir = 4 + }, +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "medivac blast"; + name = "Shuttle Blast Doors"; + pixel_x = -28; + pixel_y = -28; + req_access = list(67) + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/tiled, +/area/shuttle/medivac/cockpit) "ZL" = ( /obj/machinery/door/airlock/hatch{ req_one_access = list(67) @@ -30510,12 +31174,26 @@ }, /obj/machinery/door/firedoor/glass, /turf/simulated/floor/tiled/steel_ridged, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "ZM" = ( /obj/structure/table/woodentable, /obj/item/device/radio/off, /turf/simulated/floor/wood, /area/crew_quarters/heads/hos) +"ZN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/floor_decal/corner/blue{ + icon_state = "corner_white"; + dir = 5 + }, +/obj/effect/floor_decal/corner/blue{ + icon_state = "corner_white"; + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/shuttle/medivac/general) "ZO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, @@ -30533,6 +31211,23 @@ }, /turf/simulated/floor, /area/maintenance/station/ai) +"ZR" = ( +/obj/structure/grille, +/obj/machinery/door/firedoor/glass, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/blast/regular{ + density = 0; + dir = 4; + icon_state = "pdoor0"; + id = "medivac blast"; + name = "Shuttle Blast Doors"; + opacity = 0 + }, +/turf/simulated/floor/airless, +/area/shuttle/medivac/general) "ZT" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/alarm{ @@ -30544,7 +31239,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "ZU" = ( /obj/machinery/suit_cycler/pilot, /obj/machinery/firealarm{ @@ -30553,7 +31248,7 @@ pixel_y = -26 }, /turf/simulated/floor/tiled, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "ZV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -30570,15 +31265,20 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/cargo) "ZX" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/yellow{ + dir = 10 }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/structure/closet/crate/freezer/rations, +/obj/item/weapon/storage/mre/menu11, +/obj/item/weapon/storage/mre/menu10, /turf/simulated/floor/tiled/techfloor/grid, -/area/shuttle/excursion/tether) +/area/shuttle/excursion/general) "ZY" = ( /turf/simulated/wall/r_wall, /area/security/security_lockerroom) @@ -30864,7 +31564,7 @@ aa aa aa aa -aa +XR aa "} (3,1,1) = {" @@ -33112,7 +33812,7 @@ aa aa aa aa -aa +YB aa aa aa @@ -40051,16 +40751,16 @@ Mw Lh Ni Iy -ab -NL -NL -NL -NL -NL -NL -NL -vt -vt +vs +vs +vs +vs +vs +vs +vs +vs +vs +Yk Pz aa PL @@ -40193,18 +40893,18 @@ Iy MK MK Iy -ab +vs NL -VO -VP -VP -VP -VS NL -vt -vt -gg -gg +NL +VP +VP +NL +NL +NL +Yk +vs +vs aa aa aa @@ -40335,18 +41035,18 @@ Iy MK MK Iy -ab +vs NL NS -NZ -NZ -NZ -NS NL -vt -vt -gg -gg +NZ +XX +NL +YX +NL +Yk +vs +vs aa aa aa @@ -40477,18 +41177,18 @@ Iy MK MK Iy -ab -NL -NS +vs +Yc +YN Oa Os OH -NS -NL -vt -vt -gg -gg +Yv +Ye +Yc +Yk +vs +vs aa aa aa @@ -40619,18 +41319,18 @@ Iy MK MK Iy -ab +vs NL -NS +XF Ob Ot OI -NS +YS +Xf NL -vt -vt -gg -gg +Yk +vs +vs aa aa aa @@ -40763,16 +41463,16 @@ Lu Lu Lu NL -NS -Oc -Oe -OJ -NS NL -vt -vt -gg -gg +NL +YY +OJ +NL +NL +NL +Yk +vs +vs aa aa aa @@ -40907,14 +41607,14 @@ NF NM NT Od -Oe +Xv OK -NS -NL -vt -gg -gg -gg +Zz +WW +Ya +Yk +vs +vs aa aa aa @@ -41046,17 +41746,17 @@ MM Jk Nv NG -NM -NT +Wu +Wa Oe -Oe -OL -NS -NL -gg -gg -gg -gg +Yr +OK +WM +Ys +Ya +Yk +vs +vs aa aa aa @@ -41188,16 +41888,16 @@ Lu Lu Lu Lu -NL -NU -Of -Oe +Ya +Ya +Ya +WA OM -NU -NL -gg -aa -aa +XL +Ya +Ya +Yk +vs aa aa aa @@ -41278,8 +41978,8 @@ cK cK XE Zd -dj -dj +Wp +Wp cK ms Oz @@ -41329,17 +42029,17 @@ AH ab ab ab -ab -NL -NS +vs +Ya +YA Og -Oe +Xw ON -NS -NL -gg -aa -aa +lY +Zt +Ya +Yk +vs aa aa aa @@ -41415,14 +42115,14 @@ dj Wx dj Wx -dj -dj -dj +Wp +Wp +Wp Zy WG -dj -XA -An +Wp +Wp +cK ms Oz be @@ -41471,16 +42171,16 @@ AH ab ab ab -ab -NL -NS +vs +ZR +YO Oh -Oe -OO -NS -NL -gg -aa +Ze +XB +Oh +Wj +Xg +Yk aa aa aa @@ -41549,7 +42249,7 @@ be bX cE cK -cK +WL dj Tl ZU @@ -41557,14 +42257,14 @@ dj Vf VE Vw -dj +Wp it Wn UJ Xb -dj -XN -An +Wp +WV +hc ms Xq be @@ -41613,16 +42313,16 @@ AH ab ab ab -ab -NL -NS -Oi -Ou -Oi -NS -NL -gg -aa +vs +ZR +VV +Oh +XU +ZN +Oh +Yq +Xg +Yk aa aa aa @@ -41699,14 +42399,14 @@ dj UE Wg Um -dj +Wp iK jY -iW +Wt WS -dj +Wp XN -An +hc ms Xq be @@ -41755,16 +42455,16 @@ AH ab ab ab -ab -NL +vs +Wl NV -NS -Ow -NS -NV -NL -gg -aa +Xj +An +OK +Yl +YM +Wl +Yk aa aa aa @@ -41841,7 +42541,7 @@ Vi Wo Wg jV -dj +Wp VU Zk WR @@ -41898,15 +42598,15 @@ ab ab ab ab -vt -vt -vt -vt -vt -vt -vt -gg -aa +Xy +Xy +YU +Wy +XW +Zr +Xy +Ya +Yk aa aa aa @@ -41983,13 +42683,13 @@ dj Us fi UD -dj +Wp Xa jZ WR Xo -XN -An +iY +Wp cK ms Xq @@ -42040,15 +42740,15 @@ ab ab ab ab -vt -vt -vt -vt -vt -vt -vt -gg -aa +XH +Xy +Xx +WC +ZK +Xd +Zl +VY +Yk aa aa aa @@ -42121,17 +42821,17 @@ Vu dC ea fj -ea +XQ UE fj UY -ea +XS iW ka WR UK iY -dj +Wp cK ms mq @@ -42182,15 +42882,15 @@ ab ab ab ab -vt -vt -vt -vt -vt -vt -vt -aa -aa +vs +Xy +Xy +Zc +Zm +Xy +Xy +vs +Yk aa aa aa @@ -42323,16 +43023,16 @@ ab ab ab ab -vt -vt -vt -vt -vt -vt -vt -vt -aa -aa +vs +vs +vs +Xy +Zv +Zv +Xy +vs +vs +Yk aa aa aa @@ -42403,19 +43103,19 @@ cG VB WD dE -dj +ZG TY dj dj fx dj -dj +Wp iX kb ZW lq Xr -dj +Wp cK ms mq @@ -42465,16 +43165,16 @@ ab ab ab ab -vt -vt -vt -vt -vt -vt -vt -vt -aa -aa +Zg +Zg +Zg +Zg +Zg +Zg +Zg +Zg +Zg +WT aa aa aa @@ -42546,18 +43246,18 @@ dj dj dj dj -ZL +YK dj Wd UL Vg fV iY -ea +XS kx -dj -XN -An +Wp +iY +Wp cK ms mq @@ -42607,11 +43307,11 @@ ab ab ab ab -vt -vt -vt -vt -vt +vs +vs +vs +vs +vs vt vt vt @@ -42689,7 +43389,7 @@ VB Tq ec Xk -dj +Xt fg Yg VD @@ -42836,13 +43536,13 @@ di VR UW gM -dj +Wp kj kQ TG -dj +Wp XN -An +hc ms mq be @@ -42977,14 +43677,14 @@ dj UM TJ ZX -hc -dj +gM +Wp kk kR Vd -dj -XN -An +Wp +XD +hc ms QL be @@ -43123,10 +43823,10 @@ UR VQ Ws ZE -ZB -dj -XB -An +Wp +Wp +Wp +cK ms Sq be @@ -43266,8 +43966,8 @@ Uf cK cK cK -dj -dj +Wp +Wp cK ms mq @@ -44308,11 +45008,11 @@ Ty TL QG Ue -Vy -Vz -Vz -Vz -VN +NU +Oc +Oc +Oc +Of VH vt vt @@ -45281,17 +45981,17 @@ vt vt vt vt -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg ae ae aa @@ -45423,18 +46123,18 @@ aa aa aa ae -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg ae aa aa @@ -45565,18 +46265,18 @@ aa aa aa ae -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg ae aa aa @@ -45707,17 +46407,17 @@ aa aa aa ae -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg CS ae aa @@ -45849,18 +46549,18 @@ aa aa aa aa -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg ae aa aa @@ -45991,18 +46691,18 @@ aa aa aa aa -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg ae aa aa @@ -46133,17 +46833,17 @@ aa aa aa aa -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS -CS +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg ae ae aa @@ -46395,16 +47095,16 @@ aa aa aa aa -lY -lY -lY -lY -lY -lY -lY -lY -lY -lY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -46537,16 +47237,16 @@ aa aa aa aa -lY -lY -lY -lY -lY -lY -lY -lY -lY -lY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -46679,16 +47379,16 @@ aa aa aa aa -lY -lY -lY -lY -lY -lY -lY -lY -lY -lY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -46821,16 +47521,16 @@ aa aa aa aa -lY -lY -lY -lY -lY -lY -lY -lY -lY -lY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa @@ -46963,16 +47663,16 @@ aa aa aa aa -lY -lY -lY -lY -lY -lY -lY -lY -lY -lY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa aa aa aa diff --git a/maps/tether/tether-08-mining.dmm b/maps/tether/tether-08-mining.dmm index 77be73e6c9..342fc60302 100644 --- a/maps/tether/tether-08-mining.dmm +++ b/maps/tether/tether-08-mining.dmm @@ -12,8 +12,12 @@ /turf/simulated/floor/outdoors/grass/sif/virgo3b, /area/shuttle/tether/crash2) "ae" = ( -/turf/simulated/floor/outdoors/grass/sif/virgo3b, -/area/shuttle/antag_ground/mining) +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ + frequency = 1379; + scrub_id = "mining_outpost_airlock_scrubber" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/outpost/mining_main/airlock) "af" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_dirty/virgo3b, @@ -634,13 +638,23 @@ /turf/simulated/floor/plating, /area/outpost/mining_main/maintenance) "bt" = ( -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ - frequency = 1379; - scrub_id = "mining_outpost_airlock_scrubber"; - scrubbing_gas = list("phoron") +/obj/effect/floor_decal/borderfloor{ + dir = 10 }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/outpost/mining_main/airlock) +/obj/effect/floor_decal/corner/brown/border{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 8 + }, +/obj/machinery/vending/cola{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/outpost/mining_main/break_room) "bu" = ( /obj/structure/cable{ d1 = 2; @@ -822,6 +836,32 @@ }, /turf/simulated/floor/tiled, /area/outpost/mining_main/break_room) +"bM" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/corner/brown/border, +/obj/machinery/vending/coffee{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/outpost/mining_main/break_room) +"bN" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/obj/effect/floor_decal/corner/brown/border{ + dir = 6 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/effect/floor_decal/corner/brown/bordercorner2{ + dir = 6 + }, +/obj/machinery/vending/snack{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/outpost/mining_main/break_room) "bW" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, @@ -939,22 +979,6 @@ }, /turf/simulated/floor/tiled, /area/outpost/mining_main/break_room) -"kB" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 10 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 10 - }, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 8 - }, -/obj/effect/floor_decal/corner/brown/bordercorner2{ - dir = 8 - }, -/obj/machinery/vending/cola, -/turf/simulated/floor/tiled, -/area/outpost/mining_main/break_room) "qx" = ( /obj/machinery/mech_recharger, /turf/simulated/floor/tiled/steel_dirty/virgo3b, @@ -1059,6 +1083,15 @@ }, /turf/simulated/floor/bluegrid, /area/outpost/mining_main/airlock) +"Ck" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/mine/explored; + base_turf = /turf/simulated/floor/outdoors/grass/sif/virgo3b; + landmark_tag = "tether_mine_nw"; + name = "Tether Mine (NW)" + }, +/turf/simulated/floor/outdoors/grass/sif/virgo3b, +/area/mine/explored) "Cx" = ( /turf/simulated/mineral/floor/virgo3b{ color = "#AAAAAA" @@ -1082,12 +1115,6 @@ }, /turf/simulated/floor/tiled, /area/outpost/mining_main/maintenance) -"DV" = ( -/obj/effect/floor_decal/borderfloor, -/obj/effect/floor_decal/corner/brown/border, -/obj/machinery/vending/coffee, -/turf/simulated/floor/tiled, -/area/outpost/mining_main/break_room) "DX" = ( /obj/structure/cable/green{ d1 = 4; @@ -1299,22 +1326,6 @@ /obj/machinery/recharger, /turf/simulated/floor/tiled, /area/outpost/mining_main/break_room) -"US" = ( -/obj/effect/floor_decal/borderfloor{ - dir = 6 - }, -/obj/effect/floor_decal/corner/brown/border{ - dir = 6 - }, -/obj/effect/floor_decal/borderfloor/corner2{ - dir = 6 - }, -/obj/effect/floor_decal/corner/brown/bordercorner2{ - dir = 6 - }, -/obj/machinery/vending/snack, -/turf/simulated/floor/tiled, -/area/outpost/mining_main/break_room) "VG" = ( /obj/structure/cable/green{ d1 = 4; @@ -2978,7 +2989,7 @@ aa ab ab ab -ab +Ck ab ab ab @@ -4423,9 +4434,9 @@ ab ab ab ab -ac -ac -ac +ab +ab +ab ab ab ab @@ -4565,10 +4576,10 @@ ab ab ab ab -ac -ac -ac -ac +ab +ab +ab +ab ac ac ac @@ -4707,9 +4718,9 @@ ab ab ab ab -ac -ac -ac +ab +ab +ab ac ac ac @@ -4849,9 +4860,9 @@ ab ab ab ab -ac -ac -ac +ab +ab +ab ac ac ac @@ -4945,7 +4956,7 @@ bv ZV ty Fn -kB +bt az ab aF @@ -4991,9 +5002,9 @@ ab ab ab ab -ac -ac -ac +ab +ab +ab ac ac ac @@ -5087,7 +5098,7 @@ bg Uk Uk by -DV +bM az ab aF @@ -5128,14 +5139,14 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab +ab +ab ac ac ac @@ -5229,7 +5240,7 @@ hW bK bL by -US +bN az ab aF @@ -5270,14 +5281,14 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab +ab +ab ac ac ac @@ -5412,10 +5423,10 @@ ab ab ab ab -ac -ac -ac -ac +ab +ab +ab +ab ac ac ac @@ -5511,9 +5522,9 @@ ab ab ab Px -bt +ae VG -bt +ae Px ab aF @@ -5551,12 +5562,12 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab ac ac ac @@ -5653,9 +5664,9 @@ ab ab ab Px -bt +ae DX -bt +ae Px ab aF @@ -5693,11 +5704,11 @@ ab ab ab ab -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab ac ac ac @@ -5832,14 +5843,14 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab +ab +ab ac ac ac @@ -5974,12 +5985,12 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab ac ac ac @@ -6115,12 +6126,12 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab ac ac ac @@ -6257,12 +6268,12 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab ac ac ac @@ -6399,10 +6410,10 @@ ab ab ab ab -ac -ac -ac -ac +ab +ab +ab +ab ac ac ac @@ -6541,9 +6552,9 @@ ab ab ab ab -ac -ac -ac +ab +ab +ab ac ac ac @@ -6684,8 +6695,8 @@ ab ab ab ab -ac -ac +ab +ab ac ac ac @@ -6826,8 +6837,8 @@ ab ab ab ab -ac -ac +ab +ab ac ac ac @@ -6968,8 +6979,8 @@ ab ab ab ab -ac -ac +ab +ab ac ac ac @@ -18091,16 +18102,16 @@ ab ab ab ab -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -18233,16 +18244,16 @@ ab ab ab ab -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -18375,16 +18386,16 @@ ab ab ab ab -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -18517,16 +18528,16 @@ ab ab ab ab -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -18659,16 +18670,16 @@ ab ab ab ab -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab diff --git a/maps/tether/tether-09-solars.dmm b/maps/tether/tether-09-solars.dmm index 84ca1ea2c3..83a95c5f55 100644 --- a/maps/tether/tether-09-solars.dmm +++ b/maps/tether/tether-09-solars.dmm @@ -6,8 +6,24 @@ /turf/simulated/floor/outdoors/grass/sif/virgo3b, /area/mine/explored) "ac" = ( -/turf/simulated/floor/outdoors/grass/sif/virgo3b, -/area/shuttle/antag_ground/solars) +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ + frequency = 1379; + scrub_id = "sci_outpost_scrubber" + }, +/turf/simulated/floor/plating, +/area/rnd/outpost/airlock) "ad" = ( /turf/simulated/floor/outdoors/dirt/virgo3b, /area/mine/explored) @@ -178,6 +194,17 @@ }, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/tether/outpost/solars_outside) +"at" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ + frequency = 1379; + scrub_id = "sci_outpost_scrubber" + }, +/turf/simulated/floor/plating, +/area/rnd/outpost/airlock) "au" = ( /turf/simulated/wall, /area/tether/outpost/solars_shed) @@ -847,10 +874,18 @@ /turf/simulated/floor/outdoors/dirt/virgo3b, /area/shuttle/tether/crash1) "bO" = ( -/turf/simulated/floor/outdoors/dirt/virgo3b, -/area/syndicate_station/mining{ - base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b - }) +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/camera/network/research_outpost{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ + frequency = 1379; + scrub_id = "sci_outpost_scrubber" + }, +/turf/simulated/floor/plating, +/area/rnd/outpost/airlock) "bP" = ( /obj/structure/symbol/em, /turf/simulated/wall, @@ -1164,22 +1199,12 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/eva) "cC" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "north bump"; - pixel_x = 0; - pixel_y = 28 - }, -/obj/structure/cable/green{ - icon_state = "0-4" - }, /obj/structure/railing{ dir = 4 }, /obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ frequency = 1379; - scrub_id = "sci_outpost_scrubber"; - scrubbing_gas = list("phoron") + scrub_id = "sci_outpost_scrubber" }, /turf/simulated/floor/plating, /area/rnd/outpost/airlock) @@ -1198,14 +1223,15 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/airlock) "cF" = ( -/obj/structure/railing, +/obj/structure/railing{ + dir = 1 + }, /obj/structure/railing{ dir = 8 }, /obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ frequency = 1379; - scrub_id = "sci_outpost_scrubber"; - scrubbing_gas = list("phoron") + scrub_id = "sci_outpost_scrubber" }, /turf/simulated/floor/plating, /area/rnd/outpost/airlock) @@ -1403,19 +1429,13 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/eva) "cZ" = ( -/obj/structure/railing{ - dir = 4 +/obj/machinery/vending/phoronresearch{ + dir = 8; + name = "Toximate 2556"; + products = list(/obj/item/device/transfer_valve = 3, /obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12) }, -/obj/machinery/camera/network/research_outpost{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ - frequency = 1379; - scrub_id = "sci_outpost_scrubber"; - scrubbing_gas = list("phoron") - }, -/turf/simulated/floor/plating, -/area/rnd/outpost/airlock) +/turf/simulated/floor/tiled, +/area/rnd/outpost/testing) "da" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 2; @@ -1619,16 +1639,12 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/eva) "dA" = ( -/obj/structure/railing{ - dir = 4 +/obj/machinery/vending/coffee{ + icon_state = "coffee"; + dir = 8 }, -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ - frequency = 1379; - scrub_id = "sci_outpost_scrubber"; - scrubbing_gas = list("phoron") - }, -/turf/simulated/floor/plating, -/area/rnd/outpost/airlock) +/turf/simulated/floor/tiled, +/area/rnd/outpost/breakroom) "dB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4; @@ -1655,19 +1671,11 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/airlock) "dD" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing{ +/obj/machinery/vending/snack{ dir = 8 }, -/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/phoronlock{ - frequency = 1379; - scrub_id = "sci_outpost_scrubber"; - scrubbing_gas = list("phoron") - }, -/turf/simulated/floor/plating, -/area/rnd/outpost/airlock) +/turf/simulated/floor/tiled, +/area/rnd/outpost/breakroom) "dE" = ( /turf/simulated/wall, /area/maintenance/substation/outpost) @@ -1806,12 +1814,12 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/testing) "dV" = ( -/obj/machinery/vending/phoronresearch{ - name = "Toximate 2556"; - products = list(/obj/item/device/transfer_valve = 3, /obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12) +/obj/machinery/vending/cola{ + icon_state = "Soda_Machine"; + dir = 8 }, /turf/simulated/floor/tiled, -/area/rnd/outpost/testing) +/area/rnd/outpost/breakroom) "dW" = ( /obj/machinery/requests_console/preset/research{ pixel_y = -30 @@ -7966,23 +7974,16 @@ /turf/simulated/floor/tiled, /area/rnd/outpost/breakroom) "oC" = ( -/obj/machinery/vending/coffee, +/obj/machinery/vending/fitness{ + dir = 8; + icon_state = "fitness" + }, /turf/simulated/floor/tiled, /area/rnd/outpost/breakroom) "oD" = ( -/obj/machinery/vending/snack, -/turf/simulated/floor/tiled, -/area/rnd/outpost/breakroom) -"oE" = ( -/obj/machinery/vending/cola, -/turf/simulated/floor/tiled, -/area/rnd/outpost/breakroom) -"oF" = ( -/obj/machinery/vending/fitness, -/turf/simulated/floor/tiled, -/area/rnd/outpost/breakroom) -"oG" = ( -/obj/machinery/vending/cigarette, +/obj/machinery/vending/cigarette{ + dir = 4 + }, /turf/simulated/floor/tiled, /area/rnd/outpost/breakroom) "oH" = ( @@ -8181,6 +8182,24 @@ }, /turf/simulated/floor/tiled, /area/rnd/outpost/breakroom) +"zg" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/mine/explored; + base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b; + landmark_tag = "tether_solars_sw"; + name = "Tether Solar Farm (SW)" + }, +/turf/simulated/floor/outdoors/grass/sif/virgo3b, +/area/mine/explored) +"SO" = ( +/obj/effect/shuttle_landmark{ + base_area = /area/mine/explored; + base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b; + landmark_tag = "tether_solars_ne"; + name = "Tether Solar Farm (NE)" + }, +/turf/simulated/floor/outdoors/grass/sif/virgo3b, +/area/mine/explored) (1,1,1) = {" aa @@ -10612,16 +10631,16 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -10754,16 +10773,16 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -10896,16 +10915,16 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -11038,16 +11057,16 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -11141,7 +11160,7 @@ ab ab ab ab -ab +zg ab ab ab @@ -11180,16 +11199,16 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ab ab ab @@ -20846,18 +20865,18 @@ ad ad ad ad -bO -bO -bO ad -bO -bO -bO -bO ad -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -20987,20 +21006,20 @@ ab ad ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -21128,22 +21147,22 @@ ad ad ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -21270,22 +21289,22 @@ ad ad ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -21412,22 +21431,22 @@ ad ad ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -21553,24 +21572,24 @@ ab ad ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad bp @@ -21694,26 +21713,26 @@ ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -21836,26 +21855,26 @@ ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -21978,26 +21997,26 @@ ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -22120,26 +22139,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -22262,26 +22281,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -22404,26 +22423,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -22546,26 +22565,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -22688,26 +22707,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -22831,24 +22850,24 @@ ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad bp @@ -22974,22 +22993,22 @@ ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -23109,29 +23128,29 @@ ab ab ab ab -ab +SO ab ab ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -23258,22 +23277,22 @@ ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -23344,7 +23363,7 @@ cf cx cU dv -dV +cZ cf eU ft @@ -23399,24 +23418,24 @@ ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad bp @@ -23540,26 +23559,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -23682,26 +23701,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -23824,26 +23843,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -23966,26 +23985,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -24108,26 +24127,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -24191,9 +24210,9 @@ ad bj bX ch +ac +bO cC -cZ -dA dZ ex ft @@ -24250,26 +24269,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bp bj @@ -24392,26 +24411,26 @@ ab ab ab ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad bt bI @@ -24534,26 +24553,26 @@ ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -24617,9 +24636,9 @@ ad bV bZ ch -cF +at dc -dD +cF ch lS oc @@ -24644,7 +24663,7 @@ oI mm nf ni -oG +oD oP oX eE @@ -24676,26 +24695,26 @@ ab ab ad ad -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -24819,24 +24838,24 @@ ab ad ad ad -bO -bO -bO -bO -bO -bO -bO ad ad ad ad -bO -bO -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -24962,22 +24981,22 @@ ad ad ad ad -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad ad ad ab ad ad ad -bO -bO -bO -bO -bO +ad +ad +ad +ad +ad ad ad ad @@ -25066,10 +25085,10 @@ kB lh lx ks +dA +dD +dV oC -oD -oE -oF oM pb pc @@ -25105,9 +25124,9 @@ ad ad ad ad -bO -bO -bO +ad +ad +ad ad ad ab @@ -25116,9 +25135,9 @@ ab ab ab ad -bO -bO -bO +ad +ad +ad ad ad ad diff --git a/maps/tether/tether.dm b/maps/tether/tether.dm index aa79d8ea38..4660e3d1ae 100644 --- a/maps/tether/tether.dm +++ b/maps/tether/tether.dm @@ -5,21 +5,21 @@ #include "tether_things.dm" #include "tether_phoronlock.dm" #include "tether_areas.dm" - #include "tether_areas2.dm" #include "tether_shuttle_defs.dm" #include "tether_shuttles.dm" #include "tether_telecomms.dm" - - #include "tether-01-surface1.dmm" - #include "tether-02-surface2.dmm" - #include "tether-03-surface3.dmm" - #include "tether-04-transit.dmm" - #include "tether-05-station1.dmm" - #include "tether-06-station2.dmm" - #include "tether-07-station3.dmm" - #include "tether-08-mining.dmm" - #include "tether-09-solars.dmm" - #include "tether-10-colony.dmm" + + #if !AWAY_MISSION_TEST //Don't include these for just testing away missions + #include "tether-01-surface1.dmm" + #include "tether-02-surface2.dmm" + #include "tether-03-surface3.dmm" + #include "tether-04-transit.dmm" + #include "tether-05-station1.dmm" + #include "tether-06-station2.dmm" + #include "tether-07-station3.dmm" + #include "tether-08-mining.dmm" + #include "tether-09-solars.dmm" + #endif #include "submaps/_tether_submaps.dm" diff --git a/maps/tether/tether_areas.dm b/maps/tether/tether_areas.dm index 648f11d584..331cc3b7a6 100644 --- a/maps/tether/tether_areas.dm +++ b/maps/tether/tether_areas.dm @@ -97,4 +97,1187 @@ /area/vacant/vacant_office name = "\improper Vacant Office" - icon_state = "vacant_site" \ No newline at end of file + icon_state = "vacant_site" + +/area/centcom/simulated + dynamic_lighting = 1 + +/area/centcom/simulated/terminal + name = "\improper Docking Terminal" + icon_state = "centcom_dock" + ambience = AMBIENCE_ARRIVALS + +/area/centcom/simulated/medical + name = "\improper CentCom Medical" + icon_state = "centcom_medical" + +/area/centcom/simulated/restaurant + name = "\improper CentCom Restaurant" + icon_state = "centcom_crew" + +/area/centcom/simulated/bathroom + name = "\improper CentCom Bathroom" + icon_state = "centcom_crew" + +/area/centcom/simulated/living + name = "\improper CentCom Living Quarters" + +/area/centcom/simulated/main_hall + name = "\improper Main Hallway" + icon_state = "centcom_hallway1" + +/area/centcom/simulated/evac + name = "\improper CentCom Emergency Shuttle" + +/area/centcom/simulated/bar + name = "\improper CentCom Bar" + icon_state = "centcom_crew" + +/area/centcom/simulated/security + name = "\improper CentCom Security" + icon_state = "centcom_security" + + +// +// Surface Base Z Levels +// + +/area/tether/surfacebase + icon = 'icons/turf/areas_vr.dmi' + + +/area/tether/surfacebase/outside + name = "Outside - Surface" + sound_env = MOUNTAINS +/area/tether/surfacebase/outside/outside1 + icon_state = "outside1" +/area/tether/surfacebase/outside/outside2 + icon_state = "outside2" +/area/tether/surfacebase/outside/outside3 + icon_state = "outside3" + +/area/tether/surfacebase/outside/empty + name = "Outside - Empty Area" + +/area/tether/surfacebase/outside/wilderness + name = "Outside - Wilderness" + icon_state = "invi" + forced_ambience = list('sound/music/Sacred_Grove.ogg') + +/area/tether/surfacebase/temple + name = "Outside - Wilderness" // ToDo: Make a way to hide spoiler areas off the list of areas ghosts can jump to. + icon_state = "red" + +/area/tether/surfacebase/crash + name = "Outside - Wilderness" // ToDo: Make a way to hide spoiler areas off the list of areas ghosts can jump to. + icon_state = "yellow" + +/area/tether/surfacebase/tram + name = "\improper Tram Station" + icon_state = "dk_yellow" + +/area/tether/surfacebase/surface_one_hall + name = "\improper First Floor Hallway" + icon_state = "dk_yellow" +/area/tether/surfacebase/surface_two_hall + name = "\improper Second Floor Hallway" + icon_state = "dk_yellow" +/area/tether/surfacebase/surface_three_hall + name = "\improper Third Floor Hallway" + icon_state = "dk_yellow" + +/area/tether/surfacebase/north_stairs_one + name = "\improper North Stairwell First Floor" + icon_state = "dk_yellow" +/area/tether/surfacebase/north_staires_two + name = "\improper North Stairwell Second Floor" + icon_state = "dk_yellow" +/area/tether/surfacebase/north_stairs_three + name = "\improper North Stairwell Third Floor" + icon_state = "dk_yellow" + +/area/tether/surfacebase/public_garden_one + name = "\improper Public Garden First Floor" + icon_state = "green" +/area/tether/surfacebase/public_garden_two + name = "\improper Public Garden Second Floor" + icon_state = "green" +/area/tether/surfacebase/public_garden_three + name = "\improper Public Garden Third Floor" + icon_state = "green" +/area/tether/surfacebase/public_garden + name = "\improper Public Garden" + icon_state = "purple" +/area/tether/surfacebase/fish_farm + name = "\improper Fish Farm" + icon_state = "red" +/area/tether/surfacebase/bar_backroom + name = "\improper Bar Backroom" + icon_state = "red" + sound_env = SMALL_SOFTFLOOR + +/area/tether/surfacebase/public_garden_lg + name = "\improper Public Garden Looking Glass" + icon_state = "green" + +// /area/tether/surfacebase/east_stairs_one //This is just part of a lower hallway + +/area/tether/surfacebase/east_stairs_two + name = "\improper East Stairwell Second Floor" + icon_state = "dk_yellow" +/area/vacant/vacant_site/east + name = "\improper East Base Vacant Site" + flags = null +/area/vacant/vacant_library + name = "\improper Atrium Construction Site" +/area/vacant/vacant_bar + name = "\improper Vacant Bar" +/area/vacant/vacant_bar_upper + name = "\improper Upper Vacant Bar" +/area/vacant/vacant_site/gateway + name = "\improper Vacant Prep Area" +/area/vacant/vacant_site/gateway/lower + name = "\improper Lower Vacant Prep Area" + +// /area/tether/surfacebase/east_stairs_three //This is just part of an upper hallway + +/area/tether/surfacebase/emergency_storage + icon_state = "emergencystorage" +/area/tether/surfacebase/emergency_storage/panic_shelter + name = "\improper Panic Shelter Emergency Storage" +/area/tether/surfacebase/emergency_storage/rnd + name = "\improper RnD Emergency Storage" +/area/tether/surfacebase/emergency_storage/atmos + name = "\improper Atmospherics Emergency Storage" +/area/tether/surfacebase/emergency_storage/atrium + name = "\improper Atrium Emergency Storage" + +// Main mining area +/area/tether/surfacebase/mining_main + icon_state = "outpost_mine_main" +/area/tether/surfacebase/mining_main/airlock + name = "\improper Mining Airlock" +/area/tether/surfacebase/mining_main/storage + name = "\improper Mining Gear Storage" +/area/tether/surfacebase/mining_main/uxstorage + name = "\improper Mining Secondary Storage" +/area/tether/surfacebase/mining_main/ore + name = "\improper Mining Ore Storage" +/area/tether/surfacebase/mining_main/eva + name = "\improper Mining EVA" +/area/tether/surfacebase/mining_main/break_room + name = "\improper Mining Crew Area" +/area/tether/surfacebase/mining_main/refinery + name = "\improper Mining Refinery" +/area/tether/surfacebase/mining_main/external + name = "\improper Mining Refinery" +/area/tether/surfacebase/mining_main/bathroom + name = "\improper Mining Bathroom" +/area/tether/surfacebase/mining_main/lobby + name = "\improper Mining Lobby" +/area/tether/surfacebase/mining_main/surfacecargo + name = "\improper Surface Cargo Office" + lightswitch = 0 + +// Mining Underdark +/area/mine/unexplored/underdark + name = "\improper Mining Underdark" + base_turf = /turf/simulated/mineral/floor/virgo3b +/area/mine/explored/underdark + name = "\improper Mining Underdark" + base_turf = /turf/simulated/mineral/floor/virgo3b + +// Mining outpost areas +/area/outpost/mining_main/passage + name = "\improper Mining Outpost Passage" + +// Solars map areas +/area/tether/outpost/solars_outside + name = "\improper Solar Farm" +/area/tether/outpost/solars_shed + name = "\improper Solar Farm Shed" + +// Exploration area - Plains +/area/tether/outpost/exploration_plains + name = "\improper Plains Exploration Zone" + icon_state = "green" +/area/tether/outpost/exploration_shed + name = "\improper Plains Entrance Shed" + +/area/maintenance/substation/medsec + name = "\improper MedSec Substation" +/area/maintenance/substation/mining + name = "\improper Mining Substation" +/area/maintenance/substation/bar + name = "\improper Bar Substation" +/area/maintenance/substation/surface_atmos + name = "\improper Surface Atmos Substation" +/area/maintenance/substation/civ_west + name = "\improper Civilian West Substation" +/area/maintenance/substation/exploration + name = "\improper Exploration Substation" +/area/maintenance/tether_midpoint + name = "\improper Tether Midpoint Maint" +/area/maintenance/commandmaint + name = "\improper Command Maintenance" + +/area/tether/surfacebase/medical + icon_state = "medical" +/area/tether/surfacebase/medical/lobby + name = "\improper Surface Medical Lobby" +/area/tether/surfacebase/medical/triage + name = "\improper Surface Triage" +/area/tether/surfacebase/medical/first_aid_west + name = "\improper First Aid West" +/area/tether/surfacebase/medical/chemistry + name = "\improper Surface Chemistry" + lightswitch = 0 +/area/tether/surfacebase/medical/resleeving + name = "\improper Surface Resleeving" + lightswitch = 0 +/area/tether/surfacebase/medical/surgery + name = "\improper Surface Surgery" + lightswitch = 0 +/area/tether/surfacebase/medical/patient_a + name = "\improper Surface Patient Room A" + lightswitch = 0 +/area/tether/surfacebase/medical/patient_b + name = "\improper Surface Patient Room B" + lightswitch = 0 +/area/tether/surfacebase/medical/lowerhall + name = "\improper Surface Medical Lower Hall" +/area/tether/surfacebase/medical/storage + name = "\improper Surface Medical Storage" + lightswitch = 0 +/area/tether/surfacebase/medical/paramed + name = "\improper Surface Paramedic Closet" + lightswitch = 0 +/area/tether/surfacebase/medical/breakroom + name = "\improper Surface Medical Break Room" + lightswitch = 0 +/area/tether/surfacebase/medical/maints + name = "\improper Mining Upper Maintenance" + +/area/tether/surfacebase/library/study + name = "\improper Library Private Study" + lightswitch = 0 + icon_state = "library" + +/area/tether/surfacebase/security + icon_state = "security" +/area/tether/surfacebase/security/breakroom + name = "\improper Surface Security Break Room" + lightswitch = 0 + sound_env = MEDIUM_SOFTFLOOR +/area/tether/surfacebase/security/lobby + name = "\improper Surface Security Lobby" +/area/tether/surfacebase/security/common + name = "\improper Surface Security Room" +/area/tether/surfacebase/security/armory + name = "\improper Surface Equipment Storage" + lightswitch = 0 +/area/tether/surfacebase/security/checkpoint + name = "\improper Surface Checkpoint Office" +/area/tether/surfacebase/security/hallway + name = "\improper Surface Checkpoint Hallway" +/area/tether/surfacebase/security/warden + name = "\improper Surface Security Warden's Office" + lightswitch = 0 +/area/tether/surfacebase/security/lowerhallway + name = "\improper Surface Security Lower Hallway" +/area/tether/surfacebase/security/evidence + name = "\improper Surface Security Evidence Storage" + lightswitch = 0 +/area/tether/surfacebase/security/brig + name = "\improper Surface Security Brig" + lightswitch = 0 +/area/tether/surfacebase/security/solitary + name = "\improper Surface Security Solitary Confinement" + lightswitch = 0 + sound_env =PADDED_CELL +/area/tether/surfacebase/security/gasstorage + name = "\improper Surface Security Gas Storage" + lightswitch = 0 +/area/tether/surfacebase/security/interrogation + name = "\improper Surface Security Interrogation" + lightswitch = 0 + sound_env = SMALL_ENCLOSED +/area/tether/surfacebase/security/processing + name = "\improper Surface Security Processing" + lightswitch = 0 +/area/tether/surfacebase/security/lobby + name = "\improper Surface Security Lobby" +/area/tether/surfacebase/security/frontdesk + name = "\improper Surface Security Front Desk" + lightswitch = 0 +/area/tether/surfacebase/security/upperhall + name = "\improper Surface Security Upper Hallway" +/area/maintenance/lower/security + name = "\improper Surface Security Maintenance" + +/area/engineering/atmos/processing + name = "Atmospherics Processing" + icon_state = "atmos" + sound_env = LARGE_ENCLOSED + +/area/engineering/atmos/gas_storage + name = "Atmospherics Gas Storage" + icon_state = "atmos" + +//TFF 11/12/19 - Minor refactor, makes mice spawn only in Atmos. +/area/engineering/atmos_intake + name = "\improper Atmospherics Intake" + icon_state = "atmos" + sound_env = MOUNTAINS + +/area/engineering/atmos/hallway + name = "\improper Atmospherics Main Hallway" +/area/engineering/lower/lobby + name = "\improper Enginering Surface Lobby" +/area/engineering/lower/breakroom + name = "\improper Enginering Surface Break Room" +/area/engineering/lower/corridor + name = "\improper Tether Lower Service Corridor" +/area/engineering/lower/atmos_lockers + name = "\improper Engineering Atmos Locker Room" +/area/engineering/lower/atmos_eva + name = "\improper Engineering Atmos EVA" + +/area/gateway/prep_room + name = "\improper Gateway Prep Room" +/area/crew_quarters/locker/laundry_arrival + name = "\improper Arrivals Laundry" + +/area/maintenance/lower + icon_state = "fsmaint" + +/area/maintenance/lower/xenoflora + name = "\improper Xenoflora Maintenance" +/area/maintenance/lower/research + name = "\improper Research Maintenance" +/area/maintenance/lower/atmos + name = "\improper Atmospherics Maintenance" +/area/maintenance/lower/locker_room + name = "\improper Locker Room Maintenance" +/area/maintenance/lower/vacant_site + name = "\improper Vacant Site Maintenance" +/area/maintenance/lower/atrium + name = "\improper Atrium Maintenance" +/area/maintenance/lower/rnd + name = "\improper RnD Maintenance" +/area/maintenance/lower/north + name = "\improper North Maintenance" +/area/maintenance/lower/bar + name = "\improper Bar Maintenance" +/area/maintenance/lower/mining + name = "\improper Mining Maintenance" +/area/maintenance/lower/south + name = "\improper South Maintenance" +/area/maintenance/lower/trash_pit + name = "\improper Trash Pit" +/area/maintenance/lower/solars + name = "\improper Solars Maintenance" +/area/maintenance/lower/mining_eva + name = "\improper Mining EVA Maintenance" +/area/maintenance/lower/public_garden_maintenence + name = "\improper Public Garden Maintenence" +/area/maintenance/lower/public_garden_maintenence/upper + name = "\improper Upper Public Garden Maintenence" +/area/maintenance/lower/medsec_maintenance + name = "\improper Surface MedSec Maintenance" + +// Research +/area/rnd/xenobiology/xenoflora/lab_atmos + name = "\improper Xenoflora Atmospherics Lab" +/area/rnd/breakroom + name = "\improper Research Break Room" + icon_state = "research" +/area/rnd/reception_desk + name = "\improper Research Reception Desk" + icon_state = "research" +/area/rnd/lockers + name = "\improper Research Locker Room" + icon_state = "research" +/area/rnd/external + name = "\improper Research External Access" + icon_state = "research" +/area/rnd/hallway + name = "\improper Research Lower Hallway" + icon_state = "research" +/area/rnd/xenoarch_storage + name = "\improper Xenoarch Storage" + icon_state = "research" +/area/rnd/chemistry_lab + name = "\improper Research Chemistry Lab" + icon_state = "research" +/area/rnd/miscellaneous_lab + name = "\improper Research Miscellaneous Lab" + icon_state = "research" +/area/rnd/staircase/secondfloor + name = "\improper Research Staircase Second Floor" + icon_state = "research" +/area/rnd/staircase/thirdfloor + name = "\improper Research Staircase Third Floor" + icon_state = "research" +/area/rnd/breakroom/bathroom + name = "\improper Research Bathroom" + icon_state = "research" + +//TFF 28/8/19 - cleanup of areas placement +/area/rnd/research/testingrange + name = "\improper Weapons Testing Range" + icon_state = "firingrange" + +/area/rnd/research/researchdivision + name = "\improper Research Division" + icon_state = "research" + + +//Outpost areas +//TFF 28/8/19 - cleanup of areas placement +/area/rnd/outpost + name = "\improper Research Outpost Hallway" + icon_state = "research" + +/area/rnd/outpost/breakroom + name = "\improper Research Outpost Breakroom" + icon_state = "research" + +/area/rnd/outpost/airlock + name = "\improper Research Outpost Airlock" + icon_state = "green" + +/area/rnd/outpost/eva + name = "Research Outpost EVA Storage" + icon_state = "eva" + +/area/rnd/outpost/chamber + name = "\improper Research Outpost Burn Chamber" + icon_state = "engine" + +/area/rnd/outpost/atmos + name = "Research Outpost Atmospherics" + icon_state = "atmos" + +/area/rnd/outpost/storage + name = "\improper Research Outpost Gas Storage" + icon_state = "toxstorage" + +/area/rnd/outpost/mixing + name = "\improper Research Outpost Gas Mixing" + icon_state = "toxmix" + +/area/rnd/outpost/heating + name = "\improper Research Outpost Gas Heating" + icon_state = "toxmix" + +/area/rnd/outpost/testing + name = "\improper Research Outpost Testing" + icon_state = "toxtest" + +/area/maintenance/substation/outpost + name = "Research Outpost Substation" + +/area/rnd/outpost/anomaly_lab + name = "\improper Research Outpost Anomaly Lab" + icon_state = "research" +/area/rnd/outpost/anomaly_lab/analysis + name = "\improper Anomaly Lab Analysis Chamber" + icon_state = "research" +/area/rnd/outpost/anomaly_lab/testing + name = "\improper Anomaly Lab Testing Chamber" + icon_state = "research" +/area/rnd/outpost/anomaly_lab/airlock + name = "\improper Anomaly Lab Testing Chamber Airlock" + icon_state = "research" +/area/rnd/outpost/anomaly_lab/storage + name = "\improper Anomaly Storage" + icon_state = "research" +/area/rnd/outpost/xenoarch_storage + name = "\improper Research Outpost Xenoarch Storage" + icon_state = "research" + + +// Xenobiology Outpost Areas +/area/rnd/outpost/xenobiology/outpost_north_airlock + name = "\improper Xenbiology Northern Airlock" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_south_airlock + name = "\improper Xenbiology Southern Airlock" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_hallway + name = "\improper Xenbiology Access Corridor" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_breakroom + name = "\improper Xenbiology Breakroom" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_office + name = "\improper Xenbiology Main Office" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_autopsy + name = "\improper Xenbiology Alien Autopsy Room" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_decon + name = "\improper Xenbiology Decontamination and Showers" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_first_aid + name = "\improper Xenbiology First Aid" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_slimepens + name = "\improper Xenbiology Slime and Xenos Containment" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_main + name = "\improper Xenbiology Main Outpost" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_storage + name = "\improper Xenbiology Equipment Storage" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_stairs + name = "\improper Xenbiology Stairwell" + icon_state = "research" +/area/rnd/outpost/xenobiology/outpost_substation + name = "\improper Xenbiology SMES Substation" + icon_state = "research" + +// Misc +/area/hallway/lower/third_south + name = "\improper Hallway Third Floor South" + icon_state = "hallC1" +/area/hallway/lower/first_west + name = "\improper Hallway First Floor West" + icon_state = "hallC1" + +/area/storage/surface_eva + icon_state = "storage" + name = "\improper Surface EVA" +/area/storage/surface_eva/external + name = "\improper Surface EVA Access" + +/area/tether/surfacebase/shuttle_pad + name = "\improper Tether Shuttle Pad" +/area/tether/surfacebase/reading_room + name = "\improper Reading Room" +/area/tether/surfacebase/vacant_site + name = "\improper Vacant Site" + flags = null +/area/crew_quarters/freezer + name = "\improper Kitchen Freezer" +/area/crew_quarters/panic_shelter + name = "\improper Panic Shelter" + flags = RAD_SHIELDED //It just makes sense + +/area/tether/station/public_meeting_room + name = "Public Meeting Room" + icon_state = "blue" + sound_env = SMALL_SOFTFLOOR +//TFF 28/8/19 - cleanup of areas placement +/area/chapel/observation + name = "\improper Chapel Observation" + icon_state = "chapel" + +// +// Station Z Levels +// +// Note: Fore is NORTH + +/area/tether/station/stairs_one + name = "\improper Station Stairwell First Floor" + icon_state = "dk_yellow" +/area/tether/station/stairs_two + name = "\improper Station Stairwell Second Floor" + icon_state = "dk_yellow" +/area/tether/station/stairs_three + name = "\improper Station Stairwell Third Floor" + icon_state = "dk_yellow" +/area/tether/station/dock_one + name = "\improper Dock One" + icon_state = "dk_yellow" +/area/tether/station/dock_two + name = "\improper Dock Two" + icon_state = "dk_yellow" + +/area/maintenance/station/abandonedholodeck + name = "\improper Old Holodeck" + icon_state = "dk_yellow" + flags = RAD_SHIELDED + +/area/tether/station/burial + name = "\improper Burial" + icon_state = "chapel_morgue" + +/area/crew_quarters/showers + name = "\improper Unisex Showers" + icon_state = "recreation_area_restroom" + +/area/crew_quarters/sleep/maintDorm1 + name = "\improper Construction Dorm 1" + icon_state = "Sleep" + flags = RAD_SHIELDED + +/area/crew_quarters/sleep/maintDorm2 + name = "\improper Construction Dorm 2" + icon_state = "Sleep" + flags = RAD_SHIELDED + +/area/crew_quarters/sleep/maintDorm3 + name = "\improper Construction Dorm 3" + icon_state = "Sleep" + flags = RAD_SHIELDED + +/area/crew_quarters/sleep/maintDorm4 + name = "\improper Construction Dorm 4" + icon_state = "Sleep" + flags = RAD_SHIELDED + +//TFF 28/8/19 - cleanup of areas placement +/area/crew_quarters/sleep/vistor_room_1 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_2 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_3 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_4 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_5 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_6 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_7 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_8 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_9 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_10 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_11 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/vistor_room_12 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_1 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_2 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_3 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_4 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_5 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_6 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_7 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_8 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_9 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_10 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_1/holo + name = "\improper Dorm 1 Holodeck" + icon_state = "dk_yellow" + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_3/holo + name = "\improper Dorm 3 Holodeck" + icon_state = "dk_yellow" + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_5/holo + name = "\improper Dorm 5 Holodeck" + icon_state = "dk_yellow" + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/Dorm_7/holo + name = "\improper Dorm 7 Holodeck" + icon_state = "dk_yellow" + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/crew_quarters/sleep/spacedorm1 + name = "\improper Visitor Lodging 1" + icon_state = "dk_yellow" + lightswitch = 0 + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/crew_quarters/sleep/spacedorm2 + name = "\improper Visitor Lodging 2" + icon_state = "dk_yellow" + lightswitch = 0 + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/crew_quarters/sleep/spacedorm3 + name = "\improper Visitor Lodging 3" + icon_state = "dk_yellow" + lightswitch = 0 + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/crew_quarters/sleep/spacedorm4 + name = "\improper Visitor Lodging 4" + icon_state = "dk_yellow" + lightswitch = 0 + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/holodeck/holodorm/source_basic + name = "\improper Holodeck Source" + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/holodeck/holodorm/source_desert + name = "\improper Holodeck Source" + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/holodeck/holodorm/source_seating + name = "\improper Holodeck Source" + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/holodeck/holodorm/source_beach + name = "\improper Holodeck Source" + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/holodeck/holodorm/source_garden + name = "\improper Holodeck Source" + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/holodeck/holodorm/source_boxing + name = "\improper Holodeck Source" + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/holodeck/holodorm/source_snow + name = "\improper Holodeck Source" + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/holodeck/holodorm/source_space + name = "\improper Holodeck Source" + flags = RAD_SHIELDED | BLUE_SHIELDED +/area/holodeck/holodorm/source_off + name = "\improper Holodeck Source" + flags = RAD_SHIELDED | BLUE_SHIELDED + +/area/ai_core_foyer + name = "\improper AI Core Access" + +/area/medical/virologyisolation + name = "\improper Virology Isolation" + icon_state = "virology" +/area/medical/recoveryrestroom + name = "\improper Recovery Room Restroom" + icon_state = "virology" + +/area/security/hallway + name = "\improper Security Hallway" + icon_state = "security" +/area/security/hallwayaux + name = "\improper Security Armory Hallway" + icon_state = "security" +/area/security/forensics + name = "\improper Forensics Lab" + icon_state = "security" +/area/security/breakroom + name = "\improper Security Breakroom" + icon_state = "security" +/area/security/brig/visitation + name = "\improper Visitation" + icon_state = "security" +/area/security/brig/bathroom + name = "\improper Brig Bathroom" + icon_state = "security" +/area/security/armory/blue + name = "\improper Armory - Blue" + icon_state = "armory" +/area/security/armory/red + name = "\improper Armory - Red" + icon_state = "red2" +/area/security/observation + name = "\improper Brig Observation" + icon_state = "riot_control" +/area/security/eva + name = "\improper Security EVA" + icon_state = "security_equip_storage" +/area/security/recstorage + name = "\improper Brig Recreation Storage" + icon_state = "brig" + +/area/engineering/atmos/backup + name = "\improper Backup Atmospherics" +/area/engineering/engine_balcony + name = "\improper Engine Room Balcony" +/area/engineering/foyer_mezzenine + name = "\improper Engineering Mezzenine" + +/area/hallway/station + icon_state = "hallC1" +/area/hallway/station/atrium + name = "\improper Main Station Atrium" +/area/hallway/station/port + name = "\improper Main Port Hallway" +/area/hallway/station/starboard + name = "\improper Main Starboard Hallway" +/area/hallway/station/upper + name = "\improper Main Upper Hallway" +/area/hallway/station/docks + name = "\improper Docks Hallway" + +/area/bridge/secondary + name = "\improper Secondary Command Office" + +/area/bridge/secondary/hallway + name = "\improper Secondary Command Hallway" +/area/bridge/secondary/meeting_room + name = "\improper Secondary Command Meeting Room" + lightswitch = 0 +/area/bridge/secondary/teleporter + name = "\improper Secondary Teleporter" + lightswitch = 0 + +/area/tether/station/visitorhallway + name = "\improper Visitor Hallway" + icon_state = "dk_yellow" +/area/tether/station/visitorhallway/office + name = "\improper Visitor Office" + icon_state = "dk_yellow" + lightswitch = 0 +/area/tether/station/visitorhallway/laundry + name = "\improper Space Laundry" + icon_state = "dk_yellow" + lightswitch = 0 +/area/tether/station/visitorhallway/lounge + name = "\improper Visitor Lounge" + icon_state = "dk_yellow" + lightswitch = 0 + +/area/maintenance/station + icon_state = "fsmaint" +/area/maintenance/station/bridge + name = "\improper Bridge Maintenance" +/area/maintenance/station/eng_lower + name = "\improper Engineering Lower Maintenance" +/area/maintenance/station/eng_upper + name = "\improper Engineering Upper Maintenance" +/area/maintenance/station/medbay + name = "\improper Medbay Maintenance" +/area/maintenance/station/cargo + name = "\improper Cargo Maintenance" +/area/maintenance/station/elevator + name = "\improper Elevator Maintenance" +/area/maintenance/station/sec_lower + name = "\improper Security Lower Maintenance" +/area/maintenance/station/sec_upper + name = "\improper Security Upper Maintenance" +/area/maintenance/station/micro + name = "\improper Micro Maintenance" +/area/maintenance/station/virology + name = "\improper Virology Maintenance" +/area/maintenance/station/ai + name = "\improper AI Maintenance" + sound_env = SEWER_PIPE +/area/maintenance/station/exploration + name = "\improper Exploration Maintenance" +/area/maintenance/abandonedlibrary + name = "\improper Abandoned Library" + icon_state = "library" +/area/maintenance/abandonedlibraryconference + name = "\improper Abandoned Library Conference" + icon_state = "library" +/area/maintenance/station/spacecommandmaint + name = "\improper Secondary Command Maintenance" + icon_state = "bridge" + sound_env = SEWER_PIPE +/area/maintenance/substation/spacecommand + name = "\improper Secondary Command Substation" + icon_state = "substation" + +/area/shuttle/tether/crash1 + name = "\improper Crash Site 1" + icon_state = "shuttle2" + base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b +/area/shuttle/tether/crash2 + name = "\improper Crash Site 2" + icon_state = "shuttle2" + base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b + +// Exploration Shuttle stuff // +/area/tether/exploration + name = "\improper Excursion Shuttle Dock" + icon_state = "yellow" + holomap_color = HOLOMAP_AREACOLOR_SCIENCE + +/area/tether/exploration/equipment + name = "\improper Exploration Equipment Storage" + +/area/tether/exploration/crew + name = "\improper Exploration Crew Area" + +/area/tether/exploration/pathfinder_office + name = "\improper Pathfinder's Office" + +/area/tether/exploration/hallway + name = "\improper Exploration Hallway" + +/area/tether/exploration/staircase + name = "\improper Exploration Staircase" + +/area/tether/exploration/showers + name = "\improper Exploration Showers" + +/area/shuttle/excursion + requires_power = 1 + icon_state = "shuttle2" + +/area/shuttle/excursion/general + name = "\improper Excursion Shuttle" + +/area/shuttle/excursion/cockpit + name = "\improper Excursion Shuttle Cockpit" + +/area/shuttle/excursion/cargo + name = "\improper Excursion Shuttle Cargo" + +/area/shuttle/tourbus + requires_power = 1 + icon_state = "shuttle2" + +/area/shuttle/tourbus/general + name = "\improper Tour Bus" + +/area/shuttle/tourbus/cockpit + name = "\improper Tour Bus Cockpit" + +/area/shuttle/tourbus/engines + name = "\improper Tour Bus Engines" + +/area/shuttle/medivac + requires_power = 1 + icon_state = "shuttle2" + +/area/shuttle/medivac/general + name = "\improper Medivac" + +/area/shuttle/medivac/cockpit + name = "\improper Medivac Cockpit" + +/area/shuttle/medivac/engines + name = "\improper Medivac Engines" + +// Belter Dock + +/area/quartermaster/belterdock + name = "\improper Cargo Belter Access" + icon_state = "mining" + +// Elevator area // + +/area/tether/elevator + name = "\improper Tether Elevator" + icon = 'icons/turf/areas_vr.dmi' + icon_state = "elevator" + dynamic_lighting = FALSE + + requires_power = FALSE + +/area/tether/midpoint + name = "\improper Tether Midpoint" + +////////////////////////////////// + +/area/antag/antag_base + name = "\improper Syndicate Outpost" + requires_power = 0 + dynamic_lighting = 0 + +//Merc shuttle +/area/shuttle/mercenary + name = "\improper Mercenary Shuttle" + icon_state = "shuttle2" + +//Vox shuttle +/area/shuttle/skipjack + name = "\improper Skipjack" + icon_state = "shuttle2" + +//Ninja shuttle +/area/shuttle/ninja + name = "\improper Ninjacraft" + icon_state = "shuttle2" + +//TFF 28/8/19 - cleanup of areas placement +/area/teleporter/departing + name = "\improper Long-Range Teleporter" + icon_state = "teleporter" + music = "signal" + +// Override telescience shielding on some areas +/area/security/armoury + flags = BLUE_SHIELDED + +/area/security/tactical + flags = BLUE_SHIELDED + +/area/security/nuke_storage + flags = BLUE_SHIELDED + +/area/supply + flags = BLUE_SHIELDED + +// Add rad shielding to maintenance and construction sites +/area/vacant + flags = RAD_SHIELDED + +/area/maintenance + flags = RAD_SHIELDED + +/area/rnd/research_storage //Located entirely in maint under public access, so why not that too + flags = RAD_SHIELDED + +// New shuttles +/area/shuttle/administration/transit + name = "Deep Space (AS)" + icon_state = "shuttle" + +/area/shuttle/administration/away_mission + name = "Away Mission (AS)" + icon_state = "shuttle" + +/area/shuttle/awaymission/home + name = "NSB Adephagia (AM)" + icon_state = "shuttle2" + +/area/shuttle/awaymission/warp + name = "Deep Space (AM)" + icon_state = "shuttle" + +/area/shuttle/awaymission/away + name = "Away Mission (AM)" + icon_state = "shuttle2" + +/area/shuttle/awaymission/oldengbase + name = "Old Construction Site (AM)" + icon_state = "shuttle2" + +/area/medical/resleeving + name = "Resleeving Lab" + icon_state = "genetics" + +/area/bigship + name = "Bigship" + requires_power = 0 + flags = RAD_SHIELDED + sound_env = SMALL_ENCLOSED + base_turf = /turf/space + icon_state = "red2" + +/area/bigship/teleporter + name = "Bigship Teleporter Room" + +//////// Abductor Areas //////// +/area/unknown + requires_power = 0 + flags = RAD_SHIELDED + icon_state = "red2" + +/area/unknown/dorm1 + name = "Unknown Dorm 1" + +/area/unknown/dorm2 + name = "Unknown Dorm 2" + +/area/unknown/dorm3 + name = "Unknown Dorm 3" + +/area/unknown/dorm4 + name = "Unknown Dorm 4" + +// ERT/Deathsquad Shuttle +/area/shuttle/specialops/centcom + name = "Special Operations Shuttle - Centcom" + icon_state = "shuttlered" + base_turf = /turf/unsimulated/floor/shuttle_ceiling + +/area/shuttle/specialops/tether + name = "Special Operations Shuttle - Tether" + icon_state = "shuttlered" + +/area/shuttle/specialops/transit + name = "transit" + icon_state = "shuttlered" + base_turf = /turf/space/transit/east + +// Tether Map has this shuttle +/area/shuttle/tether + name = "Tether Shuttle" + icon_state = "shuttle2" + +//Skipjack + +/area/skipjack_station + name = "Raider Outpost" + icon_state = "yellow" + requires_power = 0 + dynamic_lighting = 0 + flags = RAD_SHIELDED + ambience = AMBIENCE_HIGHSEC + +/area/skipjack_station/transit + name = "transit" + icon_state = "shuttlered" + base_turf = /turf/space/transit/north + +/area/skipjack_station/orbit + name = "near the Tether" + icon_state = "northwest" + +/area/skipjack_station/arrivals_dock + name = "\improper docked with Tether" + icon_state = "shuttle" + +// Ninja areas +/area/ninja_dojo + name = "\improper Ninja Base" + icon_state = "green" + requires_power = 0 + flags = RAD_SHIELDED + ambience = AMBIENCE_HIGHSEC + +/area/ninja_dojo/dojo + name = "\improper Clan Dojo" + dynamic_lighting = 0 + +/area/ninja_dojo/start + name = "\improper Clan Dojo" + icon_state = "shuttlered" + base_turf = /turf/simulated/floor/plating + +/area/ninja_dojo/orbit + name = "near the Tether" + icon_state = "south" + +/area/ninja_dojo/transit + name = "transit" + icon_state = "shuttlered" + base_turf = /turf/space/transit/north + +/area/ninja_dojo/arrivals_dock + name = "\improper docked with Tether" + icon_state = "shuttle" + dynamic_lighting = 0 + +// Exclude some more areas from the atmos leak event so people don't get trapped when spawning. +/datum/event/atmos_leak/setup() + excluded |= /area/tether/surfacebase/tram + excluded |= /area/tether/surfacebase/surface_one_hall + excluded |= /area/tether/surfacebase/surface_two_hall + excluded |= /area/tether/surfacebase/surface_three_hall + excluded |= /area/teleporter/departing + excluded |= /area/hallway/station/upper + ..() diff --git a/maps/tether/tether_areas2.dm b/maps/tether/tether_areas2.dm deleted file mode 100644 index cbe190a11f..0000000000 --- a/maps/tether/tether_areas2.dm +++ /dev/null @@ -1,1312 +0,0 @@ - -// -// Surface Base Z Levels -// - -/area/tether/surfacebase - icon = 'icons/turf/areas_vr.dmi' - - -/area/tether/surfacebase/outside - name = "Outside - Surface" - sound_env = MOUNTAINS -/area/tether/surfacebase/outside/outside1 - icon_state = "outside1" -/area/tether/surfacebase/outside/outside2 - icon_state = "outside2" -/area/tether/surfacebase/outside/outside3 - icon_state = "outside3" - -/area/tether/surfacebase/outside/empty - name = "Outside - Empty Area" - -/area/tether/surfacebase/outside/wilderness - name = "Outside - Wilderness" - icon_state = "invi" - forced_ambience = list('sound/music/Sacred_Grove.ogg') - -/area/tether/surfacebase/temple - name = "Outside - Wilderness" // ToDo: Make a way to hide spoiler areas off the list of areas ghosts can jump to. - icon_state = "red" - -/area/tether/surfacebase/crash - name = "Outside - Wilderness" // ToDo: Make a way to hide spoiler areas off the list of areas ghosts can jump to. - icon_state = "yellow" - -/area/tether/surfacebase/tram - name = "\improper Tram Station" - icon_state = "dk_yellow" - -/area/tether/surfacebase/surface_one_hall - name = "\improper First Floor Hallway" - icon_state = "dk_yellow" -/area/tether/surfacebase/surface_two_hall - name = "\improper Second Floor Hallway" - icon_state = "dk_yellow" -/area/tether/surfacebase/surface_three_hall - name = "\improper Third Floor Hallway" - icon_state = "dk_yellow" - -/area/tether/surfacebase/north_stairs_one - name = "\improper North Stairwell First Floor" - icon_state = "dk_yellow" -/area/tether/surfacebase/north_staires_two - name = "\improper North Stairwell Second Floor" - icon_state = "dk_yellow" -/area/tether/surfacebase/north_stairs_three - name = "\improper North Stairwell Third Floor" - icon_state = "dk_yellow" - -/area/tether/surfacebase/public_garden_one - name = "\improper Public Garden First Floor" - icon_state = "green" -/area/tether/surfacebase/public_garden_two - name = "\improper Public Garden Second Floor" - icon_state = "green" -/area/tether/surfacebase/public_garden_three - name = "\improper Public Garden Third Floor" - icon_state = "green" -/area/tether/surfacebase/public_garden - name = "\improper Public Garden" - icon_state = "purple" -/area/tether/surfacebase/fish_farm - name = "\improper Fish Farm" - icon_state = "red" -/area/tether/surfacebase/bar_backroom - name = "\improper Bar Backroom" - icon_state = "red" - sound_env = SMALL_SOFTFLOOR - -// /area/tether/surfacebase/east_stairs_one //This is just part of a lower hallway - -/area/tether/surfacebase/east_stairs_two - name = "\improper East Stairwell Second Floor" - icon_state = "dk_yellow" -/area/vacant/vacant_site/east - name = "\improper East Base Vacant Site" - flags = null -/area/vacant/vacant_library - name = "\improper Atrium Construction Site" -/area/vacant/vacant_bar - name = "\improper Vacant Bar" -/area/vacant/vacant_bar_upper - name = "\improper Upper Vacant Bar" -/area/vacant/vacant_site/gateway - name = "\improper Vacant Prep Area" -/area/vacant/vacant_site/gateway/lower - name = "\improper Lower Vacant Prep Area" - -// /area/tether/surfacebase/east_stairs_three //This is just part of an upper hallway - -/area/tether/surfacebase/emergency_storage - icon_state = "emergencystorage" -/area/tether/surfacebase/emergency_storage/panic_shelter - name = "\improper Panic Shelter Emergency Storage" -/area/tether/surfacebase/emergency_storage/rnd - name = "\improper RnD Emergency Storage" -/area/tether/surfacebase/emergency_storage/atmos - name = "\improper Atmospherics Emergency Storage" -/area/tether/surfacebase/emergency_storage/atrium - name = "\improper Atrium Emergency Storage" - -// Main mining area -/area/tether/surfacebase/mining_main - icon_state = "outpost_mine_main" -/area/tether/surfacebase/mining_main/airlock - name = "\improper Mining Airlock" -/area/tether/surfacebase/mining_main/storage - name = "\improper Mining Gear Storage" -/area/tether/surfacebase/mining_main/uxstorage - name = "\improper Mining Secondary Storage" -/area/tether/surfacebase/mining_main/ore - name = "\improper Mining Ore Storage" -/area/tether/surfacebase/mining_main/eva - name = "\improper Mining EVA" -/area/tether/surfacebase/mining_main/break_room - name = "\improper Mining Crew Area" -/area/tether/surfacebase/mining_main/refinery - name = "\improper Mining Refinery" -/area/tether/surfacebase/mining_main/external - name = "\improper Mining Refinery" -/area/tether/surfacebase/mining_main/bathroom - name = "\improper Mining Bathroom" -/area/tether/surfacebase/mining_main/lobby - name = "\improper Mining Lobby" -/area/tether/surfacebase/mining_main/surfacecargo - name = "\improper Surface Cargo Office" - lightswitch = 0 - -// Mining Underdark -/area/mine/unexplored/underdark - name = "\improper Mining Underdark" - base_turf = /turf/simulated/mineral/floor/virgo3b -/area/mine/explored/underdark - name = "\improper Mining Underdark" - base_turf = /turf/simulated/mineral/floor/virgo3b - -// Mining outpost areas -/area/outpost/mining_main/passage - name = "\improper Mining Outpost Passage" - -// Solars map areas -/area/tether/outpost/solars_outside - name = "\improper Solar Farm" -/area/tether/outpost/solars_shed - name = "\improper Solar Farm Shed" - -// Exploration area - Plains -/area/tether/outpost/exploration_plains - name = "\improper Plains Exploration Zone" - icon_state = "green" -/area/tether/outpost/exploration_shed - name = "\improper Plains Entrance Shed" - -/area/maintenance/substation/medsec - name = "\improper MedSec Substation" -/area/maintenance/substation/mining - name = "\improper Mining Substation" -/area/maintenance/substation/bar - name = "\improper Bar Substation" -/area/maintenance/substation/surface_atmos - name = "\improper Surface Atmos Substation" -/area/maintenance/substation/civ_west - name = "\improper Civilian West Substation" -/area/maintenance/substation/exploration - name = "\improper Exploration Substation" -/area/maintenance/tether_midpoint - name = "\improper Tether Midpoint Maint" -/area/maintenance/commandmaint - name = "\improper Command Maintenance" - -/area/tether/surfacebase/medical - icon_state = "medical" -/area/tether/surfacebase/medical/lobby - name = "\improper Surface Medical Lobby" -/area/tether/surfacebase/medical/triage - name = "\improper Surface Triage" -/area/tether/surfacebase/medical/first_aid_west - name = "\improper First Aid West" -/area/tether/surfacebase/medical/chemistry - name = "\improper Surface Chemistry" - lightswitch = 0 -/area/tether/surfacebase/medical/resleeving - name = "\improper Surface Resleeving" - lightswitch = 0 -/area/tether/surfacebase/medical/surgery - name = "\improper Surface Surgery" - lightswitch = 0 -/area/tether/surfacebase/medical/patient_a - name = "\improper Surface Patient Room A" - lightswitch = 0 -/area/tether/surfacebase/medical/patient_b - name = "\improper Surface Patient Room B" - lightswitch = 0 -/area/tether/surfacebase/medical/lowerhall - name = "\improper Surface Medical Lower Hall" -/area/tether/surfacebase/medical/storage - name = "\improper Surface Medical Storage" - lightswitch = 0 -/area/tether/surfacebase/medical/paramed - name = "\improper Surface Paramedic Closet" - lightswitch = 0 -/area/tether/surfacebase/medical/breakroom - name = "\improper Surface Medical Break Room" - lightswitch = 0 -/area/tether/surfacebase/medical/maints - name = "\improper Mining Upper Maintenance" - -/area/tether/surfacebase/library/study - name = "\improper Library Private Study" - lightswitch = 0 - icon_state = "library" - -/area/tether/surfacebase/security - icon_state = "security" -/area/tether/surfacebase/security/breakroom - name = "\improper Surface Security Break Room" - lightswitch = 0 - sound_env = MEDIUM_SOFTFLOOR -/area/tether/surfacebase/security/lobby - name = "\improper Surface Security Lobby" -/area/tether/surfacebase/security/common - name = "\improper Surface Security Room" -/area/tether/surfacebase/security/armory - name = "\improper Surface Equipment Storage" - lightswitch = 0 -/area/tether/surfacebase/security/checkpoint - name = "\improper Surface Checkpoint Office" -/area/tether/surfacebase/security/hallway - name = "\improper Surface Checkpoint Hallway" -/area/tether/surfacebase/security/warden - name = "\improper Surface Security Warden's Office" - lightswitch = 0 -/area/tether/surfacebase/security/lowerhallway - name = "\improper Surface Security Lower Hallway" -/area/tether/surfacebase/security/evidence - name = "\improper Surface Security Evidence Storage" - lightswitch = 0 -/area/tether/surfacebase/security/brig - name = "\improper Surface Security Brig" - lightswitch = 0 -/area/tether/surfacebase/security/solitary - name = "\improper Surface Security Solitary Confinement" - lightswitch = 0 - sound_env =PADDED_CELL -/area/tether/surfacebase/security/gasstorage - name = "\improper Surface Security Gas Storage" - lightswitch = 0 -/area/tether/surfacebase/security/interrogation - name = "\improper Surface Security Interrogation" - lightswitch = 0 - sound_env = SMALL_ENCLOSED -/area/tether/surfacebase/security/processing - name = "\improper Surface Security Processing" - lightswitch = 0 -/area/tether/surfacebase/security/lobby - name = "\improper Surface Security Lobby" -/area/tether/surfacebase/security/frontdesk - name = "\improper Surface Security Front Desk" - lightswitch = 0 -/area/tether/surfacebase/security/upperhall - name = "\improper Surface Security Upper Hallway" -/area/maintenance/lower/security - name = "\improper Surface Security Maintenance" - -/area/engineering/atmos/processing - name = "Atmospherics Processing" - icon_state = "atmos" - sound_env = LARGE_ENCLOSED - -/area/engineering/atmos/gas_storage - name = "Atmospherics Gas Storage" - icon_state = "atmos" - -//TFF 11/12/19 - Minor refactor, makes mice spawn only in Atmos. -/area/engineering/atmos_intake - name = "\improper Atmospherics Intake" - icon_state = "atmos" - sound_env = MOUNTAINS - -/area/engineering/atmos/hallway - name = "\improper Atmospherics Main Hallway" -/area/engineering/lower/lobby - name = "\improper Enginering Surface Lobby" -/area/engineering/lower/breakroom - name = "\improper Enginering Surface Break Room" -/area/engineering/lower/corridor - name = "\improper Tether Lower Service Corridor" -/area/engineering/lower/atmos_lockers - name = "\improper Engineering Atmos Locker Room" -/area/engineering/lower/atmos_eva - name = "\improper Engineering Atmos EVA" - -/area/gateway/prep_room - name = "\improper Gateway Prep Room" -/area/crew_quarters/locker/laundry_arrival - name = "\improper Arrivals Laundry" - -/area/maintenance/lower - icon_state = "fsmaint" - -/area/maintenance/lower/xenoflora - name = "\improper Xenoflora Maintenance" -/area/maintenance/lower/research - name = "\improper Research Maintenance" -/area/maintenance/lower/atmos - name = "\improper Atmospherics Maintenance" -/area/maintenance/lower/locker_room - name = "\improper Locker Room Maintenance" -/area/maintenance/lower/vacant_site - name = "\improper Vacant Site Maintenance" -/area/maintenance/lower/atrium - name = "\improper Atrium Maintenance" -/area/maintenance/lower/rnd - name = "\improper RnD Maintenance" -/area/maintenance/lower/north - name = "\improper North Maintenance" -/area/maintenance/lower/bar - name = "\improper Bar Maintenance" -/area/maintenance/lower/mining - name = "\improper Mining Maintenance" -/area/maintenance/lower/south - name = "\improper South Maintenance" -/area/maintenance/lower/trash_pit - name = "\improper Trash Pit" -/area/maintenance/lower/solars - name = "\improper Solars Maintenance" -/area/maintenance/lower/mining_eva - name = "\improper Mining EVA Maintenance" -/area/maintenance/lower/public_garden_maintenence - name = "\improper Public Garden Maintenence" -/area/maintenance/lower/public_garden_maintenence/upper - name = "\improper Upper Public Garden Maintenence" -/area/maintenance/lower/medsec_maintenance - name = "\improper Surface MedSec Maintenance" - -// Research -/area/rnd/xenobiology/xenoflora/lab_atmos - name = "\improper Xenoflora Atmospherics Lab" -/area/rnd/breakroom - name = "\improper Research Break Room" - icon_state = "research" -/area/rnd/reception_desk - name = "\improper Research Reception Desk" - icon_state = "research" -/area/rnd/lockers - name = "\improper Research Locker Room" - icon_state = "research" -/area/rnd/external - name = "\improper Research External Access" - icon_state = "research" -/area/rnd/hallwayupper - name = "\improper Research Primary Hallway" - icon_state = "research" -/area/rnd/hallway - name = "\improper Research Lower Hallway" - icon_state = "research" -/area/rnd/xenoarch_storage - name = "\improper Xenoarch Storage" - icon_state = "research" -/area/rnd/chemistry_lab - name = "\improper Research Chemistry Lab" - icon_state = "research" -/area/rnd/miscellaneous_lab - name = "\improper Research Miscellaneous Lab" - icon_state = "research" -/area/rnd/staircase/secondfloor - name = "\improper Research Staircase Second Floor" - icon_state = "research" -/area/rnd/staircase/thirdfloor - name = "\improper Research Staircase Third Floor" - icon_state = "research" -/area/rnd/breakroom/bathroom - name = "\improper Research Bathroom" - icon_state = "research" - -//TFF 28/8/19 - cleanup of areas placement -/area/rnd/research/testingrange - name = "\improper Weapons Testing Range" - icon_state = "firingrange" - -/area/rnd/research/researchdivision - name = "\improper Research Division" - icon_state = "research" - - -//Outpost areas -//TFF 28/8/19 - cleanup of areas placement -/area/rnd/outpost - name = "\improper Research Outpost Hallway" - icon_state = "research" - -/area/rnd/outpost/breakroom - name = "\improper Research Outpost Breakroom" - icon_state = "research" - -/area/rnd/outpost/airlock - name = "\improper Research Outpost Airlock" - icon_state = "green" - -/area/rnd/outpost/eva - name = "Research Outpost EVA Storage" - icon_state = "eva" - -/area/rnd/outpost/chamber - name = "\improper Research Outpost Burn Chamber" - icon_state = "engine" - -/area/rnd/outpost/atmos - name = "Research Outpost Atmospherics" - icon_state = "atmos" - -/area/rnd/outpost/storage - name = "\improper Research Outpost Gas Storage" - icon_state = "toxstorage" - -/area/rnd/outpost/mixing - name = "\improper Research Outpost Gas Mixing" - icon_state = "toxmix" - -/area/rnd/outpost/heating - name = "\improper Research Outpost Gas Heating" - icon_state = "toxmix" - -/area/rnd/outpost/testing - name = "\improper Research Outpost Testing" - icon_state = "toxtest" - -/area/maintenance/substation/outpost - name = "Research Outpost Substation" - -/area/rnd/outpost/anomaly_lab - name = "\improper Research Outpost Anomaly Lab" - icon_state = "research" -/area/rnd/outpost/anomaly_lab/analysis - name = "\improper Anomaly Lab Analysis Chamber" - icon_state = "research" -/area/rnd/outpost/anomaly_lab/testing - name = "\improper Anomaly Lab Testing Chamber" - icon_state = "research" -/area/rnd/outpost/anomaly_lab/airlock - name = "\improper Anomaly Lab Testing Chamber Airlock" - icon_state = "research" -/area/rnd/outpost/anomaly_lab/storage - name = "\improper Anomaly Storage" - icon_state = "research" -/area/rnd/outpost/xenoarch_storage - name = "\improper Research Outpost Xenoarch Storage" - icon_state = "research" - - -// Xenobiology Outpost Areas -/area/rnd/outpost/xenobiology/outpost_north_airlock - name = "\improper Xenbiology Northern Airlock" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_south_airlock - name = "\improper Xenbiology Southern Airlock" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_hallway - name = "\improper Xenbiology Access Corridor" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_breakroom - name = "\improper Xenbiology Breakroom" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_office - name = "\improper Xenbiology Main Office" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_autopsy - name = "\improper Xenbiology Alien Autopsy Room" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_decon - name = "\improper Xenbiology Decontamination and Showers" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_first_aid - name = "\improper Xenbiology First Aid" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_slimepens - name = "\improper Xenbiology Slime and Xenos Containment" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_main - name = "\improper Xenbiology Main Outpost" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_storage - name = "\improper Xenbiology Equipment Storage" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_stairs - name = "\improper Xenbiology Stairwell" - icon_state = "research" -/area/rnd/outpost/xenobiology/outpost_substation - name = "\improper Xenbiology SMES Substation" - icon_state = "research" - -// Misc -/area/hallway/lower/third_south - name = "\improper Hallway Third Floor South" - icon_state = "hallC1" -/area/hallway/lower/first_west - name = "\improper Hallway First Floor West" - icon_state = "hallC1" - -/area/storage/surface_eva - icon_state = "storage" - name = "\improper Surface EVA" -/area/storage/surface_eva/external - name = "\improper Surface EVA Access" - -/area/tether/surfacebase/shuttle_pad - name = "\improper Tether Shuttle Pad" -/area/tether/surfacebase/reading_room - name = "\improper Reading Room" -/area/tether/surfacebase/vacant_site - name = "\improper Vacant Site" - flags = null -/area/crew_quarters/freezer - name = "\improper Kitchen Freezer" -/area/crew_quarters/panic_shelter - name = "\improper Panic Shelter" - flags = RAD_SHIELDED //It just makes sense - -/area/tether/station/public_meeting_room - name = "Public Meeting Room" - icon_state = "blue" - sound_env = SMALL_SOFTFLOOR -//TFF 28/8/19 - cleanup of areas placement -/area/chapel/observation - name = "\improper Chapel Observation" - icon_state = "chapel" - -// -// Station Z Levels -// -// Note: Fore is NORTH - -/area/tether/station/stairs_one - name = "\improper Station Stairwell First Floor" - icon_state = "dk_yellow" -/area/tether/station/stairs_two - name = "\improper Station Stairwell Second Floor" - icon_state = "dk_yellow" -/area/tether/station/stairs_three - name = "\improper Station Stairwell Third Floor" - icon_state = "dk_yellow" -/area/tether/station/dock_one - name = "\improper Dock One" - icon_state = "dk_yellow" -/area/tether/station/dock_two - name = "\improper Dock Two" - icon_state = "dk_yellow" - -/area/tether/station/burial - name = "\improper Burial" - icon_state = "chapel_morgue" - -/area/crew_quarters/showers - name = "\improper Unisex Showers" - icon_state = "recreation_area_restroom" - -/area/crew_quarters/sleep/maintDorm1 - name = "\improper Construction Dorm 1" - icon_state = "Sleep" - flags = RAD_SHIELDED - -/area/crew_quarters/sleep/maintDorm2 - name = "\improper Construction Dorm 2" - icon_state = "Sleep" - flags = RAD_SHIELDED - -/area/crew_quarters/sleep/maintDorm3 - name = "\improper Construction Dorm 3" - icon_state = "Sleep" - flags = RAD_SHIELDED - -/area/crew_quarters/sleep/maintDorm4 - name = "\improper Construction Dorm 4" - icon_state = "Sleep" - flags = RAD_SHIELDED - -//TFF 28/8/19 - cleanup of areas placement -/area/crew_quarters/sleep/vistor_room_1 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_2 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_3 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_4 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_5 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_6 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_7 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_8 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_9 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_10 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_11 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/vistor_room_12 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_1 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_2 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_3 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_4 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_5 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_6 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_7 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_8 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_9 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_10 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_1/holo - name = "\improper Dorm 1 Holodeck" - icon_state = "dk_yellow" - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_3/holo - name = "\improper Dorm 3 Holodeck" - icon_state = "dk_yellow" - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_5/holo - name = "\improper Dorm 5 Holodeck" - icon_state = "dk_yellow" - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/Dorm_7/holo - name = "\improper Dorm 7 Holodeck" - icon_state = "dk_yellow" - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/crew_quarters/sleep/spacedorm1 - name = "\improper Visitor Lodging 1" - icon_state = "dk_yellow" - lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/crew_quarters/sleep/spacedorm2 - name = "\improper Visitor Lodging 2" - icon_state = "dk_yellow" - lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/crew_quarters/sleep/spacedorm3 - name = "\improper Visitor Lodging 3" - icon_state = "dk_yellow" - lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/crew_quarters/sleep/spacedorm4 - name = "\improper Visitor Lodging 4" - icon_state = "dk_yellow" - lightswitch = 0 - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/holodeck/holodorm/source_basic - name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/holodeck/holodorm/source_desert - name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/holodeck/holodorm/source_seating - name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/holodeck/holodorm/source_beach - name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/holodeck/holodorm/source_garden - name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/holodeck/holodorm/source_boxing - name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/holodeck/holodorm/source_snow - name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/holodeck/holodorm/source_space - name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED -/area/holodeck/holodorm/source_off - name = "\improper Holodeck Source" - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/ai_core_foyer - name = "\improper AI Core Access" - -/area/medical/virologyisolation - name = "\improper Virology Isolation" - icon_state = "virology" -/area/medical/recoveryrestroom - name = "\improper Recovery Room Restroom" - icon_state = "virology" - -/area/security/hallway - name = "\improper Security Hallway" - icon_state = "security" -/area/security/hallwayaux - name = "\improper Security Armory Hallway" - icon_state = "security" -/area/security/forensics - name = "\improper Forensics Lab" - icon_state = "security" -/area/security/breakroom - name = "\improper Security Breakroom" - icon_state = "security" -/area/security/brig/visitation - name = "\improper Visitation" - icon_state = "security" -/area/security/brig/bathroom - name = "\improper Brig Bathroom" - icon_state = "security" -/area/security/armory/blue - name = "\improper Armory - Blue" - icon_state = "armory" -/area/security/armory/red - name = "\improper Armory - Red" - icon_state = "red2" -/area/security/observation - name = "\improper Brig Observation" - icon_state = "riot_control" -/area/security/eva - name = "\improper Security EVA" - icon_state = "security_equip_storage" -/area/security/recstorage - name = "\improper Brig Recreation Storage" - icon_state = "brig" - -/area/engineering/atmos/backup - name = "\improper Backup Atmospherics" -/area/engineering/engine_balcony - name = "\improper Engine Room Balcony" -/area/engineering/foyer_mezzenine - name = "\improper Engineering Mezzenine" - -/area/hallway/station - icon_state = "hallC1" -/area/hallway/station/atrium - name = "\improper Main Station Atrium" -/area/hallway/station/port - name = "\improper Main Port Hallway" -/area/hallway/station/starboard - name = "\improper Main Starboard Hallway" -/area/hallway/station/upper - name = "\improper Main Upper Hallway" -/area/hallway/station/docks - name = "\improper Docks Hallway" - -/area/bridge/secondary - name = "\improper Secondary Command Office" -/area/bridge/secondary/meeting_room - name = "\improper Secondary Command Meeting Room" - -/area/tether/station/visitorhallway - name = "\improper Visitor Hallway" - icon_state = "dk_yellow" -/area/tether/station/visitorhallway/office - name = "\improper Visitor Office" - icon_state = "dk_yellow" - lightswitch = 0 -/area/tether/station/visitorhallway/laundry - name = "\improper Space Laundry" - icon_state = "dk_yellow" - lightswitch = 0 -/area/tether/station/visitorhallway/lounge - name = "\improper Visitor Lounge" - icon_state = "dk_yellow" - lightswitch = 0 - -/area/maintenance/station - icon_state = "fsmaint" -/area/maintenance/station/bridge - name = "\improper Bridge Maintenance" -/area/maintenance/station/eng_lower - name = "\improper Engineering Lower Maintenance" -/area/maintenance/station/eng_upper - name = "\improper Engineering Upper Maintenance" -/area/maintenance/station/medbay - name = "\improper Medbay Maintenance" -/area/maintenance/station/cargo - name = "\improper Cargo Maintenance" -/area/maintenance/station/elevator - name = "\improper Elevator Maintenance" -/area/maintenance/station/sec_lower - name = "\improper Security Lower Maintenance" -/area/maintenance/station/sec_upper - name = "\improper Security Upper Maintenance" -/area/maintenance/station/micro - name = "\improper Micro Maintenance" -/area/maintenance/station/virology - name = "\improper Virology Maintenance" -/area/maintenance/station/ai - name = "\improper AI Maintenance" - sound_env = SEWER_PIPE -/area/maintenance/station/exploration - name = "\improper Exploration Maintenance" -/area/maintenance/abandonedlibrary - name = "\improper Abandoned Library" - icon_state = "library" -/area/maintenance/abandonedlibraryconference - name = "\improper Abandoned Library Conference" - icon_state = "library" -/area/maintenance/station/spacecommandmaint - name = "\improper Secondary Command Maintenance" - icon_state = "bridge" - sound_env = SEWER_PIPE - -/area/shuttle/tether/crash1 - name = "\improper Crash Site 1" - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b -/area/shuttle/tether/crash2 - name = "\improper Crash Site 2" - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b - -// Exploration Shuttle stuff // -/area/tether/exploration - name = "\improper Excursion Shuttle Dock" - icon_state = "yellow" - holomap_color = HOLOMAP_AREACOLOR_SCIENCE - -/area/tether/exploration/equipment - name = "\improper Exploration Equipment Storage" - -/area/tether/exploration/crew - name = "\improper Exploration Crew Area" - -/area/tether/exploration/pathfinder_office - name = "\improper Pathfinder's Office" - -/area/tether/exploration/hallway - name = "\improper Exploration Hallway" - -/area/tether/exploration/staircase - name = "\improper Exploration Staircase" - -/area/tether/exploration/showers - name = "\improper Exploration Showers" - -/area/shuttle/excursion - name = "\improper Excursion Shuttle" - icon_state = "shuttle2" - base_turf = /turf/space - requires_power = 1 - -/area/shuttle/excursion/tether - name = "\improper Excursion Shuttle - Tether" - base_turf = /turf/simulated/floor/reinforced - -/area/shuttle/excursion/tether_nearby - name = "\improper Excursion Shuttle - Tether Near" - -/area/shuttle/excursion/tether_dockarm - name = "\improper Excursion Shuttle - Tether Arm" - -/area/shuttle/excursion/space - name = "\improper Excursion Shuttle - Space" - -/area/shuttle/excursion/space_moving - name = "\improper Excursion Shuttle - Space Moving" - base_turf = /turf/space/transit/north - -/area/shuttle/excursion/bluespace - name = "\improper Excursion Shuttle - Bluespace" - base_turf = /turf/space/bluespace - -/area/shuttle/excursion/sand_moving - name = "\improper Excursion Shuttle - Sand Transit" - base_turf = /turf/space/sandyscroll - -/area/shuttle/excursion/virgo3b_sky - name = "\improper Excursion Shuttle - Virgo3b Sky" - base_turf = /turf/simulated/sky/virgo3b/south - -// Belter Dock - -/area/quartermaster/belterdock - name = "\improper Cargo Belter Access" - icon_state = "mining" -// Elevator area // - -/area/tether/elevator - name = "\improper Tether Elevator" - icon = 'icons/turf/areas_vr.dmi' - icon_state = "elevator" - dynamic_lighting = FALSE - - requires_power = FALSE - -/area/tether/midpoint - name = "\improper Tether Midpoint" - -////////////////////////////////// - -/area/antag/antag_base - name = "\improper Syndicate Outpost" - requires_power = 0 - dynamic_lighting = 0 - -/area/shuttle/antag_space/base - name = "\improper Syndicate PS - Base" - icon_state = "shuttle2" -/area/shuttle/antag_space/transit - name = "\improper Syndicate PS - Transit" - icon_state = "shuttle2" -/area/shuttle/antag_space/north - name = "\improper Syndicate PS - Nearby" - icon_state = "shuttle2" -/area/shuttle/antag_space/docks - name = "\improper Syndicate PS - Docks" - icon_state = "shuttle2" - -/area/shuttle/antag_ground/base - name = "\improper Syndicate LC - Base" - icon_state = "shuttle2" -/area/shuttle/antag_ground/transit - name = "\improper Syndicate LC - Transit" - icon_state = "shuttle2" -/area/shuttle/antag_ground/solars - name = "\improper Syndicate LC - Solars" - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b -/area/shuttle/antag_ground/mining - name = "\improper Syndicate LC - Mining" - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b - - -//TFF 28/8/19 - cleanup of areas placement -/area/teleporter/departing - name = "\improper Long-Range Teleporter" - icon_state = "teleporter" - music = "signal" - -// Override telescience shielding on some areas -/area/security/armoury - flags = BLUE_SHIELDED - -/area/security/tactical - flags = BLUE_SHIELDED - -/area/security/nuke_storage - flags = BLUE_SHIELDED - -/area/supply - flags = BLUE_SHIELDED - -// Add rad shielding to maintenance and construction sites -/area/vacant - flags = RAD_SHIELDED - -/area/maintenance - flags = RAD_SHIELDED - -/area/rnd/research_storage //Located entirely in maint under public access, so why not that too - flags = RAD_SHIELDED - -// New shuttles -/area/shuttle/administration/transit - name = "Deep Space (AS)" - icon_state = "shuttle" - -/area/shuttle/administration/away_mission - name = "Away Mission (AS)" - icon_state = "shuttle" - -/area/shuttle/awaymission/home - name = "NSB Adephagia (AM)" - icon_state = "shuttle2" - -/area/shuttle/awaymission/warp - name = "Deep Space (AM)" - icon_state = "shuttle" - -/area/shuttle/awaymission/away - name = "Away Mission (AM)" - icon_state = "shuttle2" - -/area/shuttle/awaymission/oldengbase - name = "Old Construction Site (AM)" - icon_state = "shuttle2" - -/area/medical/resleeving - name = "Resleeving Lab" - icon_state = "genetics" - -/area/bigship - name = "Bigship" - requires_power = 0 - flags = RAD_SHIELDED - sound_env = SMALL_ENCLOSED - base_turf = /turf/space - icon_state = "red2" - -/area/bigship/teleporter - name = "Bigship Teleporter Room" - -//////// Mothership areas //////// -/area/mothership - requires_power = 1 - flags = RAD_SHIELDED - base_turf = /turf/space - icon_state = "blue-red2" - -/area/mothership/breakroom - name = "Warship - Breakroom" - -/area/mothership/hydroponics - name = "Warship - Hydroponics" - -/area/mothership/kitchen - name = "Warship - Kitchen" - -/area/mothership/eva - name = "Warship - EVA" - -/area/mothership/bathroom1 - name = "Warship - Bathroom 1" - -/area/mothership/bathroom2 - name = "Warship - Bathroom 2" - -/area/mothership/dorm1 - name = "Warship - Dorm 1" - -/area/mothership/dorm2 - name = "Warship - Dorm 2" - -/area/mothership/dorm3 - name = "Warship - Dorm 3" - -/area/mothership/dorm4 - name = "Warship - Dorm 4" - -/area/mothership/dorm5 - name = "Warship - Dorm 5" - -/area/mothership/dorm6 - name = "Warship - Dorm 6" - -/area/mothership/chemistry - name = "Warship - Chemistry" - -/area/mothership/surgery - name = "Warship - Surgery" - -/area/mothership/vault - name = "Warship - Vault" - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/mothership/teleporter - name = "Warship - Teleporter Room" - -/area/mothership/security - name = "Warship - Security Equipment" - -/area/mothership/treatment - name = "Warship - Treatment Center" - -/area/mothership/medical - name = "Warship - Medical Equipment" - -/area/mothership/resleeving - name = "Warship - Resleeving" - -/area/mothership/morgue - name = "Warship - Morgue" - -/area/mothership/rnd - name = "Warship - Research" - -/area/mothership/robotics - name = "Warship - Robotics" - -/area/mothership/sechallway - name = "Warship - Security Hallway" - -/area/mothership/processing - name = "Warship - Processing" - -/area/mothership/warden - name = "Warship - Warden" - -/area/mothership/armory - name = "Warship - Armory" - flags = RAD_SHIELDED | BLUE_SHIELDED - -/area/mothership/bridge - name = "Warship - Bridge" - -/area/mothership/holodeck - name = "Warship - Holodeck Controls" -/area/mothership/holodeck/holo - name = "Warship - Holodeck" - icon_state = "dk_yellow" - -/area/mothership/cryotube - name = "Warship - Cryo chamber" - -/area/mothership/engineering - name = "Warship - Engineering" - -/area/mothership/hallway - name = "Warship - Main Hallway" - -/area/mothership/telecomms1 - name = "Warship - Telecommunications Main" - -/area/mothership/telecomms2 - name = "Warship - Telecommunications Relay" - -//////// Abductor Areas //////// -/area/unknown - requires_power = 0 - flags = RAD_SHIELDED - icon_state = "red2" - -/area/unknown/dorm1 - name = "Unknown Dorm 1" - -/area/unknown/dorm2 - name = "Unknown Dorm 2" - -/area/unknown/dorm3 - name = "Unknown Dorm 3" - -/area/unknown/dorm4 - name = "Unknown Dorm 4" - -//////// Small Cruiser Areas //////// -/area/houseboat - name = "Small Cruiser" - requires_power = 0 - flags = RAD_SHIELDED - base_turf = /turf/space - icon_state = "red2" - lightswitch = TRUE - -/area/houseboat/holodeck_area - name = "Small Cruiser - Holodeck" - icon_state = "blue2" - -/area/houseboat/holodeck/off - name = "Small Cruiser Holo - Off" - icon_state = "blue2" -/area/houseboat/holodeck/beach - name = "Small Cruiser Holo - Beach" - icon_state = "blue2" -/area/houseboat/holodeck/snow - name = "Small Cruiser Holo - Snow" - icon_state = "blue2" -/area/houseboat/holodeck/desert - name = "Small Cruiser Holo - Desert" - icon_state = "blue2" -/area/houseboat/holodeck/picnic - name = "Small Cruiser Holo - Picnic" - icon_state = "blue2" -/area/houseboat/holodeck/thunderdome - name = "Small Cruiser Holo - Thunderdome" - icon_state = "blue2" -/area/houseboat/holodeck/basketball - name = "Small Cruiser Holo - Basketball" - icon_state = "blue2" -/area/houseboat/holodeck/gaming - name = "Small Cruiser Holo - Gaming Table" - icon_state = "blue2" -/area/houseboat/holodeck/space - name = "Small Cruiser Holo - Space" - icon_state = "blue2" -/area/houseboat/holodeck/bunking - name = "Small Cruiser Holo - Bunking" - icon_state = "blue2" - -/area/shuttle/cruiser/cruiser - name = "Small Cruiser Shuttle - Cruiser" - icon_state = "blue2" - base_turf = /turf/simulated/floor/tiled/techfloor -/area/shuttle/cruiser/station - name = "Small Cruiser Shuttle - Station" - icon_state = "blue2" - -// ERT/Deathsquad Shuttle -/area/shuttle/specialops/centcom - name = "Special Operations Shuttle - Centcom" - icon_state = "shuttlered" - base_turf = /turf/unsimulated/floor/shuttle_ceiling - -/area/shuttle/specialops/tether - name = "Special Operations Shuttle - Tether" - icon_state = "shuttlered" - -/area/shuttle/specialops/transit - name = "transit" - icon_state = "shuttlered" - base_turf = /turf/space/transit/east - -// Tether Map has this shuttle -/area/shuttle/tether/surface - name = "Tether Shuttle Landed" - icon_state = "shuttle" - base_turf = /turf/simulated/floor/reinforced - -/area/shuttle/tether/station - name = "Tether Shuttle Dock" - icon_state = "shuttle2" - -/area/shuttle/tether/transit - name = "Tether Shuttle Transit" - icon_state = "shuttle2" - -//Skipjack - -/area/skipjack_station - name = "Raider Outpost" - icon_state = "yellow" - requires_power = 0 - dynamic_lighting = 0 - flags = RAD_SHIELDED - ambience = AMBIENCE_HIGHSEC - -/area/skipjack_station/transit - name = "transit" - icon_state = "shuttlered" - base_turf = /turf/space/transit/north - -/area/skipjack_station/orbit - name = "near the Tether" - icon_state = "northwest" - -/area/skipjack_station/arrivals_dock - name = "\improper docked with Tether" - icon_state = "shuttle" - -// Ninja areas -/area/ninja_dojo - name = "\improper Ninja Base" - icon_state = "green" - requires_power = 0 - flags = RAD_SHIELDED - ambience = AMBIENCE_HIGHSEC - -/area/ninja_dojo/dojo - name = "\improper Clan Dojo" - dynamic_lighting = 0 - -/area/ninja_dojo/start - name = "\improper Clan Dojo" - icon_state = "shuttlered" - base_turf = /turf/simulated/floor/plating - -/area/ninja_dojo/orbit - name = "near the Tether" - icon_state = "south" - -/area/ninja_dojo/transit - name = "transit" - icon_state = "shuttlered" - base_turf = /turf/space/transit/north - -/area/ninja_dojo/arrivals_dock - name = "\improper docked with Tether" - icon_state = "shuttle" - dynamic_lighting = 0 - -// Exclude some more areas from the atmos leak event so people don't get trapped when spawning. -/datum/event/atmos_leak/setup() - excluded |= /area/tether/surfacebase/tram - excluded |= /area/tether/surfacebase/surface_one_hall - excluded |= /area/tether/surfacebase/surface_two_hall - excluded |= /area/tether/surfacebase/surface_three_hall - excluded |= /area/teleporter/departing - excluded |= /area/hallway/station/upper - ..() \ No newline at end of file diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index 8f3d4d32ef..54b916b765 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -8,22 +8,19 @@ #define Z_LEVEL_SPACE_HIGH 7 #define Z_LEVEL_SURFACE_MINE 8 #define Z_LEVEL_SOLARS 9 -#define Z_LEVEL_CENTCOM 10 -#define Z_LEVEL_MISC 11 -#define Z_LEVEL_SHIPS 12 -#define Z_LEVEL_UNDERDARK 13 -#define Z_LEVEL_PLAINS 14 -#define Z_LEVEL_ROGUEMINE_1 15 -#define Z_LEVEL_ROGUEMINE_2 16 -#define Z_LEVEL_ROGUEMINE_3 17 -#define Z_LEVEL_ROGUEMINE_4 18 -#define Z_LEVEL_ALIENSHIP 19 -#define Z_LEVEL_BEACH 20 -#define Z_LEVEL_BEACH_CAVE 21 -#define Z_LEVEL_AEROSTAT 22 -#define Z_LEVEL_AEROSTAT_SURFACE 23 -#define Z_LEVEL_DEBRISFIELD 24 -#define Z_LEVEL_GATEWAY 25 +#define Z_LEVEL_MISC 10 +#define Z_LEVEL_UNDERDARK 11 +#define Z_LEVEL_PLAINS 12 +#define Z_LEVEL_ROGUEMINE_1 13 +#define Z_LEVEL_ROGUEMINE_2 14 +#define Z_LEVEL_ROGUEMINE_3 15 +#define Z_LEVEL_ROGUEMINE_4 16 +#define Z_LEVEL_BEACH 17 +#define Z_LEVEL_BEACH_CAVE 18 +#define Z_LEVEL_AEROSTAT 19 +#define Z_LEVEL_AEROSTAT_SURFACE 20 +#define Z_LEVEL_DEBRISFIELD 21 +#define Z_LEVEL_GATEWAY 22 //Camera networks #define NETWORK_TETHER "Tether" @@ -37,6 +34,12 @@ full_name = "NSB Adephagia" path = "tether" + use_overmap = TRUE + overmap_z = Z_LEVEL_MISC + overmap_size = 35 + overmap_event_areas = 34 + usable_email_tlds = list("virgo.nt") + zlevel_datum_type = /datum/map_z_level/tether lobby_icon = 'icons/misc/title_vr.dmi' @@ -107,6 +110,8 @@ meteor_strike_areas = list(/area/tether/surfacebase/outside/outside3) + default_skybox = /datum/skybox_settings/tether + unit_test_exempt_areas = list( /area/tether/surfacebase/outside/outside1, /area/tether/elevator, @@ -116,8 +121,8 @@ /area/crew_quarters/sleep/Dorm_3/holo, /area/crew_quarters/sleep/Dorm_5/holo, /area/crew_quarters/sleep/Dorm_7/holo, - /area/rnd/miscellaneous_lab) //TFF 31/8/19 - exempt new construction site from unit tests - //TFF 11/12/19 - Minor refactor, makes mice spawn only in Atmos. + /area/rnd/miscellaneous_lab) + unit_test_exempt_from_atmos = list( /area/engineering/atmos_intake, // Outside, /area/rnd/external, // Outside, @@ -127,17 +132,15 @@ /area/tether/surfacebase/emergency_storage/atrium) lateload_z_levels = list( - list("Tether - Ships","Tether - Underdark","Tether - Plains"), //Stock Tether lateload maps //YW Edit - removed Tether - Misc + list("Tether - Misc","Tether - Underdark","Tether - Plains"), //Stock Tether lateload maps list("Asteroid Belt 1","Asteroid Belt 2","Asteroid Belt 3","Asteroid Belt 4"), - list("Alien Ship - Z1 Ship"), list("Desert Planet - Z1 Beach","Desert Planet - Z2 Cave"), list("Remmi Aerostat - Z1 Aerostat","Remmi Aerostat - Z2 Surface"), list("Debris Field - Z1 Space") ) lateload_single_pick = list( - //list("Snow Outpost"), // Unplayable mapgen, - //list("Zoo"), // Too big. way, way too big + list("Snow Outpost"), list("Carp Farm"), list("Snow Field"), list("Listening Post") @@ -154,14 +157,12 @@ Z_LEVEL_SPACE_HIGH, Z_LEVEL_SURFACE_MINE, Z_LEVEL_SOLARS, - Z_LEVEL_CENTCOM, Z_LEVEL_MISC, - Z_LEVEL_SHIPS, Z_LEVEL_BEACH ) belter_docked_z = list(Z_LEVEL_SPACE_HIGH) - belter_transit_z = list(Z_LEVEL_SHIPS) + belter_transit_z = list(Z_LEVEL_MISC) belter_belt_z = list(Z_LEVEL_ROGUEMINE_1, Z_LEVEL_ROGUEMINE_2, Z_LEVEL_ROGUEMINE_3, @@ -181,6 +182,10 @@ return 1 +/datum/skybox_settings/tether + icon_state = "space5" + use_stars = FALSE + /datum/planet/virgo3b expected_z_levels = list( Z_LEVEL_SURFACE_LOW, @@ -195,7 +200,7 @@ /datum/map/tether/get_map_levels(var/srcz, var/long_range = TRUE) if (long_range && (srcz in map_levels)) return map_levels - else if (srcz == Z_LEVEL_MISC || srcz == Z_LEVEL_SHIPS) //technical levels + else if (srcz == Z_LEVEL_MISC) //technical levels return list() // Nothing on these z-levels- sensors won't show, and GPSes won't see each other. else if (srcz >= Z_LEVEL_SURFACE_LOW && srcz <= Z_LEVEL_SOLARS) //Zs 1-3, 5-9, Z4 will return same list, but is not included into it return list( @@ -206,18 +211,73 @@ Z_LEVEL_SPACE_MID, Z_LEVEL_SPACE_HIGH, Z_LEVEL_SURFACE_MINE, - Z_LEVEL_SOLARS) - else if(srcz >= Z_LEVEL_BEACH && srcz <= Z_LEVEL_BEACH_CAVE) //Zs 16-17 + Z_LEVEL_SOLARS, + Z_LEVEL_PLAINS) + else if(srcz >= Z_LEVEL_BEACH && srcz <= Z_LEVEL_BEACH_CAVE) return list( Z_LEVEL_BEACH, Z_LEVEL_BEACH_CAVE) - else if(srcz >= Z_LEVEL_AEROSTAT && srcz <= Z_LEVEL_AEROSTAT_SURFACE) //Zs 18-19 + else if(srcz >= Z_LEVEL_AEROSTAT && srcz <= Z_LEVEL_AEROSTAT_SURFACE) return list( Z_LEVEL_AEROSTAT, Z_LEVEL_AEROSTAT_SURFACE) else return list(srcz) //prevents runtimes when using CMC. any Z-level not defined above will be 'isolated' and only show to GPSes/CMCs on that same Z (e.g. CentCom). +// Overmap represetation of tether +/obj/effect/overmap/visitable/sector/virgo3b + name = "Virgo 3B" + desc = "Full of phoron, and home to the NSB Adephagia, where you can dock and refuel your craft." + base = 1 + icon_state = "globe" + color = "#d35b5b" + initial_generic_waypoints = list( + "tether_dockarm_d1a1", //Bottom left, + "tether_dockarm_d1a2", //Top left, + "tether_dockarm_d1a3", //Left on inside, + "tether_dockarm_d2a1", //Bottom right, + "tether_dockarm_d2a2", //Top right, + "tether_dockarm_d1l", //End of left arm, + "tether_dockarm_d2l", //End of right arm, + "tether_space_SE", //station1, bottom right of space, + "tether_space_NE", //station1, top right of space, + "tether_space_SW", //station3, bottom left of space, + "tether_excursion_hangar", //Excursion shuttle hangar, + "tether_medivac_dock", //Medical shuttle dock, + "tourbus_dock" //Surface large hangar + ) + //Despite not being in the multi-z complex, these levels are part of the overmap sector + extra_z_levels = list( + Z_LEVEL_SURFACE_MINE, + Z_LEVEL_SOLARS, + Z_LEVEL_PLAINS, + Z_LEVEL_UNDERDARK + ) + +/obj/effect/overmap/visitable/sector/virgo3b/Crossed(var/atom/movable/AM) + . = ..() + announce_atc(AM,going = FALSE) + +/obj/effect/overmap/visitable/sector/virgo3b/Uncrossed(var/atom/movable/AM) + . = ..() + announce_atc(AM,going = TRUE) + +/obj/effect/overmap/visitable/sector/virgo3b/get_space_zlevels() + return list(Z_LEVEL_SPACE_LOW, Z_LEVEL_SPACE_MID, Z_LEVEL_SPACE_HIGH) + +/obj/effect/overmap/visitable/sector/virgo3b/proc/announce_atc(var/atom/movable/AM, var/going = FALSE) + var/message = "Sensor contact for vessel '[AM.name]' has [going ? "left" : "entered"] ATC control area." + //For landables, we need to see if their shuttle is cloaked + if(istype(AM, /obj/effect/overmap/visitable/ship/landable)) + var/obj/effect/overmap/visitable/ship/landable/SL = AM //Phew + var/datum/shuttle/autodock/multi/shuttle = SSshuttles.shuttles[SL.shuttle] + if(!istype(shuttle) || !shuttle.cloaked) //Not a multishuttle (the only kind that can cloak) or not cloaked + atc.msg(message) + + //For ships, it's safe to assume they're big enough to not be sneaky + else if(istype(AM, /obj/effect/overmap/visitable/ship)) + atc.msg(message) + // For making the 6-in-1 holomap, we calculate some offsets #define TETHER_MAP_SIZE 140 // Width and height of compiled in tether z levels. #define TETHER_HOLOMAP_CENTER_GUTTER 40 // 40px central gutter between columns @@ -286,62 +346,11 @@ /datum/map_z_level/tether/mine z = Z_LEVEL_SURFACE_MINE name = "Mining Outpost" - flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER + flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED base_turf = /turf/simulated/floor/outdoors/rocks/virgo3b /datum/map_z_level/tether/solars z = Z_LEVEL_SOLARS name = "Solar Field" - flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER + flags = MAP_LEVEL_STATION|MAP_LEVEL_CONTACT|MAP_LEVEL_PLAYER|MAP_LEVEL_SEALED base_turf = /turf/simulated/floor/outdoors/rocks/virgo3b - -/datum/map_z_level/tether/colony - z = Z_LEVEL_CENTCOM - name = "Colony" - flags = MAP_LEVEL_ADMIN|MAP_LEVEL_CONTACT|MAP_LEVEL_XENOARCH_EXEMPT - -/datum/map_z_level/tether/misc - z = Z_LEVEL_MISC - name = "Misc" - flags = MAP_LEVEL_ADMIN|MAP_LEVEL_XENOARCH_EXEMPT - -/* -/datum/map_z_level/tether/wilderness - name = "Wilderness" - flags = MAP_LEVEL_PLAYER - var/activated = 0 - var/list/frozen_mobs = list() - -/datum/map_z_level/tether/wilderness/proc/activate_mobs() - if(activated && isemptylist(frozen_mobs)) - return - activated = 1 - for(var/mob/living/simple_mob/M in frozen_mobs) - M.life_disabled = 0 - frozen_mobs -= M - frozen_mobs.Cut() - -/datum/map_z_level/tether/wilderness/wild_1 - z = Z_LEVEL_SURFACE_WILDERNESS_1 - -/datum/map_z_level/tether/wilderness/wild_2 - z = Z_LEVEL_SURFACE_WILDERNESS_2 - -/datum/map_z_level/tether/wilderness/wild_3 - z = Z_LEVEL_SURFACE_WILDERNESS_3 - -/datum/map_z_level/tether/wilderness/wild_4 - z = Z_LEVEL_SURFACE_WILDERNESS_4 - -/datum/map_z_level/tether/wilderness/wild_5 - z = Z_LEVEL_SURFACE_WILDERNESS_5 - -/datum/map_z_level/tether/wilderness/wild_6 - z = Z_LEVEL_SURFACE_WILDERNESS_6 - -/datum/map_z_level/tether/wilderness/wild_crash - z = Z_LEVEL_SURFACE_WILDERNESS_CRASH - -/datum/map_z_level/tether/wilderness/wild_ruins - z = Z_LEVEL_SURFACE_WILDERNESS_RUINS -*/ diff --git a/maps/tether/tether_phoronlock.dm b/maps/tether/tether_phoronlock.dm index 32da78702c..cddc6e256c 100644 --- a/maps/tether/tether_phoronlock.dm +++ b/maps/tether/tether_phoronlock.dm @@ -146,12 +146,9 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior ui.set_auto_update(1) /obj/machinery/embedded_controller/radio/airlock/phoron/Topic(href, href_list) - if(..()) + if((. = ..())) return - usr.set_machine(src) - src.add_fingerprint(usr) - var/clean = 0 switch(href_list["command"]) //anti-HTML-hacking checks if("cycle_ext") diff --git a/maps/tether/tether_shuttle_defs.dm b/maps/tether/tether_shuttle_defs.dm index 5c0e383f8c..b98d2e4adb 100644 --- a/maps/tether/tether_shuttle_defs.dm +++ b/maps/tether/tether_shuttle_defs.dm @@ -1,209 +1,202 @@ ////////////////////////////////////////////////////////////// // Escape shuttle and pods -/datum/shuttle/ferry/emergency/escape +/datum/shuttle/autodock/ferry/emergency/escape name = "Escape" - location = 1 // At offsite + location = FERRY_LOCATION_OFFSITE + shuttle_area = /area/shuttle/escape warmup_time = 10 - area_offsite = /area/shuttle/escape/centcom - area_station = /area/shuttle/escape/station - area_transition = /area/shuttle/escape/transit - docking_controller_tag = "escape_shuttle" - dock_target_station = "escape_dock" - dock_target_offsite = "centcom_dock" + landmark_offsite = "escape_cc" + landmark_station = "escape_station" + landmark_transition = "escape_transit" move_time = SHUTTLE_TRANSIT_DURATION_RETURN ////////////////////////////////////////////////////////////// -/datum/shuttle/ferry/escape_pod/large_escape_pod1 +/datum/shuttle/autodock/ferry/escape_pod/large_escape_pod1 name = "Large Escape Pod 1" - location = 0 + location = FERRY_LOCATION_STATION + shuttle_area = /area/shuttle/large_escape_pod1 warmup_time = 0 - area_station = /area/shuttle/large_escape_pod1/station - area_offsite = /area/shuttle/large_escape_pod1/centcom - area_transition = /area/shuttle/large_escape_pod1/transit + landmark_station = "escapepod1_station" + landmark_offsite = "escapepod1_cc" + landmark_transition = "escapepod1_transit" docking_controller_tag = "large_escape_pod_1" - dock_target_station = "large_escape_pod_1_berth" - dock_target_offsite = "large_escape_pod_1_recovery" move_time = SHUTTLE_TRANSIT_DURATION_RETURN -////////////////////////////////////////////////////////////// -/* Removed for the time being -/datum/shuttle/ferry/escape_pod/large_escape_pod2 - name = "Large Escape Pod 2" - location = 0 - warmup_time = 0 - area_station = /area/shuttle/large_escape_pod2/station - area_offsite = /area/shuttle/large_escape_pod2/centcom - area_transition = /area/shuttle/large_escape_pod2/transit - docking_controller_tag = "large_escape_pod_2" - dock_target_station = "large_escape_pod_2_berth" - dock_target_offsite = "large_escape_pod_2_recovery" - move_time = SHUTTLE_TRANSIT_DURATION_RETURN -*/ ////////////////////////////////////////////////////////////// // Supply shuttle -/datum/shuttle/ferry/supply/cargo +/datum/shuttle/autodock/ferry/supply/cargo name = "Supply" - location = 1 + location = FERRY_LOCATION_OFFSITE + shuttle_area = /area/shuttle/supply warmup_time = 10 - area_offsite = /area/supply/dock - area_station = /area/supply/station + landmark_offsite = "supply_cc" + landmark_station = "supply_station" docking_controller_tag = "supply_shuttle" - dock_target_station = "cargo_bay" flags = SHUTTLE_FLAGS_PROCESS|SHUTTLE_FLAGS_SUPPLY ////////////////////////////////////////////////////////////// // Trade Ship -/datum/shuttle/ferry/trade +/datum/shuttle/autodock/multi/trade name = "Trade" - location = 1 - warmup_time = 10 //want some warmup time so people can cancel. - area_offsite = /area/shuttle/trade/centcom - area_station = /area/shuttle/trade/station + current_location = "trade_dock" + shuttle_area = /area/shuttle/trade docking_controller_tag = "trade_shuttle" - dock_target_station = "trade_shuttle_dock_airlock" - dock_target_offsite = "trade_shuttle_bay" - -////////////////////////////////////////////////////////////// -// Away Mission Shuttle -// TODO - Not implemented yet on new map -/* -/datum/shuttle/multi_shuttle/awaymission - name = "AwayMission" - legit = TRUE - warmup_time = 8 - move_time = 60 - origin = /area/shuttle/awaymission/home - interim = /area/shuttle/awaymission/warp - start_location = "NSB Adephagia (AM)" - destinations = list( - "Old Engineering Base (AM)" = /area/shuttle/awaymission/oldengbase + warmup_time = 10 //want some warmup time so people can cancel. + destination_tags = list( + "trade_dock", + "tether_dockarm_d1l", + "aerostat_south", + "beach_e", + "beach_c", + "beach_nw" ) - docking_controller_tag = "awaymission_shuttle" - destination_dock_targets = list( - "NSB Adephagia (AM)" = "d1a2_dock_airlock" - ) - announcer = "Automated Traffic Control" - //These seem backwards because they are written from the perspective of the merc and vox ships - departure_message = "Attention. The away mission vessel is approaching the colony." - arrival_message = "Attention. The away mission vessel is now leaving from the colony." - -/datum/shuttle/multi_shuttle/awaymission/New() - ..() - var/area/awaym_dest = locate(/area/shuttle/awaymission/away) - if(awaym_dest && awaym_dest.contents.len) // Otherwise this is an empty imaginary area - destinations["Unknown Location [rand(1000,9999)]"] = awaym_dest - -*/ + defer_initialisation = TRUE ////////////////////////////////////////////////////////////// // Tether Shuttle -/datum/shuttle/ferry/tether_backup +/datum/shuttle/autodock/ferry/tether_backup name = "Tether Backup" - location = 1 // At offsite + location = FERRY_LOCATION_OFFSITE //Offsite is the surface hangar warmup_time = 5 move_time = 45 - area_offsite = /area/shuttle/tether/surface - area_station = /area/shuttle/tether/station - area_transition = /area/shuttle/tether/transit - crash_areas = list(/area/shuttle/tether/crash1, /area/shuttle/tether/crash2) + landmark_offsite = "tether_backup_low" + landmark_station = "tether_dockarm_d1a3" + landmark_transition = "tether_backup_transit" + shuttle_area = /area/shuttle/tether + //crash_areas = list(/area/shuttle/tether/crash1, /area/shuttle/tether/crash2) docking_controller_tag = "tether_shuttle" - dock_target_station = "tether_dock_airlock" - dock_target_offsite = "tether_pad_airlock" - -////////////////////////////////////////////////////////////// -// Antag Space "Proto Shuttle" Shuttle -/datum/shuttle/multi_shuttle/protoshuttle - name = "Proto" - warmup_time = 8 - move_time = 60 - origin = /area/shuttle/antag_space/base - interim = /area/shuttle/antag_space/transit - start_location = "Home Base" - destinations = list( - "Nearby" = /area/shuttle/antag_space/north, - "Docks" = /area/shuttle/antag_space/docks - ) - docking_controller_tag = "antag_space_shuttle" - destination_dock_targets = list("Home Base" = "antag_space_dock") - -////////////////////////////////////////////////////////////// -// Antag Surface "Land Crawler" Shuttle -/datum/shuttle/multi_shuttle/landcrawler - name = "Land Crawler" - warmup_time = 8 - move_time = 60 - origin = /area/shuttle/antag_ground/base - interim = /area/shuttle/antag_ground/transit - start_location = "Home Base" - destinations = list( - "Solar Array" = /area/shuttle/antag_ground/solars, - "Mining Outpost" = /area/shuttle/antag_ground/mining - ) - docking_controller_tag = "antag_ground_shuttle" - destination_dock_targets = list("Home Base" = "antag_ground_dock") ////////////////////////////////////////////////////////////// // Mercenary Shuttle -/datum/shuttle/multi_shuttle/mercenary +/datum/shuttle/autodock/multi/mercenary name = "Mercenary" warmup_time = 8 move_time = 60 - origin = /area/syndicate_station/start - //interim = /area/syndicate_station/transit // Disabled until this even exists. - start_location = "Mercenary base" - destinations = list( - //"Northwest of the station" = /area/syndicate_station/northwest, - //"North of the station" = /area/syndicate_station/north, - //"Northeast of the station" = /area/syndicate_station/northeast, - //"(Land) Southwest of Tether" = /area/syndicate_station/southwest, - //"South of the station" = /area/syndicate_station/south, - //"Southeast of the station" = /area/syndicate_station/southeast, - //"Telecomms Satellite" = /area/syndicate_station/commssat, - "(Land) Solar farm west of Tether" = /area/syndicate_station/mining, - "Tether spaceport" = /area/syndicate_station/arrivals_dock + current_location = "merc_base" + shuttle_area = /area/shuttle/mercenary + destination_tags = list( + "merc_base", + "aerostat_south", + "beach_e", + "beach_nw", + "tether_solars_ne", + "tether_solars_sw", + "tether_mine_nw", + "tether_space_NE", + "tether_space_SE", + "tether_space_SW", + "tether_dockarm_d2l" //End of right docking arm ) docking_controller_tag = "merc_shuttle" - destination_dock_targets = list( - "Mercenary base" = "merc_base", - "Tether spaceport" = "nuke_shuttle_dock_airlock", - ) announcer = "Automated Traffic Control" - -/datum/shuttle/multi_shuttle/mercenary/New() arrival_message = "Attention. An unregistered vessel is approaching Virgo-3B." departure_message = "Attention. A unregistered vessel is now leaving Virgo-3B." - ..() + defer_initialisation = TRUE + +////////////////////////////////////////////////////////////// +// Ninja Shuttle +/datum/shuttle/autodock/multi/ninja + name = "Ninja" + warmup_time = 8 + move_time = 60 + can_cloak = TRUE + cloaked = TRUE + current_location = "ninja_base" + landmark_transition = "ninja_transit" + shuttle_area = /area/shuttle/ninja + destination_tags = list( + "ninja_base", + "aerostat_northeast", + "beach_e", + "beach_nw", + "tether_solars_ne", + "tether_solars_sw", + "tether_mine_nw", + "tether_space_NE", + "tether_space_SE", + "tether_space_SW", + "tether_dockarm_d1a3" //Inside of left dockarm + ) + docking_controller_tag = "ninja_shuttle" + announcer = "Automated Traffic Control" + arrival_message = "Attention. An unregistered vessel is approaching Virgo-3B." + departure_message = "Attention. A unregistered vessel is now leaving Virgo-3B." + defer_initialisation = TRUE + +////////////////////////////////////////////////////////////// +// Skipjack +/datum/shuttle/autodock/multi/heist + name = "Skipjack" + warmup_time = 8 + move_time = 60 + can_cloak = TRUE + cloaked = TRUE + current_location = "skipjack_base" + landmark_transition = "skipjack_transit" + shuttle_area = /area/shuttle/skipjack + destination_tags = list( + "skipjack_base", + "aerostat_south", + "beach_e", + "beach_nw", + "tether_solars_ne", + "tether_solars_sw", + "tether_mine_nw", + "tether_space_NE", + "tether_space_SE", + "tether_space_SW", + "tether_dockarm_d1l" //End of left dockarm + ) + //docking_controller_tag = ??? doesn't have one? + announcer = "Automated Traffic Control" + arrival_message = "Attention. An unregistered vessel is approaching Virgo-3B." + departure_message = "Attention. A unregistered vessel is now leaving Virgo-3B." + defer_initialisation = TRUE + +////////////////////////////////////////////////////////////// +// ERT Shuttle +/datum/shuttle/autodock/multi/specialops + name = "NDV Phantom" + can_cloak = TRUE + cloaked = FALSE + warmup_time = 8 + move_time = 60 + current_location = "specops_base" + landmark_transition = "specops_transit" + shuttle_area = /area/shuttle/specops/centcom + destination_tags = list( + "specops_base", + "aerostat_south", + "beach_e", + "beach_nw", + "tether_solars_ne", + "tether_solars_sw", + "tether_mine_nw", + "tether_space_NE", + "tether_space_SE", + "tether_space_SW", + "tether_dockarm_d1l" //End of left dockarm + ) + docking_controller_tag = "ert1_control" + announcer = "Automated Traffic Control" + arrival_message = "Attention. An NT support vessel is approaching Virgo-3B." + departure_message = "Attention. A NT support vessel is now leaving Virgo-3B." + defer_initialisation = TRUE ////////////////////////////////////////////////////////////// // RogueMiner "Belter: Shuttle -/datum/shuttle/ferry/belter +/datum/shuttle/autodock/ferry/belter name = "Belter" - location = 0 + location = FERRY_LOCATION_STATION warmup_time = 5 move_time = 30 - area_station = /area/shuttle/belter/station - area_offsite = /area/shuttle/belter/belt/zone1 - area_transition = /area/shuttle/belter/transit + shuttle_area = /area/shuttle/belter + landmark_station = "belter_station" + landmark_offsite = "belter_zone1" + landmark_transition = "belter_transit" docking_controller_tag = "belter_docking" - dock_target_station = "belter_nodocking" //Fake tags to prevent the shuttle from opening doors. - dock_target_offsite = "belter_nodocking" -/datum/shuttle/ferry/belter/New() - move_time = move_time + rand(-5, 5) +/datum/shuttle/autodock/ferry/belter/New() + move_time = move_time + rand(-5 SECONDS, 5 SECONDS) ..() - - -////////////////////////////////////////////////////////////// -// CC Lewdship shuttle -/* -/datum/shuttle/ferry/cruiser_shuttle - name = "Cruiser Shuttle" - location = 1 - warmup_time = 10 //want some warmup time so people can cancel. - area_offsite = /area/shuttle/cruiser/cruiser - area_station = /area/shuttle/cruiser/station - docking_controller_tag = "cruiser_shuttle" - dock_target_station = "d1a1_dock" - dock_target_offsite = "cruiser_shuttle_bay" -*/ \ No newline at end of file diff --git a/maps/tether/tether_shuttles.dm b/maps/tether/tether_shuttles.dm index 1792bd7501..3687ba61bb 100644 --- a/maps/tether/tether_shuttles.dm +++ b/maps/tether/tether_shuttles.dm @@ -7,37 +7,46 @@ shuttle_tag = "Tether Backup" req_one_access = list(access_heads,access_pilot) -/obj/machinery/computer/shuttle_control/multi/tether_antag_ground - name = "land crawler control console" - shuttle_tag = "Land Crawler" +/obj/machinery/computer/shuttle_control/multi/mercenary + name = "vessel control console" + shuttle_tag = "Mercenary" + req_one_access = list(access_syndicate) -/obj/machinery/computer/shuttle_control/multi/tether_antag_space - name = "protoshuttle control console" - shuttle_tag = "Proto" +/obj/machinery/computer/shuttle_control/multi/ninja + name = "vessel control console" + shuttle_tag = "Ninja" + //req_one_access = list() -/obj/machinery/computer/shuttle_control/cruiser_shuttle - name = "cruiser shuttle control console" - shuttle_tag = "Cruiser Shuttle" - req_one_access = list(access_heads) +/obj/machinery/computer/shuttle_control/multi/skipjack + name = "vessel control console" + shuttle_tag = "Skipjack" + //req_one_access = list() + +/obj/machinery/computer/shuttle_control/multi/specops + name = "vessel control console" + shuttle_tag = "NDV Phantom" + req_one_access = list(access_cent_specops) + +/obj/machinery/computer/shuttle_control/multi/trade + name = "vessel control console" + shuttle_tag = "Trade" + req_one_access = list(access_trader) // // "Tram" Emergency Shuttler // Becuase the tram only has its own doors and no corresponding station doors, a docking controller is overkill. // Just open the gosh darn doors! Also we avoid having a physical docking controller obj for gameplay reasons. -/datum/shuttle/ferry/emergency +/datum/shuttle/autodock/ferry/emergency var/tag_door_station = "escape_shuttle_hatch_station" var/tag_door_offsite = "escape_shuttle_hatch_offsite" var/frequency = 1380 // Why this frequency? BECAUSE! Thats what someone decided once. var/datum/radio_frequency/radio_connection -/datum/shuttle/ferry/emergency/init_docking_controllers() - docking_controller_tag = null - dock_target_station = null - dock_target_offsite = null +/datum/shuttle/autodock/ferry/emergency/New() radio_connection = radio_controller.add_object(src, frequency, null) ..() -/datum/shuttle/ferry/emergency/dock() +/datum/shuttle/autodock/ferry/emergency/dock() ..() // Open Doorsunes var/datum/signal/signal = new @@ -45,7 +54,7 @@ signal.data["command"] = "secure_open" post_signal(signal) -/datum/shuttle/ferry/emergency/undock() +/datum/shuttle/autodock/ferry/emergency/undock() ..() // Close Doorsunes var/datum/signal/signal = new @@ -53,7 +62,7 @@ signal.data["command"] = "secure_close" post_signal(signal) -/datum/shuttle/ferry/emergency/proc/post_signal(datum/signal/signal, var/filter = null) +/datum/shuttle/autodock/ferry/emergency/proc/post_signal(datum/signal/signal, var/filter = null) signal.transmission_method = TRANSMISSION_RADIO if(radio_connection) return radio_connection.post_signal(src, signal, filter) @@ -168,293 +177,77 @@ update_icon() return 1 */ + //////////////////////////////////////// //////// Excursion Shuttle ///////////// //////////////////////////////////////// -/obj/machinery/computer/shuttle_control/web/excursion - name = "shuttle control console" - shuttle_tag = "Excursion Shuttle" - req_access = list() - req_one_access = list(access_pilot) - var/wait_time = 45 MINUTES - -/obj/machinery/computer/shuttle_control/web/excursion/ui_interact() - if(world.time < wait_time) - to_chat(usr,"The console is locked while the shuttle refuels. It will be complete in [round((wait_time - world.time)/10/60)] minute\s.") - return FALSE - - . = ..() - -/datum/shuttle/web_shuttle/excursion +// The 'shuttle' of the excursion shuttle +/datum/shuttle/autodock/overmap/excursion name = "Excursion Shuttle" warmup_time = 0 - current_area = /area/shuttle/excursion/tether + current_location = "tether_excursion_hangar" docking_controller_tag = "expshuttle_docker" - web_master_type = /datum/shuttle_web_master/excursion - var/abduct_chance = 0 //Prob + shuttle_area = list(/area/shuttle/excursion/cockpit, /area/shuttle/excursion/general, /area/shuttle/excursion/cargo) + fuel_consumption = 3 -/datum/shuttle/web_shuttle/excursion/long_jump(var/area/departing, var/area/destination, var/area/interim, var/travel_time, var/direction) - if(prob(abduct_chance)) - abduct_chance = 0 - var/list/occupants = list() - for(var/mob/living/L in departing) - occupants += key_name(L) - log_and_message_admins("Shuttle abduction occuring with (only mobs on turfs): [english_list(occupants)]") - //Build the route to the alien ship - var/obj/shuttle_connector/alienship/ASC = new /obj/shuttle_connector/alienship(null) - ASC.setup_routes() +// The 'ship' of the excursion shuttle +/obj/effect/overmap/visitable/ship/landable/excursion + name = "Excursion Shuttle" + desc = "The traditional Excursion Shuttle. NT Approved!" + vessel_mass = 10000 + vessel_size = SHIP_SIZE_SMALL + shuttle = "Excursion Shuttle" - //Redirect us onto that route instead - var/datum/shuttle/web_shuttle/WS = shuttle_controller.shuttles[name] - var/datum/shuttle_destination/ASD = WS.web_master.get_destination_by_type(/datum/shuttle_destination/excursion/alienship) - WS.web_master.future_destination = ASD - . = ..(departing,ASD.my_area,interim,travel_time,direction) - else - . = ..() +/obj/machinery/computer/shuttle_control/explore/excursion + name = "short jump console" + shuttle_tag = "Excursion Shuttle" + req_one_access = list(access_pilot) -/datum/shuttle_web_master/excursion - destination_class = /datum/shuttle_destination/excursion - starting_destination = /datum/shuttle_destination/excursion/tether - -/datum/shuttle_destination/excursion/tether - name = "Yawn Wider Excursion Hangar" - my_area = /area/shuttle/excursion/tether - - dock_target = "expshuttle_dock" - radio_announce = 1 - announcer = "Excursion Shuttle" - - routes_to_make = list( - /datum/shuttle_destination/excursion/outside_tether = 0, - ) - -/datum/shuttle_destination/excursion/tether/get_arrival_message() - return "Attention, [master.my_shuttle.visible_name] has arrived at the Excursion Hangar." - -/datum/shuttle_destination/excursion/tether/get_departure_message() - return "Attention, [master.my_shuttle.visible_name] has departed from the Excursion Hangar." - - -/datum/shuttle_destination/excursion/outside_tether - name = "Nearby Yawn Wider" - my_area = /area/shuttle/excursion/tether_nearby - preferred_interim_area = /area/shuttle/excursion/space_moving - - routes_to_make = list( - //datum/shuttle_destination/excursion/docked_tether = 0, - /datum/shuttle_destination/excursion/virgo3b_orbit = 30 SECONDS - ) - - -/*/datum/shuttle_destination/excursion/docked_tether - name = "Yawn Wider Docking Arm" - my_area = /area/shuttle/excursion/tether_dockarm - - dock_target = "d1a2_dock" - radio_announce = 1 - announcer = "Excursion Shuttle" - -/datum/shuttle_destination/excursion/docked_tether/get_arrival_message() - return "Attention, [master.my_shuttle.visible_name] has arrived at Docking Arm One." - -/datum/shuttle_destination/excursion/docked_tether/get_departure_message() - return "Attention, [master.my_shuttle.visible_name] has departed from Docking Arm One." */ - - -/datum/shuttle_destination/excursion/virgo3b_orbit - name = "Borealis 1 Orbit" - my_area = /area/shuttle/excursion/space - preferred_interim_area = /area/shuttle/excursion/space_moving - - routes_to_make = list( - /datum/shuttle_destination/excursion/virgo3b_sky = 30 SECONDS, - /datum/shuttle_destination/excursion/bluespace = 30 SECONDS - ) - - -/datum/shuttle_destination/excursion/virgo3b_sky - name = "Skies of Virgo 3B" - my_area = /area/shuttle/excursion/virgo3b_sky - -////////// Distant Destinations -/datum/shuttle_destination/excursion/bluespace - name = "Bluespace Jump" - my_area = /area/shuttle/excursion/bluespace - preferred_interim_area = /area/shuttle/excursion/space_moving - -// Heist -/obj/machinery/computer/shuttle_control/web/heist - name = "skipjack control console" - req_access = list(access_syndicate) - shuttle_tag = "Skipjack" - -/datum/shuttle/web_shuttle/heist - name = "Skipjack" +//////////////////////////////////////// +//////// Tour Bus ///////////// +//////////////////////////////////////// +/datum/shuttle/autodock/overmap/tourbus + name = "Tour Bus" warmup_time = 0 - can_cloak = TRUE - cloaked = TRUE - current_area = /area/skipjack_station/start -// docking_controller_tag = "skipjack_shuttle" - web_master_type = /datum/shuttle_web_master/heist + current_location = "tourbus_dock" + docking_controller_tag = "tourbus_docker" + shuttle_area = list(/area/shuttle/tourbus/cockpit, /area/shuttle/tourbus/general, /area/shuttle/tourbus/engines) + fuel_consumption = 1 -/datum/shuttle_web_master/heist - destination_class = /datum/shuttle_destination/heist - starting_destination = /datum/shuttle_destination/heist/root +// The 'ship' of the excursion shuttle +/obj/effect/overmap/visitable/ship/landable/tourbus + name = "Tour Bus" + desc = "A small 'space bus', if you will." + vessel_mass = 2000 + vessel_size = SHIP_SIZE_SMALL + shuttle = "Tour Bus" -/datum/shuttle_destination/heist/root - name = "Raider Outpost" - my_area = /area/skipjack_station/start - preferred_interim_area = /area/skipjack_station/transit +/obj/machinery/computer/shuttle_control/explore/tourbus + name = "short jump console" + shuttle_tag = "Tour Bus" + req_one_access = list(access_pilot) -// dock_target = "skipjack_base" - - routes_to_make = list( - /datum/shuttle_destination/heist/outside_Tether = 1 MINUTE, - // /datum/shuttle_destination/heist/docked_Tether = 1 MINUTE - ) - -/datum/shuttle_destination/heist/outside_Tether - name = "NSB Adephagia - Nearby" - my_area = /area/skipjack_station/orbit - preferred_interim_area = /area/skipjack_station/transit - - routes_to_make = list( - /datum/shuttle_destination/heist/root = 1 MINUTE, - // /datum/shuttle_destination/heist/docked_Tether = 0 - ) - -/* -/datum/shuttle_destination/heist/docked_Tether - name = "NSB Adephagia - Arrivals Docking Port" - my_area = /area/skipjack_station/arrivals_dock - preferred_interim_area = /area/skipjack_station/transit - -// dock_target = "skipjack_shuttle_dock_airlock" - announcer = "NSB Adephagia Docking Computer" - - routes_to_make = list( - /datum/shuttle_destination/heist/root = 1 MINUTE, - /datum/shuttle_destination/heist/outside_Tether = 0 - ) - -/datum/shuttle_destination/heist/docked_SC/get_arrival_message() - return "Attention, [master.my_shuttle.visible_name] has arrived to the Arrivals Dock." - -/datum/shuttle_destination/heist/docked_SC/get_departure_message() - return "Attention, [master.my_shuttle.visible_name] has departed the Arrivals Dock." -*/ - -// Ninja -/obj/machinery/computer/shuttle_control/web/ninja - name = "stealth shuttle control console" - req_access = list(access_syndicate) - shuttle_tag = "Ninja" - -/datum/shuttle/web_shuttle/ninja - name = "Ninja" - visible_name = "Unknown Vessel" +//////////////////////////////////////// +//////// Medivac ///////////// +//////////////////////////////////////// +/datum/shuttle/autodock/overmap/medivac + name = "Medivac Shuttle" warmup_time = 0 - can_cloak = TRUE - cloaked = TRUE - current_area = /area/ninja_dojo/start - docking_controller_tag = "ninja_shuttle" - web_master_type = /datum/shuttle_web_master/ninja + current_location = "tether_medivac_dock" + docking_controller_tag = "medivac_docker" + shuttle_area = list(/area/shuttle/medivac/cockpit, /area/shuttle/medivac/general, /area/shuttle/medivac/engines) + fuel_consumption = 1 -/datum/shuttle_web_master/ninja - destination_class = /datum/shuttle_destination/ninja - starting_destination = /datum/shuttle_destination/ninja/root +// The 'ship' of the excursion shuttle +/obj/effect/overmap/visitable/ship/landable/medivac + name = "Medivac Shuttle" + desc = "A medical evacuation shuttle." + vessel_mass = 3000 + vessel_size = SHIP_SIZE_SMALL + shuttle = "Medivac Shuttle" + fore_dir = EAST -/datum/shuttle_destination/ninja/root - name = "Dojo Outpost" - my_area = /area/ninja_dojo/start - preferred_interim_area = /area/ninja_dojo/transit - - dock_target = "ninja_base" - - routes_to_make = list( - /datum/shuttle_destination/ninja/outside_Tether = 30 SECONDS, - // /datum/shuttle_destination/ninja/docked_Tether = 30 SECONDS - ) - -/datum/shuttle_destination/ninja/outside_Tether - name = "NSB Adephagia - Nearby" - my_area = /area/ninja_dojo/orbit - preferred_interim_area = /area/ninja_dojo/transit - - routes_to_make = list( - /datum/shuttle_destination/ninja/root = 30 SECONDS, - // /datum/shuttle_destination/ninja/docked_Tether = 0 - ) -/* -/datum/shuttle_destination/ninja/docked_Tether - name = "NSB Adephagia - Arrivals Docking Port" - my_area = /area/ninja_dojo/arrivals_dock - preferred_interim_area = /area/ninja_dojo/transit - - dock_target = "ninja_shuttle_dock_airlock" - announcer = "NSB Adephagia Docking Computer" - - routes_to_make = list( - /datum/shuttle_destination/ninja/root = 30 SECONDS, - /datum/shuttle_destination/ninja/outside_Tether = 0 - ) - -/datum/shuttle_destination/syndie/docked_SC/get_arrival_message() - return "Attention, [master.my_shuttle.visible_name] has arrived to the Arrivals Dock." - -/datum/shuttle_destination/syndie/docked_SC/get_departure_message() - return "Attention, [master.my_shuttle.visible_name] has departed the Arrivals Dock." -*/ - -//////////////////////////////////// -//////// Specops Shuttle /////////// -//////////////////////////////////// - -/obj/machinery/computer/shuttle_control/web/specialops - name = "shuttle control console" - shuttle_tag = "Special Operations Shuttle" - req_access = list() - req_one_access = list(access_cent_specops) - -/datum/shuttle/web_shuttle/specialops - name = "Special Operations Shuttle" - visible_name = "NDV Phantom" - current_area = /area/shuttle/specialops/centcom - docking_controller_tag = "specops_shuttle_hatch" - web_master_type = /datum/shuttle_web_master/specialops - can_rename = FALSE - can_cloak = TRUE - cloaked = FALSE - -/datum/shuttle_web_master/specialops - destination_class = /datum/shuttle_destination/specialops - starting_destination = /datum/shuttle_destination/specialops/centcom - -/datum/shuttle_destination/specialops/tether - name = "NSB Adephagia Docking Arm 2" - my_area = /area/shuttle/specialops/tether - preferred_interim_area = /area/shuttle/specialops/transit - - dock_target = "specops_dock" - radio_announce = 1 - announcer = "A.L.I.C.E." - - routes_to_make = list( - /datum/shuttle_destination/specialops/centcom = 15, - ) - -/datum/shuttle_destination/specialops/tether/get_arrival_message() - return "Attention, [master.my_shuttle.visible_name] has arrived at the Docking Arm 2." - -/datum/shuttle_destination/specialops/tether/get_departure_message() - return "Attention, [master.my_shuttle.visible_name] has departed from the Docking Arm 2." - - -/datum/shuttle_destination/specialops/centcom - name = "Central Command" - my_area = /area/shuttle/specialops/centcom - preferred_interim_area = /area/shuttle/specialops/transit - - routes_to_make = list( - /datum/shuttle_destination/specialops/tether = 15 - ) \ No newline at end of file +/obj/machinery/computer/shuttle_control/explore/medivac + name = "short jump console" + shuttle_tag = "Medivac Shuttle" + req_one_access = list(access_pilot) diff --git a/maps/tether/tether_things.dm b/maps/tether/tether_things.dm index caf7f2b351..6d259ad647 100644 --- a/maps/tether/tether_things.dm +++ b/maps/tether/tether_things.dm @@ -24,7 +24,7 @@ music = list('sound/music/elevator.ogg') // Woo elevator music! /obj/machinery/atmospherics/unary/vent_pump/positive - use_power = 1 + use_power = USE_POWER_IDLE icon_state = "map_vent_out" external_pressure_bound = ONE_ATMOSPHERE * 1.1 @@ -322,50 +322,6 @@ var/global/list/latejoin_tram = list() name = "warship holodeck control" projection_area = /area/mothership/holodeck/holo -// Small Ship Holodeck -/obj/machinery/computer/HolodeckControl/houseboat - projection_area = /area/houseboat/holodeck_area - powerdown_program = "Turn Off" - default_program = "Empty Court" - - supported_programs = list( - "Basketball" = new/datum/holodeck_program(/area/houseboat/holodeck/basketball, list('sound/music/THUNDERDOME.ogg')), - "Thunderdome" = new/datum/holodeck_program(/area/houseboat/holodeck/thunderdome, list('sound/music/THUNDERDOME.ogg')), - "Beach" = new/datum/holodeck_program(/area/houseboat/holodeck/beach), - "Desert" = new/datum/holodeck_program(/area/houseboat/holodeck/desert, - list( - 'sound/effects/weather/wind/wind_2_1.ogg', - 'sound/effects/weather/wind/wind_2_2.ogg', - 'sound/effects/weather/wind/wind_3_1.ogg', - 'sound/effects/weather/wind/wind_4_1.ogg', - 'sound/effects/weather/wind/wind_4_2.ogg', - 'sound/effects/weather/wind/wind_5_1.ogg' - ) - ), - "Snowfield" = new/datum/holodeck_program(/area/houseboat/holodeck/snow, - list( - 'sound/effects/weather/wind/wind_2_1.ogg', - 'sound/effects/weather/wind/wind_2_2.ogg', - 'sound/effects/weather/wind/wind_3_1.ogg', - 'sound/effects/weather/wind/wind_4_1.ogg', - 'sound/effects/weather/wind/wind_4_2.ogg', - 'sound/effects/weather/wind/wind_5_1.ogg' - ) - ), - "Space" = new/datum/holodeck_program(/area/houseboat/holodeck/space, - list( - 'sound/ambience/ambispace.ogg', - 'sound/music/main.ogg', - 'sound/music/space.ogg', - 'sound/music/traitor.ogg', - ) - ), - "Picnic Area" = new/datum/holodeck_program(/area/houseboat/holodeck/picnic, list('sound/music/title2.ogg')), - "Gaming" = new/datum/holodeck_program(/area/houseboat/holodeck/gaming, list('sound/music/traitor.ogg')), - "Bunking" = new/datum/holodeck_program(/area/houseboat/holodeck/bunking, list()), - "Turn Off" = new/datum/holodeck_program(/area/houseboat/holodeck/off, list()) - ) - // Our map is small, if the supermatter is ejected lets not have it just blow up somewhere else /obj/machinery/power/supermatter/touch_map_edge() qdel(src) @@ -375,7 +331,6 @@ var/global/list/latejoin_tram = list() name = "Airlock NanoMed" desc = "Wall-mounted Medical Equipment dispenser. This limited-use version dispenses antitoxins with mild painkillers for surface EVAs." icon_state = "wallmed" - icon_deny = "wallmed-deny" density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude products = list(/obj/item/weapon/reagent_containers/pill/airlock = 10,/obj/item/device/healthanalyzer = 1) contraband = list(/obj/item/weapon/reagent_containers/pill/tox = 2) diff --git a/maps/tether/tether_turfs.dm b/maps/tether/tether_turfs.dm index a4b8e2082b..d0b2953e10 100644 --- a/maps/tether/tether_turfs.dm +++ b/maps/tether/tether_turfs.dm @@ -133,7 +133,7 @@ VIRGO3B_TURF_CREATE(/turf/simulated/mineral/floor) /turf/unsimulated/floor/techfloor_grid name = "floor" - icon = 'icons/turf/flooring/techfloor_vr.dmi' + icon = 'icons/turf/flooring/techfloor.dmi' icon_state = "techfloor_grid" /turf/unsimulated/floor/maglev diff --git a/maps/virgo_minitest/virgo_minitest-1.dmm b/maps/virgo_minitest/virgo_minitest-1.dmm index 2dd49b4af0..9ce7f531bf 100644 --- a/maps/virgo_minitest/virgo_minitest-1.dmm +++ b/maps/virgo_minitest/virgo_minitest-1.dmm @@ -1,447 +1,13589 @@ -"aa" = (/turf/space,/area/space) -"ab" = (/turf/simulated/wall/r_wall,/area/tcommsat/computer) -"ac" = (/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"ad" = (/obj/structure/filingcabinet,/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"ae" = (/obj/structure/table/standard,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Telecoms Main Computer Room"},/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 26},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"af" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"ag" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"ah" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"ai" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"aj" = (/turf/simulated/floor/tiled,/area/tcommsat/computer) -"ak" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"al" = (/obj/machinery/computer/telecomms/monitor{network = "tcommsat"},/obj/item/device/radio/intercom{name = "General Listening Channel"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"am" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"an" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"ao" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"ap" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"aq" = (/obj/machinery/computer/telecomms/server{network = "tcommsat"},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"ar" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"as" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"at" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/plating,/area/engineering/engine_room) -"au" = (/obj/machinery/computer/power_monitor,/turf/simulated/floor/plating,/area/engineering/engine_room) -"av" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/plating,/area/engineering/engine_room) -"aw" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor/plating,/area/engineering/engine_room) -"ax" = (/obj/machinery/message_server,/turf/simulated/floor/plating,/area/engineering/engine_room) -"ay" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"az" = (/obj/structure/window/reinforced,/turf/space,/area/space) -"aA" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"aB" = (/turf/simulated/floor/plating,/area/engineering/engine_room) -"aC" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/item/device/multitool,/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"aD" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer_1"; set_temperature = 73; use_power = 1},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"aE" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/tcommsat/computer) -"aF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"aG" = (/obj/machinery/airlock_sensor/airlock_exterior{frequency = 1381; id_tag = "server_access_ex_sensor"; master_tag = "server_access_airlock"; pixel_x = 25; pixel_y = 22},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"aH" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1381; icon_state = "door_locked"; id_tag = "server_access_outer"; locked = 1; name = "Telecoms Server Access"; req_access = list(61)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/tcommsat/computer) -"aI" = (/obj/machinery/airlock_sensor{frequency = 1381; id_tag = "server_access_sensor"; pixel_x = 12; pixel_y = 25},/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{frequency = 1381; id_tag = "server_access_airlock"; name = "Server Access Airlock"; pixel_x = 0; pixel_y = 25; tag_airpump = "server_access_pump"; tag_chamber_sensor = "server_access_sensor"; tag_exterior_door = "server_access_outer"; tag_exterior_sensor = "server_access_ex_sensor"; tag_interior_door = "server_access_inner"; tag_interior_sensor = "server_access_in_sensor"; tag_secure = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/tcommsat/computer) -"aJ" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/tcommsat/computer) -"aK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/tcommsat/computer) -"aL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"aM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"aN" = (/obj/machinery/atmospherics/binary/pump/on,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"aO" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"aP" = (/turf/simulated/wall/r_wall,/area/tcommsat/chamber) -"aQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 6},/turf/simulated/floor/plating,/area/tcommsat/chamber) -"aR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/black,/turf/simulated/floor/plating,/area/tcommsat/chamber) -"aS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/chamber) -"aT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/chamber) -"aU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/turf/simulated/floor/plating,/area/tcommsat/chamber) -"aV" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1381; icon_state = "door_locked"; id_tag = "server_access_inner"; locked = 1; name = "Telecoms Server Access"; req_access = list(61)},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/tcommsat/chamber) -"aW" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/space,/area/space) -"aX" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) -"aY" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{icon_state = "intact"; dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"aZ" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/plating,/area/engineering/engine_room) -"ba" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"bb" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room) -"bc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"bd" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/structure/lattice,/turf/space,/area/engineering/engine_room) -"be" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; icon_state = "map_vent_out"; id_tag = "toxins_pump"; use_power = 1},/obj/structure/lattice,/turf/space,/area/engineering/engine_room) -"bf" = (/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bg" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bj" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/telecom{c_tag = "Telecoms Central Compartment North"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bl" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bm" = (/obj/machinery/airlock_sensor/airlock_interior{frequency = 1381; id_tag = "server_access_in_sensor"; master_tag = "server_access_airlock"; name = "interior sensor"; pixel_x = 8; pixel_y = 25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bn" = (/obj/machinery/airlock_sensor/airlock_interior{frequency = 1381; id_tag = "server_access_in_sensor"; name = "interior sensor"; pixel_y = 25},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bo" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bp" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bq" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/plating,/area/engineering/engine_room) -"br" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"bs" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/engineering/engine_room) -"bt" = (/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/engineering/engine_room) -"bu" = (/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bv" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bw" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -32},/turf/simulated/floor/plating,/area/engineering/engine_room) -"bx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"by" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"bz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"bA" = (/obj/machinery/power/sensor{name_tag = "MiniTest"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engineering/engine_room) -"bB" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes/buildable{charge = 1.5e+007; cur_coils = 3},/turf/simulated/floor/plating,/area/engineering/engine_room) -"bC" = (/obj/machinery/telecomms/server/presets/supply,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bD" = (/obj/machinery/telecomms/server/presets/service,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bE" = (/obj/machinery/telecomms/server/presets/unused,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bF" = (/obj/machinery/telecomms/server/presets/common,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bG" = (/obj/machinery/telecomms/server/presets/engineering,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"bI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_engineering,/turf/simulated/floor/plating,/area/engineering/engine_room) -"bJ" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/airlock/glass_engineering,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/engineering/engine_room) -"bK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/engineering/engine_room) -"bL" = (/obj/machinery/exonet_node{anchored = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"bN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"bO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"bP" = (/obj/structure/sign/nosmoking_2{pixel_x = -32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bQ" = (/obj/machinery/telecomms/processor/preset_two,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bR" = (/obj/machinery/telecomms/bus/preset_two,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bS" = (/obj/machinery/telecomms/relay/preset/telecomms,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bT" = (/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bU" = (/obj/machinery/telecomms/broadcaster/preset_right,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bV" = (/obj/machinery/telecomms/hub/preset,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bW" = (/obj/machinery/telecomms/receiver/preset_right,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bX" = (/obj/machinery/telecomms/relay/preset/station,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bY" = (/obj/machinery/telecomms/bus/preset_four,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"bZ" = (/obj/machinery/telecomms/processor/preset_four,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"ca" = (/obj/structure/sign/nosmoking_2{pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cc" = (/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cd" = (/obj/machinery/telecomms/bus/preset_one,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"ce" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cf" = (/obj/machinery/telecomms/processor/preset_three,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cg" = (/obj/machinery/telecomms/bus/preset_three,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"ch" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"ci" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -32},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"ck" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cl" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cm" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cn" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 6},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"co" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 9},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cp" = (/obj/machinery/pda_multicaster/prebuilt,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cq" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 5},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cr" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cs" = (/obj/machinery/telecomms/server/presets/command,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"ct" = (/obj/machinery/telecomms/server/presets/security,/turf/simulated/floor/tiled/dark{nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; external_pressure_bound_default = 140; icon_state = "map_vent_out"; use_power = 1; pressure_checks = 0; pressure_checks_default = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cw" = (/obj/machinery/light,/obj/machinery/camera/network/telecom{c_tag = "Telecoms Central Compartment South"; dir = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; use_power = 1; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"cy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cz" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cA" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/hallway/secondary/engineering_hallway) -"cB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"cC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"cD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"cE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/medical/medbay) -"cF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/medical/medbay) -"cG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/multi_tile/glass,/turf/simulated/floor/tiled,/area/medical/medbay) -"cH" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/medbay) -"cI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay) -"cJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"cK" = (/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"cL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/medical/medbay) -"cM" = (/turf/simulated/floor/tiled,/area/medical/medbay) -"cN" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay) -"cO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/medical/medbay) -"cP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/medbay) -"cQ" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/medical/medbay) -"cR" = (/turf/simulated/wall/r_wall,/area/crew_quarters/bar) -"cS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/medical/medbay) -"cT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/medical/medbay2) -"cU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay2) -"cV" = (/obj/machinery/requests_console{department = "MiniBar"; departmentType = 7; pixel_y = 28},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"cW" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"cX" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/medical/medbay) -"cY" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/medical/medbay) -"cZ" = (/turf/simulated/floor/tiled,/area/medical/medbay2) -"da" = (/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/medical/medbay2) -"db" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"dd" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/medbay) -"de" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/medical/medbay) -"df" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay) -"dg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay) -"dh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay) -"di" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/medical/medbay) -"dj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay) -"dk" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; req_access = list()},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay) -"dl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay2) -"do" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; req_access = list()},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dr" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/medical/medbay) -"ds" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/medical/medbay) -"dt" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay) -"du" = (/turf/simulated/wall,/area/medical/medbay) -"dv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dw" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/medical/medbay2) -"dx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dy" = (/turf/simulated/wall,/area/medical/medbay2) -"dz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/medical/medbay2) -"dA" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/medical/medbay2) -"dB" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"dD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"dE" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"dF" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/medbay) -"dG" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/medbay) -"dH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/medical/medbay2) -"dJ" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"dL" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"dM" = (/obj/machinery/alarm{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"dN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"dO" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"dP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"dQ" = (/obj/structure/cable{icon_state = "2-4"},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dR" = (/obj/structure/cable{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dS" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dT" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dU" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/multi_tile/glass{dir = 2; req_access = list()},/turf/simulated/floor/tiled,/area/medical/medbay2) -"dV" = (/obj/structure/cable{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"dW" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"dX" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_aft) -"dY" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/multi_tile/glass{dir = 2; req_access = list()},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"dZ" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"ea" = (/obj/structure/cable{icon_state = "2-8"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/medical/medbay) -"ec" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/medical/medbay) -"ed" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/medical/medbay2) -"ee" = (/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/medbay2) -"ef" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -32},/obj/structure/cable,/turf/simulated/floor/tiled,/area/medical/medbay2) -"eg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/medical/medbay2) -"eh" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"ei" = (/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"ej" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"ek" = (/obj/structure/cable{icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/medbay) -"el" = (/obj/structure/cable{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/medical/medbay) -"em" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/medical/medbay) -"en" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled,/area/medical/medbay) -"eo" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/medical/medbay) -"ep" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/medical/medbay2) -"eq" = (/obj/structure/cable{icon_state = "1-8"},/turf/simulated/floor/tiled,/area/medical/medbay2) -"er" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay2) -"es" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"et" = (/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/medbay) -"eu" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; req_access = list()},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/medical/medbay) -"ev" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/tiled,/area/medical/medbay2) -"ew" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; req_access = list()},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/medical/medbay2) -"ex" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"ey" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"ez" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/medical/medbay) -"eA" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay) -"eB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/medical/medbay) -"eC" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/medical/medbay) -"eD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eF" = (/obj/machinery/door/airlock/multi_tile/glass,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/medical/medbay) -"eG" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/medical/medbay) -"eH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/medical/medbay) -"eI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eJ" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"eN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"eO" = (/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"eP" = (/obj/structure/cable{icon_state = "1-4"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eQ" = (/obj/structure/cable{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eR" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/cable{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eS" = (/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eT" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -32},/obj/structure/cable{icon_state = "0-8"},/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eU" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/multi_tile/glass,/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eV" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/bar) -"eW" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"eX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"eY" = (/obj/structure/cable{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"eZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"fa" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"fb" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"fc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"fd" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"fe" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 32},/obj/structure/cable{icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"ff" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fg" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"fh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fk" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"fl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/civilian_hallway_fore) -"fm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fn" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fp" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fq" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"ft" = (/obj/structure/cable{icon_state = "2-4"},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fu" = (/obj/structure/cable{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fv" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fw" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fx" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fy" = (/obj/structure/cable{icon_state = "1-8"},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fC" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/multi_tile/glass,/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fD" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/primary/fore) -"fH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fI" = (/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fJ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 32},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fK" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fL" = (/obj/structure/cable{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fM" = (/obj/structure/cable{icon_state = "1-8"},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fO" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fR" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fS" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fT" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fW" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"fX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/bridge) -"fY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/tiled,/area/bridge) -"fZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"ga" = (/obj/machinery/door/airlock/multi_tile/glass,/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) -"gb" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/bridge) -"gc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/bridge) -"gd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"ge" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled,/area/bridge) -"gf" = (/turf/simulated/floor/tiled,/area/bridge) -"gg" = (/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled,/area/bridge) -"gh" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/bridge) -"gi" = (/obj/machinery/firealarm{dir = 2; layer = 3.3; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/bridge) -"gj" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 32},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/tiled,/area/bridge) -"gk" = (/obj/structure/cable{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/bridge) -"gl" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) -"gm" = (/obj/structure/cable{icon_state = "1-8"},/turf/simulated/floor/tiled,/area/bridge) -"gn" = (/obj/machinery/requests_console{department = "MiniTest"; departmentType = 7; pixel_y = 28},/turf/simulated/floor/tiled,/area/bridge) -"go" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled,/area/bridge) -"gp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge) -"gq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"gr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"gs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/bridge) -"gt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/bridge) -"gu" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/bridge) -"gv" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/bridge) -"gw" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/crew_quarters/cafeteria) -"gx" = (/obj/effect/landmark{name = "JoinLateElevator"},/turf/simulated/floor/tiled,/area/bridge) -"gy" = (/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled,/area/bridge) -"gz" = (/obj/effect/landmark{name = "Observer-Start"},/turf/simulated/floor/tiled,/area/bridge) -"gA" = (/obj/structure/grille,/turf/simulated/floor/tiled,/area/bridge) -"gB" = (/obj/effect/landmark{name = "JoinLate"},/turf/simulated/floor/tiled,/area/bridge) -"gC" = (/obj/effect/landmark{name = "JoinLateCryo"},/turf/simulated/floor/tiled,/area/bridge) -"gD" = (/obj/effect/landmark{name = "JoinLateCyborg"},/turf/simulated/floor/tiled,/area/bridge) -"gE" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/bridge) -"gF" = (/obj/machinery/ntnet_relay,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/space) +"ab" = ( +/turf/simulated/wall/r_wall, +/area/tcommsat/computer) +"ac" = ( +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"ad" = ( +/obj/structure/filingcabinet, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"ae" = ( +/obj/structure/table/standard, +/obj/item/weapon/folder/yellow, +/obj/item/weapon/folder/yellow, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/network/telecom{ + c_tag = "Telecoms Main Computer Room" + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 0; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"af" = ( +/obj/structure/table/standard, +/obj/item/weapon/paper_bin, +/obj/item/weapon/pen/blue{ + pixel_x = -3; + pixel_y = 2 + }, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"ag" = ( +/obj/machinery/alarm{ + frequency = 1441; + pixel_y = 22 + }, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"ah" = ( +/obj/structure/table/standard, +/obj/item/device/flashlight/lamp, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"ai" = ( +/obj/item/device/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/turf/simulated/floor/tiled, +/area/tcommsat/computer) +"aj" = ( +/turf/simulated/floor/tiled, +/area/tcommsat/computer) +"ak" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/tcommsat/computer) +"al" = ( +/obj/machinery/computer/telecomms/monitor{ + network = "tcommsat" + }, +/obj/item/device/radio/intercom{ + name = "General Listening Channel"; + pixel_x = 28; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"am" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/engineering/engine_room) +"an" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/turf/simulated/floor/tiled, +/area/engineering/engine_room) +"ao" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/engineering/engine_room) +"ap" = ( +/obj/structure/bed/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/tcommsat/computer) +"aq" = ( +/obj/machinery/computer/telecomms/server{ + network = "tcommsat" + }, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"ar" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/engineering/engine_room) +"as" = ( +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"at" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 10 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"au" = ( +/obj/machinery/computer/power_monitor, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"av" = ( +/obj/machinery/computer/station_alert/all, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"aw" = ( +/obj/machinery/computer/atmoscontrol, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"ax" = ( +/obj/machinery/message_server, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"ay" = ( +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/turf/simulated/floor/tiled, +/area/tcommsat/computer) +"az" = ( +/obj/structure/window/reinforced, +/turf/space, +/area/space) +"aA" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ + icon_state = "map"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"aB" = ( +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"aC" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/table/standard, +/obj/item/device/multitool, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"aD" = ( +/obj/machinery/atmospherics/unary/freezer{ + dir = 2; + icon_state = "freezer_1"; + set_temperature = 73; + use_power = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"aE" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/dark, +/area/tcommsat/computer) +"aF" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/tcommsat/computer) +"aG" = ( +/obj/machinery/airlock_sensor/airlock_exterior{ + frequency = 1381; + id_tag = "server_access_ex_sensor"; + master_tag = "server_access_airlock"; + pixel_x = 25; + pixel_y = 22 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/tcommsat/computer) +"aH" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + frequency = 1381; + icon_state = "door_locked"; + id_tag = "server_access_outer"; + locked = 1; + name = "Telecoms Server Access"; + req_access = list(61) + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/tcommsat/computer) +"aI" = ( +/obj/machinery/airlock_sensor{ + frequency = 1381; + id_tag = "server_access_sensor"; + pixel_x = 12; + pixel_y = 25 + }, +/obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{ + frequency = 1381; + id_tag = "server_access_airlock"; + name = "Server Access Airlock"; + pixel_x = 0; + pixel_y = 25; + tag_airpump = "server_access_pump"; + tag_chamber_sensor = "server_access_sensor"; + tag_exterior_door = "server_access_outer"; + tag_exterior_sensor = "server_access_ex_sensor"; + tag_interior_door = "server_access_inner"; + tag_interior_sensor = "server_access_in_sensor"; + tag_secure = 1 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/tcommsat/computer) +"aJ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/tcommsat/computer) +"aK" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/tcommsat/computer) +"aL" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/engineering/engine_room) +"aM" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"aN" = ( +/obj/machinery/atmospherics/binary/pump/on, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"aO" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"aP" = ( +/turf/simulated/wall/r_wall, +/area/tcommsat/chamber) +"aQ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/tcommsat/chamber) +"aR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/black, +/turf/simulated/floor/plating, +/area/tcommsat/chamber) +"aS" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/tcommsat/chamber) +"aT" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/tcommsat/chamber) +"aU" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 10 + }, +/turf/simulated/floor/plating, +/area/tcommsat/chamber) +"aV" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + frequency = 1381; + icon_state = "door_locked"; + id_tag = "server_access_inner"; + locked = 1; + name = "Telecoms Server Access"; + req_access = list(61) + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/tcommsat/chamber) +"aW" = ( +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/turf/space, +/area/space) +"aX" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"aY" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + icon_state = "intact"; + dir = 5 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"aZ" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 6 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"ba" = ( +/obj/machinery/atmospherics/binary/pump/on{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bb" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/engineering/engine_room) +"bd" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 4 + }, +/obj/structure/lattice, +/turf/space, +/area/engineering/engine_room) +"be" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + frequency = 1379; + icon_state = "map_vent_out"; + id_tag = "toxins_pump"; + use_power = 1 + }, +/obj/structure/lattice, +/turf/space, +/area/engineering/engine_room) +"bf" = ( +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bg" = ( +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 24 + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bh" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_x = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/black, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bi" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_x = 0 + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bj" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/network/telecom{ + c_tag = "Telecoms Central Compartment North" + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bk" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bm" = ( +/obj/machinery/airlock_sensor/airlock_interior{ + frequency = 1381; + id_tag = "server_access_in_sensor"; + master_tag = "server_access_airlock"; + name = "interior sensor"; + pixel_x = 8; + pixel_y = 25 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bn" = ( +/obj/machinery/airlock_sensor/airlock_interior{ + frequency = 1381; + id_tag = "server_access_in_sensor"; + name = "interior sensor"; + pixel_y = 25 + }, +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM"; + pixel_y = 32 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bo" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bp" = ( +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'SERVER ROOM'."; + name = "SERVER ROOM"; + pixel_y = 32 + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bq" = ( +/obj/machinery/alarm{ + dir = 4; + pixel_x = -25; + pixel_y = 0 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"br" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bt" = ( +/obj/machinery/power/terminal, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bu" = ( +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bw" = ( +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -32 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bx" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"by" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bA" = ( +/obj/machinery/power/sensor{ + name_tag = "MiniTest" + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bB" = ( +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/smes/buildable{ + charge = 1.5e+007; + cur_coils = 3 + }, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bC" = ( +/obj/machinery/telecomms/server/presets/supply, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bD" = ( +/obj/machinery/telecomms/server/presets/service, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bE" = ( +/obj/machinery/telecomms/server/presets/unused, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bF" = ( +/obj/machinery/telecomms/server/presets/common, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bG" = ( +/obj/machinery/telecomms/server/presets/engineering, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bH" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/engineering/engine_room) +"bI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/door/airlock/glass_engineering, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass_engineering, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plating, +/area/engineering/engine_room) +"bK" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/engineering/engine_room) +"bL" = ( +/obj/machinery/exonet_node{ + anchored = 1 + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"bN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"bO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"bP" = ( +/obj/structure/sign/nosmoking_2{ + pixel_x = -32; + pixel_y = 0 + }, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 8 + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bQ" = ( +/obj/machinery/telecomms/processor/preset_two, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bR" = ( +/obj/machinery/telecomms/bus/preset_two, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bS" = ( +/obj/machinery/telecomms/relay/preset/telecomms, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bU" = ( +/obj/machinery/telecomms/broadcaster/preset_right, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bV" = ( +/obj/machinery/telecomms/hub/preset, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bW" = ( +/obj/machinery/telecomms/receiver/preset_right, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bX" = ( +/obj/machinery/telecomms/relay/preset/station, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bY" = ( +/obj/machinery/telecomms/bus/preset_four, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"bZ" = ( +/obj/machinery/telecomms/processor/preset_four, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"ca" = ( +/obj/structure/sign/nosmoking_2{ + pixel_x = 32; + pixel_y = 0 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"cc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"cd" = ( +/obj/machinery/telecomms/bus/preset_one, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"ce" = ( +/obj/machinery/telecomms/processor/preset_one, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cf" = ( +/obj/machinery/telecomms/processor/preset_three, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cg" = ( +/obj/machinery/telecomms/bus/preset_three, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"ch" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"ci" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"cj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -32 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"ck" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/alarm{ + dir = 8; + icon_state = "alarm0"; + pixel_x = 24 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"cl" = ( +/obj/machinery/telecomms/server/presets/science, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cm" = ( +/obj/machinery/telecomms/server/presets/medical, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 6 + }, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"co" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 9 + }, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cp" = ( +/obj/machinery/pda_multicaster/prebuilt, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 5 + }, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/black{ + dir = 10 + }, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cs" = ( +/obj/machinery/telecomms/server/presets/command, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"ct" = ( +/obj/machinery/telecomms/server/presets/security, +/turf/simulated/floor/tiled/dark{ + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"cv" = ( +/obj/machinery/atmospherics/unary/vent_pump{ + dir = 1; + external_pressure_bound = 140; + external_pressure_bound_default = 140; + icon_state = "map_vent_out"; + use_power = 1; + pressure_checks = 0; + pressure_checks_default = 0 + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cw" = ( +/obj/machinery/light, +/obj/machinery/camera/network/telecom{ + c_tag = "Telecoms Central Compartment South"; + dir = 1 + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cx" = ( +/obj/machinery/atmospherics/unary/vent_pump{ + dir = 1; + external_pressure_bound = 0; + external_pressure_bound_default = 0; + icon_state = "map_vent_in"; + initialize_directions = 1; + internal_pressure_bound = 4000; + internal_pressure_bound_default = 4000; + use_power = 1; + pressure_checks = 2; + pressure_checks_default = 2; + pump_direction = 0 + }, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"cy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"cz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"cA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/engineering_hallway) +"cB" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"cC" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"cD" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"cE" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cF" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cH" = ( +/obj/machinery/door/firedoor/glass, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cI" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cJ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"cK" = ( +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"cL" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cM" = ( +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cN" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cP" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cQ" = ( +/obj/machinery/alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cR" = ( +/turf/simulated/wall/r_wall, +/area/crew_quarters/bar) +"cS" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cT" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"cU" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"cV" = ( +/obj/machinery/requests_console{ + department = "MiniBar"; + departmentType = 7; + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"cW" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"cX" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cY" = ( +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"cZ" = ( +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"da" = ( +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"db" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"dd" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"de" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"df" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"dg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"dh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"di" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"dj" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"dk" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2; + req_access = list() + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"dl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"do" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2; + req_access = list() + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dq" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dr" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"ds" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"dt" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"du" = ( +/turf/simulated/wall, +/area/medical/medbay) +"dv" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dw" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dx" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dy" = ( +/turf/simulated/wall, +/area/medical/medbay2) +"dz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dA" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dB" = ( +/obj/machinery/alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dC" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_aft) +"dD" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"dE" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"dF" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"dG" = ( +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"dH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dJ" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_aft) +"dL" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_aft) +"dM" = ( +/obj/machinery/alarm{ + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_aft) +"dN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_aft) +"dO" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"dP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"dQ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2; + req_access = list() + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"dV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_aft) +"dW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_aft) +"dX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_aft) +"dY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2; + req_access = list() + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"dZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"ea" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eb" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"ec" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"ed" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"ee" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"ef" = ( +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -32 + }, +/obj/structure/cable, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"eg" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"eh" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"ei" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"ej" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"ek" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"el" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"em" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"en" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"eo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"ep" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"eq" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"er" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"es" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"et" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"eu" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2; + req_access = list() + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"ev" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -25 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"ew" = ( +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2; + req_access = list() + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled, +/area/medical/medbay2) +"ex" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"ey" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"ez" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"eA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"eB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"eC" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"eD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eE" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eF" = ( +/obj/machinery/door/airlock/multi_tile/glass, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"eG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"eH" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/medical/medbay) +"eI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"eN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"eO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"eP" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eR" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -25 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eS" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eT" = ( +/obj/machinery/power/apc{ + dir = 2; + name = "south bump"; + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eV" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/crew_quarters/bar) +"eW" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"eX" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"eY" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"eZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"fa" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"fb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"fc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"fd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"fe" = ( +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 32 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"ff" = ( +/obj/machinery/alarm{ + dir = 4; + pixel_x = -25; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fg" = ( +/obj/machinery/alarm{ + dir = 8; + icon_state = "alarm0"; + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"fh" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fi" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fj" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"fl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/secondary/civilian_hallway_fore) +"fm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fn" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fp" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fq" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"ft" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fy" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fz" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fA" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fB" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/obj/machinery/door/airlock/multi_tile/glass, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fD" = ( +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fE" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fF" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/hallway/primary/fore) +"fH" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fI" = ( +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fJ" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fM" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fO" = ( +/obj/machinery/alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fR" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fS" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fT" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fW" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"fX" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"fY" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"fZ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"ga" = ( +/obj/machinery/door/airlock/multi_tile/glass, +/obj/machinery/door/firedoor/glass, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/bridge) +"gb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass, +/turf/simulated/floor/tiled, +/area/bridge) +"gc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gd" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1; + health = 1e+006 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"ge" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gf" = ( +/turf/simulated/floor/tiled, +/area/bridge) +"gg" = ( +/obj/machinery/alarm{ + pixel_y = 22 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gh" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gi" = ( +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 0; + pixel_y = 32 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gj" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/bridge) +"gm" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gn" = ( +/obj/machinery/requests_console{ + department = "MiniTest"; + departmentType = 7; + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"go" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled, +/area/bridge) +"gq" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gs" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gu" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gv" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gw" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/crew_quarters/cafeteria) +"gx" = ( +/obj/effect/landmark{ + name = "JoinLateElevator" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gy" = ( +/obj/effect/landmark{ + name = "JoinLateGateway" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gz" = ( +/obj/effect/landmark{ + name = "Observer-Start" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gA" = ( +/obj/structure/grille, +/turf/simulated/floor/tiled, +/area/bridge) +"gB" = ( +/obj/effect/landmark{ + name = "JoinLate" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gC" = ( +/obj/effect/landmark{ + name = "JoinLateCryo" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gD" = ( +/turf/simulated/shuttle/wall/voidcraft/blue, +/area/shuttle/webdemo) +"gE" = ( +/obj/machinery/light, +/turf/simulated/floor/tiled, +/area/bridge) +"gF" = ( +/obj/machinery/ntnet_relay, +/turf/simulated/floor/bluegrid{ + name = "Mainframe Base"; + nitrogen = 100; + oxygen = 0; + temperature = 80 + }, +/area/tcommsat/chamber) +"gG" = ( +/turf/simulated/shuttle/wall, +/area/shuttle/ferrydemo) +"gH" = ( +/obj/structure/shuttle/window, +/turf/simulated/shuttle/plating, +/area/shuttle/ferrydemo) +"gI" = ( +/obj/effect/wingrille_spawn/reinforced/crescent, +/turf/simulated/floor/tiled, +/area/bridge) +"gJ" = ( +/obj/effect/shuttle_landmark/transit/ferrydemo_transit, +/turf/space, +/area/space) +"gK" = ( +/turf/simulated/shuttle/floor, +/area/shuttle/ferrydemo) +"gL" = ( +/obj/structure/table/reinforced, +/turf/simulated/shuttle/floor, +/area/shuttle/ferrydemo) +"gM" = ( +/obj/structure/shuttle, +/turf/space, +/area/space) +"gN" = ( +/obj/structure/shuttle/window, +/turf/simulated/shuttle/plating, +/area/shuttle/webdemo) +"gO" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/effect/shuttle_landmark/station_dockpoint1, +/turf/simulated/shuttle/floor, +/area/shuttle/ferrydemo) +"gP" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/ferrydemo) +"gQ" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + id_tag = "station_dock1"; + layer = 3.1; + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"gR" = ( +/obj/machinery/door/airlock/external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "webdemo_docker_hatch"; + locked = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/webdemo) +"gS" = ( +/obj/structure/shuttle/engine/heater, +/turf/simulated/shuttle/plating, +/area/shuttle/ferrydemo) +"gT" = ( +/obj/effect/shuttle_landmark/transit/multidemo_transit, +/turf/space, +/area/space) +"gU" = ( +/obj/structure/shuttle, +/turf/simulated/shuttle/wall, +/area/shuttle/ferrydemo) +"gV" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/simulated/shuttle/plating, +/area/shuttle/ferrydemo) +"gW" = ( +/obj/effect/shuttle_landmark/shared_space, +/turf/space, +/area/space) +"gX" = ( +/turf/simulated/shuttle/wall/voidcraft/blue, +/area/shuttle/multidemo) +"gY" = ( +/obj/structure/shuttle/window, +/turf/simulated/shuttle/plating, +/area/shuttle/multidemo) +"gZ" = ( +/obj/effect/shuttle_landmark/ferrydemo_space, +/turf/space, +/area/space) +"ha" = ( +/obj/effect/shuttle_landmark/multidemo_nearby, +/turf/space, +/area/space) +"hb" = ( +/turf/simulated/shuttle/floor, +/area/shuttle/multidemo) +"hc" = ( +/obj/structure/table/reinforced, +/turf/simulated/shuttle/floor, +/area/shuttle/multidemo) +"hd" = ( +/obj/machinery/light, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + id_tag = "ferrydemo_shuttle"; + layer = 3.1; + pixel_x = -28 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/ferrydemo) +"he" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/effect/shuttle_landmark/multidemo_start, +/turf/simulated/shuttle/floor, +/area/shuttle/multidemo) +"hf" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/multidemo) +"hg" = ( +/obj/machinery/door/airlock/external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "station_dock1_hatch"; + locked = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"hh" = ( +/obj/machinery/computer/shuttle_control{ + name = "ferry-demo shuttle control console"; + shuttle_tag = "Ferry-Demo" + }, +/turf/simulated/shuttle/floor, +/area/shuttle/ferrydemo) +"hi" = ( +/obj/structure/shuttle, +/turf/simulated/shuttle/wall/voidcraft/blue, +/area/shuttle/multidemo) +"hj" = ( +/obj/structure/table/reinforced, +/turf/simulated/shuttle/floor, +/area/shuttle/webdemo) +"hk" = ( +/obj/machinery/computer/shuttle_control{ + dir = 8; + name = "ferry-demo shuttle control console"; + shuttle_tag = "Ferry-Demo" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"hl" = ( +/obj/machinery/computer/shuttle_control/multi{ + dir = 8; + name = "multi-demo shuttle control console"; + shuttle_tag = "Multi-Demo" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"hm" = ( +/obj/machinery/computer/shuttle_control/multi{ + name = "multi-demo shuttle control console"; + shuttle_tag = "Multi-Demo" + }, +/turf/simulated/shuttle/floor, +/area/shuttle/multidemo) +"hn" = ( +/obj/machinery/light, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + id_tag = "multidemo_shuttle"; + layer = 3.1; + pixel_x = -28 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/multidemo) +"ho" = ( +/obj/machinery/door/airlock/external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "ferrydemo_shuttle_hatch"; + locked = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/ferrydemo) +"hp" = ( +/obj/effect/landmark{ + name = "JoinLate" + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + id_tag = "station_hangar"; + layer = 3.1; + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"hq" = ( +/obj/effect/shuttle_landmark/transit/webdemo_transit, +/turf/space, +/area/space) +"hr" = ( +/obj/machinery/door/airlock/external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "multidemo_shuttle_hatch"; + locked = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/multidemo) +"hs" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/webdemo) +"ht" = ( +/obj/machinery/light, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + id_tag = "webdemo_docker"; + layer = 3.1; + pixel_x = -28 + }, +/turf/simulated/shuttle/floor, +/area/shuttle/webdemo) +"hu" = ( +/turf/simulated/shuttle/floor, +/area/shuttle/webdemo) +"hv" = ( +/obj/effect/shuttle_landmark/webdemo_faraway, +/turf/space, +/area/space) +"hw" = ( +/obj/structure/shuttle, +/turf/simulated/shuttle/wall/voidcraft/blue, +/area/shuttle/webdemo) +"hx" = ( +/obj/machinery/computer/shuttle_control/web{ + dir = 2; + my_doors = list("webdemo_docker_hatch" = "Hatch"); + name = "Web-Demo Console"; + shuttle_tag = "Web-Demo" + }, +/turf/simulated/shuttle/floor, +/area/shuttle/webdemo) +"hy" = ( +/obj/machinery/light{ + dir = 4; + icon_state = "tube1" + }, +/obj/machinery/computer/shuttle_control/web{ + dir = 8; + name = "Web-Demo Remote Control"; + shuttle_tag = "Web-Demo" + }, +/turf/simulated/floor/tiled, +/area/bridge) +"hz" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/effect/shuttle_landmark/station_inside, +/turf/simulated/shuttle/floor, +/area/shuttle/webdemo) +"hA" = ( +/obj/structure/shuttle/engine/heater, +/turf/space, +/turf/simulated/shuttle/plating/carry, +/area/shuttle/webdemo) +"hB" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/space, +/turf/simulated/shuttle/plating/carry, +/area/shuttle/webdemo) +"hC" = ( +/obj/machinery/shipsensors, +/turf/simulated/shuttle/floor/voidcraft/external/light, +/area/shuttle/overmapdemo) +"hD" = ( +/obj/machinery/ion_engine{ + dir = 1 + }, +/turf/space, +/turf/simulated/shuttle/plating/carry, +/area/shuttle/overmapdemo) +"kU" = ( +/obj/structure/shuttle, +/turf/simulated/shuttle/wall/voidcraft/green, +/area/shuttle/overmapdemo) +"ql" = ( +/obj/machinery/door/airlock/external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "overmapdemo_docker_hatch"; + locked = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/overmapdemo) +"qz" = ( +/obj/machinery/computer/shuttle_control/explore{ + name = "Overmap-Demo Shuttle Control"; + shuttle_tag = "Overmap-Demo" + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/overmapdemo) +"sA" = ( +/obj/structure/shuttle/engine/heater, +/turf/space, +/turf/simulated/shuttle/plating/carry, +/area/shuttle/multidemo) +"vP" = ( +/obj/machinery/computer/ship/engines{ + dir = 8; + throwpass = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/overmapdemo) +"zf" = ( +/obj/effect/wingrille_spawn/reinforced, +/turf/simulated/shuttle/floor/voidcraft/external/light, +/area/shuttle/overmapdemo) +"zX" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/effect/shuttle_landmark/station_dockpoint2, +/obj/effect/overmap/visitable/ship/landable/overmapdemo, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/overmapdemo) +"Gz" = ( +/turf/simulated/shuttle/wall/voidcraft/green, +/area/shuttle/overmapdemo) +"JA" = ( +/obj/effect/overmap/visitable/sector/virgo_minitest/station, +/turf/space, +/area/space) +"ML" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + id_tag = "station_dock2"; + layer = 3.1; + pixel_y = 28 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"Oc" = ( +/obj/machinery/light, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + id_tag = "overmapdemo_docker"; + layer = 3.1; + pixel_x = -28 + }, +/obj/machinery/computer/ship/navigation{ + dir = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/overmapdemo) +"Pg" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/space, +/turf/simulated/shuttle/plating/carry, +/area/shuttle/multidemo) +"SN" = ( +/obj/machinery/door/airlock/external{ + frequency = 1379; + icon_state = "door_locked"; + id_tag = "station_dock2_hatch"; + locked = 1 + }, +/turf/simulated/floor/tiled, +/area/bridge) +"Uh" = ( +/obj/machinery/computer/ship/sensors{ + dir = 1 + }, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/overmapdemo) +"XZ" = ( +/obj/machinery/computer/ship/helm, +/turf/simulated/shuttle/floor/voidcraft/light, +/area/shuttle/overmapdemo) (1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacadaeafagahabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaiajakajajalabaaaaaaaaaaamananananananaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabajajajajapaqabaaaaaaaaaaarasatauavawaxaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabajajajajayabababazazazazarasaAaBaBaBaBaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaCaDaEaFaGaHaIaJaKaKaKaKaLaMaNaBaBaBaOaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaPaPaPaPaQaRaSaTaUaPaPaVaPaPaWaWaraXaYataZbabbbcbdbeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbfbfbfbgbhbibjbkblbmbnbobpaPaaaaarbqbrbsbsaBbtaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbfbubububvbubububvbubububfaPaaaaarbwbxbybzbAbBaraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbfbCbDbEbvbubfbubvbubFbGbfaPaaaabHanaobIbJamanbKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbfbubububvbubLbubvbubububfaPaaaaaaaabMbNbObMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbPbQbRbSbTbUbVbWbTbXbYbZcaaPaaaaaaaabMcbccbMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbfcdcebubvbubfbubvbucfcgbfaPaaaaaaaabMchcibMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbfbubububvbugFbubvbubububfaPaaaaaaaabMcjckbMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbfclcmcncobucpbucqcrcsctbfaPaaaaaaaabMcuccbMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbfbfbfcvbfbfcwbfbfcxbfbfbfaPaaaaaaaabMcyczbMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaPaPaPaPaPaPaPaPaPaPaPaPaPaPaaaaaaaabMcucAbMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMcuccbMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBcCcCcCcCcCcCcCcDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEcFcFcFcFcFcGcHcFcFcFcFcFcFcIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJcKcKcKcKcKcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcNcMcMcOcPcMcMcQcNcMcMcLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJcKcRcRcRcRcRcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcMcMcMcOcPcMcMcMcMcMcMcScTcTcTcTcTcTcTcTcTcUaaaaaaaaaaaaaaaaaaaaaacJcKcRcVcWcKcRcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcMcMcMcOcPcMcMcXcMcMcMcYcZcZcZcZcZdacZcZcZdbaaaaaaaaaaaaaaaaaaaaaacJcKcRcKcKcKcRcKdccCcCcCcDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLddcMcMcMcMdedfdgdhdidhdjdhdkdldmdldndldodldpcZdqcTcTcTcTcTcTcUaaaaaaaacJcKcKcKcKcKcKcKcKcWcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcMcMcMdrdsdtcMcMcMcOcMducZdvdwdxcZdycZdzcZdAcZcZdBcZcZcZdqdCdCdCdCdDdEcKcKcKcKcKcKcKcKcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcMcMcMdFdududududucOdGducZcZdycZcZdycZdHdldIdldldldndldldJdKdLdMdNdOdPcKcKcKcKcKcKcKcKcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcMcMcMcPcMcMcMcMcMcOdFducZcZdycZcZdycZdQdRdRdRdRdSdTdRdRdUdVdWdXdVdYdZeacKcKcKcKcKcKcKcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcMcMcMebeccMcMcMcMcOcPducZcZedcZcZdycZeecZdwcZcZefcZcZcZegdCdCdCdCcDeheiejcKcKcKcKcKejcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMdudududuekelelelelemeneodRdRdRdRdRepdReqcZegcTcTcTcTcTcTeraaaaaaaacJeseicRcKcKcKcKcKcRcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcMcMcMcMetcMcMcMcMcOcMeucZcZevcZcZewcZcZcZdbaaaaaaaaaaaaaaaaaaaaaacJexeycRcKcKcKcKcKcRcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLddcMcMcMcMcMetcMcMcMcMcOcMcEcTcTcTcTcTcTcTcTcTeraaaaaaaaaaaaaaaaaaaaaacJeseicRcKcKejcKcKcRcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcMcMcMezeAdhdhdhdheBcMcLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJeseicRcRcRcRcRcRcRcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLcMcMcMcMeCcOeteCcMcMcMcMcMcLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJeDeicKeEcKcKcKcKcKcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacScFcFcFcFcIeFeGcEcFcFcFcFcFeHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJeIeJeKeLeKeKdPcKcKcKcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJcKePeQeReQeSdZeQeTejcKcJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadccCcCcCcCcDeUeVcBcCcCcCdDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeWeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXeYeZeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXeYfaeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXfbfceXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeWeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXeYeZeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXfdfeeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMffeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXeYeZeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXeYfgeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafhfififififififififififififjeWeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXfkfleXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMfmfnfofofpfofofqfofnfrfofofseOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXeYeZeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNftfufufvfufufwfufufxfufufufyeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXeYfaeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOfhfififififififififififififjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeXeYeZeXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzfAfAfAfAfBfCfDfEfAfAfAfFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMfGeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfIfIfJfKfLfMfNfIfIfOfIfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfIfIfIfIfIfIfPfQfQfRfIfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfSfIfTfUfUfUfVfIfIfIfWfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeMeNeOeMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfIfIfIfIfIfIfIfIfIfIfIfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaafXfYfYfYfYfYfYfYfYfYfYfZgagbgcfYfYgdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfIfIfIfIfIfIfIfIfIfIfIfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgggfghgigfgjgkgkglgmghgngfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfIfIfIfIfIfIfIfIfIfIfIfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegogfgfgfgfgfgfgfgfgfgfgpgfgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfSfIfIfIfIfIfIfIfIfIfWfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgfgfgqgrgrgrgrgrgsgtgtgugvgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfIfIfIfIfIfIfIfIfIfIfIfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfIfIfIfIfIfIfIfIfIfIfIfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegogfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafHfIgwfIfIfIfIfIfIfIgwfIfHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgxgfgygfgzgzgfgygfgxgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafEfAfAfAfAfAfAfAfAfAfAfAfBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgAgogfgfgfgfgfgfgvgAgfgfgvgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgBgfgCgfgDgDgfgCgfgBgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegogfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgvgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegogfgfgfgfgfgfgfgfgfgfgfgfgfgfgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagegfgEgfgfgfgEgfgfgfgfgEgfgfgfgEgfgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaagcfYfYfYfYfYfYfYfYfYfYfYfYfYfYfYfYfZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +JA +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fX +ge +ge +ge +ge +ge +ge +ge +ge +ge +ge +ge +ge +ge +ge +ge +gc +aa +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fY +gf +go +gf +gf +go +gf +gf +gf +gf +go +gf +gf +gf +go +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fY +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gE +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +sA +Pg +aa +fY +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gX +gY +hr +gY +hi +aa +aa +fY +gg +gf +gf +gf +gf +gx +gA +gB +gf +gf +gf +gf +gf +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gY +hm +he +hn +gY +aa +aa +fY +gf +gf +gf +gf +gf +gf +go +gf +gf +gf +gf +gf +gf +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aP +bf +bf +bf +bf +bP +bf +bf +bf +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gY +hc +hf +hb +gY +aa +aa +fY +gh +gf +gq +gf +gf +gy +gf +gC +gf +gf +gf +gf +hA +hB +gE +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aP +bf +bu +bC +bu +bQ +cd +bu +cl +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gX +gY +gY +gY +gX +aa +aa +fY +gi +gf +gr +gf +gf +gf +gf +gf +gD +gN +gR +gN +hw +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aP +bf +bu +bD +bu +bR +ce +bu +cm +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +sA +Pg +aa +fY +gf +gf +gr +gf +gf +gz +gf +gf +gN +hx +hz +ht +gN +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aP +bg +bu +bE +bu +bS +bu +bu +cn +cv +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fY +gj +gf +gr +gf +gf +gz +gf +gf +gN +hj +hs +hu +gN +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ai +aj +aj +aC +aQ +bh +bv +bv +bv +bT +bv +bv +co +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fY +gk +gf +gr +gf +gf +gf +gf +gf +gD +gN +gN +gN +gD +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ad +aj +aj +aj +aD +aR +bi +bu +bu +bu +bU +bu +bu +bu +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fh +eM +eM +eM +eM +eM +eM +eM +eM +fZ +gk +gf +gr +gf +gf +gy +gf +gC +gf +gf +gf +gf +hA +hB +gE +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ae +ak +aj +aj +aE +aS +bj +bu +bf +bL +bV +bf +gF +cp +cw +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fm +eN +eN +eN +fG +eN +eN +eN +ga +gl +gp +gs +gf +gf +gf +gv +gf +gf +gf +gf +gf +gf +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +af +aj +aj +aj +aF +aT +bk +bu +bu +bu +bW +bu +bu +bu +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fn +ft +eO +eO +eO +eO +eO +eO +gb +gm +gf +gt +gf +gf +gx +gA +hp +gf +gf +gf +gf +gf +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ag +aj +ap +ay +aG +aU +bl +bv +bv +bv +bT +bv +bv +cq +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fo +fu +fh +eM +eM +eM +eM +eM +gc +gh +gf +gt +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ah +al +aq +ab +aH +aP +bm +bu +bu +bu +bX +bu +bu +cr +cx +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fo +fu +fi +aa +aa +aa +aa +aa +fY +gn +gf +gu +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gf +gE +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aI +aP +bn +bu +bF +bu +bY +cf +bu +cs +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fp +fv +fi +aa +aa +aa +aa +aa +fY +gf +gf +gv +gf +gf +gf +gv +hk +hy +hl +gf +gv +gf +gf +gf +fY +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aJ +aV +bo +bu +bG +bu +bZ +cg +bu +ct +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fo +fu +fi +aa +aa +aa +aa +aa +gd +ge +ge +ge +gI +hg +gI +ge +ge +ge +ge +gI +SN +gI +ge +ge +fZ +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +az +aK +aP +bp +bf +bf +bf +ca +bf +bf +bf +bf +aP +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gZ +aa +aa +aa +aa +aa +fi +fo +fu +fi +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gQ +gI +aa +aa +aa +aa +gI +ML +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +az +aK +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aa +cE +cL +cL +cL +cL +cL +cL +cL +cL +cL +cL +cL +cL +cL +cS +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fq +fw +fi +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gf +gI +aa +aa +aa +aa +gI +gf +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +az +aK +aW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cF +cM +cM +cM +dd +cM +cM +cM +cM +cM +cM +dd +cM +cM +cF +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fo +fu +fi +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +hg +gI +gS +gV +aa +aa +gI +SN +gI +hC +hD +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +az +aK +aW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cF +cM +cM +cM +cM +cM +cM +cM +cM +cM +cM +cM +cM +cM +cF +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fn +fu +fi +aa +aa +aa +aa +aa +aa +aa +aa +gG +gH +ho +gH +gU +aa +aa +Gz +zf +ql +zf +kU +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +am +ar +ar +aL +ar +ar +ar +bH +aa +aa +aa +aa +aa +aa +aa +aa +cF +cN +cM +cM +cM +cM +cM +cM +cM +du +cM +cM +cM +cM +cF +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fr +fx +fi +aa +aa +aa +ha +aa +aa +aa +aa +gH +hh +gO +hd +gH +aa +aa +zf +qz +zX +Oc +zf +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +as +as +aM +aX +bq +bw +an +aa +aa +aa +aa +aa +aa +aa +aa +cF +cM +cM +cM +cM +cM +cM +cM +cM +du +cM +cM +cM +cM +cF +aa +aa +aa +aa +aa +aa +aa +aa +aa +fi +fo +fu +fi +aa +aa +aa +aa +aa +aa +aa +aa +gH +gL +gP +gK +gH +aa +aa +zf +XZ +vP +Uh +zf +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +at +aA +aN +aY +br +bx +ao +bM +bM +bM +bM +bM +bM +bM +bM +cF +cM +cM +cM +cM +cM +cM +cM +cM +du +cM +cM +cM +eC +cI +eM +eM +eM +eM +eM +eM +eM +eM +eM +fj +fo +fu +fi +aa +aa +aa +aa +aa +aa +aa +aa +gG +gH +gH +gH +gG +aa +aa +Gz +zf +zf +zf +Gz +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +au +aB +aB +at +bs +by +bI +bN +cb +ch +cj +cu +cy +cu +cu +cG +cO +cO +cO +de +dr +dF +cP +eb +du +cM +cM +ez +cO +eF +eN +eN +eW +eN +eN +eW +eN +ff +eN +eW +fs +fu +fi +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gS +gV +aa +aa +aa +aa +aa +hC +hD +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +av +aB +aB +aZ +bs +bz +bJ +bO +cc +ci +ck +cc +cz +cA +cc +cH +cP +cP +cP +df +ds +du +cM +ec +ek +et +et +eA +et +eG +eO +eO +eO +eO +eO +eO +eO +eO +eO +eO +eO +fy +fi +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +aw +aB +aB +ba +aB +bA +am +bM +bM +bM +bM +bM +bM +bM +bM +cF +cM +cM +cM +dg +dt +du +cM +cM +el +cM +cM +dh +eC +cE +eM +eM +eM +eM +eM +eM +eM +eM +eM +eM +eM +eM +fj +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +an +ax +aB +aO +bb +bt +bB +an +aa +aa +aa +aa +aa +aa +aa +aa +cF +cM +cM +cM +dh +cM +du +cM +cM +el +cM +cM +dh +cM +cF +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ao +ar +ar +ar +bc +ar +ar +bK +aa +aa +aa +aa +aa +aa +aa +aa +cF +cQ +cM +cX +di +cM +du +cM +cM +el +cM +cM +dh +cM +cF +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bd +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cF +cN +cM +cM +dh +cM +du +cM +cM +el +cM +cM +dh +cM +cF +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +be +aa +aa +aa +aa +aa +aa +gW +aa +aa +aa +aa +cF +cM +cM +cM +dj +cO +cO +cO +cO +em +cO +cO +eB +cM +cF +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cF +cM +cM +cM +dh +cM +dG +dF +cP +en +cM +cM +cM +cM +cF +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cI +cL +cS +cY +dk +du +du +du +du +eo +eu +cE +cL +cL +eH +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dl +cZ +cZ +cZ +cZ +dR +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dm +dv +cZ +cZ +cZ +dR +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dl +dw +dy +dy +ed +dR +ev +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dn +dx +cZ +cZ +cZ +dR +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gM +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dl +cZ +cZ +cZ +cZ +dR +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +da +do +dy +dy +dy +dy +ep +ew +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dl +cZ +cZ +cZ +cZ +dR +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dp +dz +dH +dQ +ee +eq +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +cZ +cZ +dl +dR +cZ +cZ +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cU +db +dq +dA +dI +dR +dw +eg +db +er +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dl +dR +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(57,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dl +dR +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(58,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +hq +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +dB +dl +dS +ef +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(59,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dn +dT +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(60,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dl +dR +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(61,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cT +cZ +dl +dR +cZ +cT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(62,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cU +dq +dJ +dU +eg +er +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(63,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dC +dK +dV +dC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(64,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dC +dL +dW +dC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(65,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dC +dM +dX +dC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(66,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dC +dN +dV +dC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(67,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cB +cJ +cJ +cJ +cJ +cJ +dD +dO +dY +cD +cJ +cJ +cJ +cJ +cJ +cJ +cJ +dc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fz +fH +fH +fH +fH +fH +fH +fH +fH +fH +fH +fE +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cK +cK +cK +cK +cK +dE +dP +dZ +eh +es +ex +es +es +eD +eI +cK +cC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fA +fI +fI +fS +fI +fI +fI +fS +fI +fI +fI +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cK +cR +cR +cR +cK +cK +cK +ea +ei +ei +ey +ei +ei +ei +eJ +eP +cC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fA +fI +fI +fI +fI +fI +fI +fI +fI +fI +gw +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(70,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cK +cR +cV +cK +cK +cK +cK +cK +ej +cR +cR +cR +cR +cK +eK +eQ +cC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fA +fJ +fI +fT +fI +fI +fI +fI +fI +fI +fI +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(71,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cK +cR +cW +cK +cK +cK +cK +cK +cK +cK +cK +cK +cR +eE +eL +eR +cC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fA +fK +fI +fU +fI +fI +fI +fI +fI +fI +fI +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(72,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gJ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cK +cR +cK +cK +cK +cK +cK +cK +cK +cK +cK +cK +cR +cK +eK +eQ +cD +eX +eX +eX +eX +eX +eX +eX +eX +eX +eX +eX +fB +fL +fI +fU +fI +fI +fI +fI +fI +fI +fI +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(73,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cK +cR +cR +cR +cK +cK +cK +cK +cK +cK +cK +ej +cR +cK +eK +eS +eU +eY +eY +fb +eY +fd +eY +eY +fk +eY +eY +eY +fC +fM +fI +fU +fI +fI +fI +fI +fI +fI +fI +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(74,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cK +cK +cK +cK +cK +cK +cK +cK +cK +cK +cK +cK +cR +cK +dP +dZ +eV +eZ +fa +fc +eZ +fe +eZ +fg +fl +eZ +fa +eZ +fD +fN +fP +fV +fI +fI +fI +fI +fI +fI +fI +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(75,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cD +cJ +cJ +cJ +dc +cK +cK +cK +cK +cK +cK +cK +cK +cR +cK +cK +eQ +cB +eX +eX +eX +eX +eX +eX +eX +eX +eX +eX +eX +fE +fI +fQ +fI +fI +fI +fI +fI +fI +fI +fI +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(76,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cW +cK +cK +cK +ej +cR +cR +cR +cR +cK +cK +eT +cC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fA +fI +fQ +fI +fI +fI +fI +fI +fI +fI +fI +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(77,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cK +cK +cK +cK +cK +cK +cK +cK +cK +cK +cK +ej +cC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fA +fO +fR +fI +fI +fI +fI +fI +fI +fI +gw +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(78,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cC +cK +cK +cK +cK +cK +cK +cK +cK +cK +cK +cK +cK +cC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +fA +fI +fI +fW +fI +fI +fI +fW +fI +fI +fI +fA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(79,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cD +cJ +cJ +cJ +cJ +cJ +cJ +cJ +cJ +cJ +cJ +cJ +cJ +dD +aa +aa +aa +aa +hv +aa +aa +aa +aa +aa +aa +fF +fH +fH +fH +fH +fH +fH +fH +fH +fH +fH +fB +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(80,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(81,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(82,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(83,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(84,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gT +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(85,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa "} diff --git a/maps/virgo_minitest/virgo_minitest-sector-2.dmm b/maps/virgo_minitest/virgo_minitest-sector-2.dmm new file mode 100644 index 0000000000..728ab2e888 --- /dev/null +++ b/maps/virgo_minitest/virgo_minitest-sector-2.dmm @@ -0,0 +1,10966 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/space) +"ab" = ( +/turf/simulated/mineral, +/area/space) +"ac" = ( +/mob/living/simple_mob/animal/space/carp, +/turf/space, +/area/space) +"ad" = ( +/turf/simulated/mineral, +/area/mine/unexplored) +"ae" = ( +/turf/simulated/mineral/floor/ignore_mapgen, +/area/space) +"af" = ( +/obj/effect/landmark{ + name = "awaystart" + }, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/space) +"ag" = ( +/obj/item/weapon/pickaxe/jackhammer, +/turf/simulated/mineral/floor/ignore_mapgen, +/area/space) +"ah" = ( +/obj/structure/lattice, +/turf/space, +/area/space) +"ai" = ( +/turf/simulated/wall/iron, +/area/awaymission) +"aj" = ( +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2"; + pixel_y = 0 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/power/smes/buildable, +/turf/simulated/floor/plating, +/area/awaymission) +"ak" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/turf/simulated/floor/plating, +/area/awaymission) +"al" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/awaymission) +"am" = ( +/obj/machinery/gateway{ + dir = 9 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission) +"an" = ( +/obj/machinery/gateway{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission) +"ao" = ( +/obj/machinery/gateway{ + dir = 5 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission) +"ap" = ( +/obj/machinery/shower{ + dir = 4; + icon_state = "shower"; + pixel_x = 5 + }, +/obj/machinery/door/window, +/turf/simulated/floor/tiled/freezer, +/area/awaymission) +"aq" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission) +"ar" = ( +/obj/machinery/door/airlock/silver, +/turf/simulated/floor/tiled/white, +/area/awaymission) +"as" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission) +"at" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/lino, +/area/awaymission) +"au" = ( +/obj/structure/bedsheetbin, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/lino, +/area/awaymission) +"av" = ( +/obj/item/weapon/storage/toolbox/electrical, +/obj/structure/cable, +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -24 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/awaymission) +"aw" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + icon_state = "warningcorner"; + dir = 1 + }, +/turf/simulated/floor/plating, +/area/awaymission) +"ax" = ( +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/plating, +/area/awaymission) +"ay" = ( +/obj/machinery/gateway{ + dir = 8 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission) +"az" = ( +/obj/machinery/gateway/centeraway{ + calibrated = 0 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission) +"aA" = ( +/obj/machinery/gateway{ + dir = 4 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission) +"aB" = ( +/obj/structure/window/basic{ + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission) +"aC" = ( +/turf/simulated/floor/tiled/white, +/area/awaymission) +"aD" = ( +/obj/item/weapon/bedsheet, +/obj/structure/bed/padded, +/turf/simulated/floor/lino, +/area/awaymission) +"aE" = ( +/turf/simulated/floor/lino, +/area/awaymission) +"aF" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/space/void/mining, +/obj/item/clothing/mask/breath, +/obj/item/clothing/head/helmet/space/void/mining, +/obj/item/weapon/mining_scanner, +/obj/item/weapon/tank/jetpack/oxygen, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/plating, +/area/awaymission) +"aG" = ( +/turf/simulated/floor/plating, +/area/awaymission) +"aH" = ( +/obj/structure/closet/toolcloset, +/obj/item/weapon/pickaxe/jackhammer, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/plating, +/area/awaymission) +"aI" = ( +/obj/machinery/gateway{ + density = 0; + dir = 10 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission) +"aJ" = ( +/obj/machinery/gateway, +/turf/simulated/floor/bluegrid, +/area/awaymission) +"aK" = ( +/obj/machinery/gateway{ + density = 0; + dir = 6 + }, +/turf/simulated/floor/bluegrid, +/area/awaymission) +"aL" = ( +/obj/structure/sink{ + icon_state = "sink"; + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/mirror{ + dir = 4; + pixel_x = -32; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/awaymission) +"aM" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"aN" = ( +/obj/structure/table/woodentable, +/obj/random/action_figure, +/turf/simulated/floor/lino, +/area/awaymission) +"aO" = ( +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"aP" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/landmark/loot_spawn, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"aQ" = ( +/obj/structure/closet/jcloset, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"aR" = ( +/obj/structure/closet/secure_closet/medical1, +/obj/random/medical, +/obj/random/medical, +/obj/random/medical, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"aS" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor/plating, +/area/awaymission) +"aT" = ( +/obj/machinery/door/airlock/hatch, +/turf/simulated/floor/plating, +/area/awaymission) +"aU" = ( +/obj/machinery/door/airlock/silver, +/turf/simulated/floor/plating, +/area/awaymission) +"aV" = ( +/obj/machinery/door/airlock, +/turf/simulated/floor/lino, +/area/awaymission) +"aW" = ( +/obj/effect/wingrille_spawn/reinforced, +/turf/simulated/floor/plating, +/area/awaymission) +"aX" = ( +/obj/structure/table/reinforced, +/obj/random/tech_supply, +/turf/simulated/floor/tiled, +/area/awaymission) +"aY" = ( +/turf/simulated/floor/tiled, +/area/awaymission) +"aZ" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled, +/area/awaymission) +"ba" = ( +/obj/structure/closet/gimmick/russian, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bb" = ( +/obj/structure/closet/gimmick/russian, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bc" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate/freezer, +/obj/item/trash/syndi_cakes, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bd" = ( +/obj/structure/closet/wardrobe/black, +/obj/item/clothing/under/syndicate/tacticool, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"be" = ( +/obj/structure/closet/secure_closet/personal, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/landmark/costume, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bf" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bg" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/closet/crate/internals, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bh" = ( +/obj/structure/closet/crate/internals, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/weapon/tank/emergency/oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bi" = ( +/obj/structure/closet/crate/plastic, +/obj/random/contraband, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bj" = ( +/obj/structure/closet/crate, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/random/weapon, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bk" = ( +/obj/machinery/door/airlock/mining, +/turf/simulated/floor/tiled, +/area/awaymission) +"bl" = ( +/obj/machinery/door/airlock/glass, +/turf/simulated/floor/tiled, +/area/awaymission) +"bm" = ( +/obj/structure/table/steel, +/turf/simulated/floor/tiled, +/area/awaymission) +"bn" = ( +/obj/item/mecha_parts/mecha_equipment/tool/drill, +/obj/item/weapon/storage/toolbox/mechanical, +/obj/structure/table/steel, +/turf/simulated/floor/tiled, +/area/awaymission) +"bo" = ( +/obj/structure/ore_box, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/awaymission) +"bp" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table/rack, +/turf/simulated/floor/tiled, +/area/awaymission) +"bq" = ( +/obj/structure/table/rack, +/turf/simulated/floor/tiled, +/area/awaymission) +"br" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/awaymission) +"bs" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bt" = ( +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bu" = ( +/obj/machinery/vending/coffee{ + prices = list() + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bv" = ( +/obj/machinery/vending/sovietsoda, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bw" = ( +/obj/machinery/vending/snack{ + prices = list() + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bx" = ( +/obj/machinery/vending/cigarette{ + prices = list() + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"by" = ( +/obj/machinery/vending/dinnerware, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bz" = ( +/obj/structure/closet/crate/secure/weapon, +/obj/item/weapon/gun/projectile/shotgun/pump/rifle, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bA" = ( +/obj/structure/closet/crate/secure/weapon, +/obj/item/ammo_magazine/clip/c762, +/obj/item/ammo_magazine/clip/c762, +/obj/item/ammo_magazine/clip/c762, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bB" = ( +/obj/structure/dispenser/oxygen, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/awaymission) +"bC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 6 + }, +/turf/simulated/floor/tiled, +/area/awaymission) +"bD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 4 + }, +/turf/simulated/floor/tiled, +/area/awaymission) +"bE" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1; + icon_state = "map" + }, +/turf/simulated/floor/tiled, +/area/awaymission) +"bF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden{ + dir = 10; + icon_state = "intact" + }, +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1375; + master_tag = "carp_airlock"; + name = "interior access button"; + pixel_x = 26; + pixel_y = -26; + req_one_access = newlist() + }, +/turf/simulated/floor/tiled, +/area/awaymission) +"bG" = ( +/obj/machinery/suit_cycler/mining, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled, +/area/awaymission) +"bH" = ( +/obj/structure/bed/chair, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bI" = ( +/obj/mecha/working/hoverpod/combatpod, +/obj/machinery/mech_recharger, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bJ" = ( +/obj/machinery/mech_recharger, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bK" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/tiled/dark, +/area/awaymission) +"bL" = ( +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; + icon_state = "space"; + layer = 4; + name = "EXTERNAL AIRLOCK"; + pixel_x = 0; + pixel_y = 0 + }, +/turf/simulated/wall/iron, +/area/awaymission) +"bM" = ( +/obj/machinery/door/airlock/external{ + frequency = 1375; + icon_state = "door_locked"; + id_tag = "carp_inner"; + locked = 1; + name = "External Access"; + req_access = newlist() + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/turf/simulated/floor/plating, +/area/awaymission) +"bN" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bO" = ( +/obj/item/weapon/reagent_containers/food/snacks/cubancarp, +/obj/effect/floor_decal/corner/white/diagonal, +/obj/structure/table/glass, +/turf/simulated/floor/tiled, +/area/awaymission) +"bP" = ( +/obj/item/weapon/reagent_containers/food/snacks/carpmeat, +/obj/effect/floor_decal/corner/white/diagonal, +/obj/structure/table/glass, +/turf/simulated/floor/tiled, +/area/awaymission) +"bQ" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bR" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1375; + id_tag = "carp_pump" + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + frequency = 1375; + id_tag = "carp_airlock"; + pixel_x = -28; + pixel_y = 0; + req_access = null; + tag_airpump = "carp_pump"; + tag_chamber_sensor = "carp_sensor"; + tag_exterior_door = "carp_outer"; + tag_interior_door = "carp_inner" + }, +/obj/effect/floor_decal/industrial/warning/cee{ + icon_state = "warningcee"; + dir = 8 + }, +/turf/simulated/floor/plating, +/area/awaymission) +"bS" = ( +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + frequency = 1375; + id_tag = "carp_pump" + }, +/obj/effect/floor_decal/industrial/warning/cee{ + icon_state = "warningcee"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/awaymission) +"bT" = ( +/obj/structure/closet/emcloset, +/obj/item/weapon/storage/toolbox/emergency, +/obj/machinery/airlock_sensor{ + frequency = 1375; + id_tag = "carp_sensor"; + pixel_x = 28 + }, +/turf/simulated/floor/plating, +/area/awaymission) +"bU" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bV" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/obj/effect/floor_decal/corner/white/diagonal, +/turf/simulated/floor/tiled, +/area/awaymission) +"bW" = ( +/obj/effect/floor_decal/corner/white/diagonal, +/obj/structure/closet/crate/bin, +/obj/item/trash/candy/proteinbar, +/turf/simulated/floor/tiled, +/area/awaymission) +"bX" = ( +/obj/machinery/door/airlock/external{ + frequency = 1375; + icon_state = "door_locked"; + id_tag = "carp_outer"; + locked = 1; + name = "External Access"; + req_access = newlist() + }, +/turf/simulated/floor/plating, +/area/awaymission) +"bY" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/airless, +/area/awaymission) +"bZ" = ( +/turf/simulated/floor/airless, +/area/awaymission) +"ca" = ( +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1375; + master_tag = "carp_airlock"; + name = "exterior access button"; + pixel_x = 26; + pixel_y = 26; + req_access = newlist() + }, +/turf/simulated/floor/airless, +/area/awaymission) +"cb" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/space, +/area/space) +"cc" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/floor/airless, +/area/space) +"cd" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/airless, +/area/space) +"ce" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/floor/airless, +/area/space) +"cf" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/airless, +/area/space) +"cg" = ( +/turf/simulated/floor/airless, +/area/space) +"ch" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/airless, +/area/space) +"ci" = ( +/obj/effect/gibspawner/human, +/turf/simulated/floor/airless, +/area/space) +"cj" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/floor/airless, +/area/space) +"ck" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/airless, +/area/space) +"cl" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/floor/airless, +/area/space) +"cm" = ( +/obj/effect/shuttle_landmark/automatic, +/turf/space, +/area/space) +"cn" = ( +/obj/effect/shuttle_landmark/automatic, +/turf/simulated/floor/airless, +/area/space) +"co" = ( +/obj/effect/overmap/visitable/sector/virgo_minitest/carpfarm, +/turf/space, +/area/space) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +co +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +ac +aa +aa +ab +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +ad +ad +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +ad +ad +ad +aa +aa +aa +aa +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +ab +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +ad +ad +ad +ad +ad +ad +aa +ad +ad +ad +ai +ai +ai +ai +ai +ai +ai +aW +aW +aW +ai +ai +ai +ai +ai +ai +ah +ah +cb +cb +cb +cb +cb +cb +cb +cb +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aj +av +aF +aF +aF +ai +aX +aX +aX +ai +bm +aY +aY +bI +ai +ah +aa +aa +ah +ah +aa +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ak +aw +aG +aG +aG +aS +aY +aY +aY +ai +bn +aY +aY +bJ +ai +ah +aa +aa +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +al +ax +aH +aH +aH +ai +aY +aY +aY +ai +bo +aY +bC +bK +ai +ah +aa +aa +ah +ah +aa +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +ai +ai +aZ +aY +aY +ai +bp +aY +bD +bL +ai +ai +bY +cc +cf +cf +cf +cf +cf +cj +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +am +ay +aI +aM +aO +ai +aY +aY +aY +ai +bq +aY +bE +bM +bR +bX +bZ +cd +cg +cn +cg +cg +ci +ck +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +an +az +aJ +aM +aO +aT +aY +aY +aY +bk +aY +aY +bF +bM +bS +bX +ca +cd +cg +cg +cg +cg +cg +ck +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ao +aA +aK +aM +aO +ai +aY +aY +aY +ai +br +bB +bG +ai +bT +ai +bZ +ce +ch +ch +ch +ch +ch +cl +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +ai +ai +aZ +aY +aY +ai +ai +ai +ai +ai +ai +ai +ad +aa +ah +ah +aa +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ap +aB +aL +aL +aL +ai +aY +aY +aY +ai +bs +bt +bt +bt +bU +ai +ad +ad +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aq +aC +aC +aC +aC +aU +aY +aY +aY +bl +bt +bt +bt +bt +bt +ai +ad +ad +ad +ah +aa +ah +ah +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ar +ai +ar +ai +ar +ai +aY +aY +aY +ai +bu +bt +bt +bN +bt +ai +ad +ad +ad +ad +ad +ad +ah +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +as +ai +as +ai +as +ai +aY +aY +aY +ai +bv +bt +bH +bO +bV +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +ai +ai +aZ +aY +aY +ai +bw +bt +bH +bP +bV +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +at +aD +aE +aN +aD +ai +aY +aY +aY +ai +bx +bt +bt +bQ +bt +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +au +aE +aE +aE +aE +aV +aY +aY +aY +bl +bt +bt +bt +bt +bt +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +at +aD +aE +at +aD +ai +aY +aY +aY +ai +by +bt +bt +bt +bW +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +ai +ai +ai +bf +ai +ai +ai +ai +ai +ai +ai +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aP +aO +ba +aO +bg +aO +bz +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aP +aO +bb +aO +bh +aO +bA +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aO +aO +aO +aO +aO +aO +aO +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aO +aO +aO +aO +aO +aO +aO +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aQ +aO +bc +aO +bi +aO +aP +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aR +aO +bd +aO +aP +aO +aP +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +aR +aO +be +aO +bj +aO +aP +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ai +ai +ai +ai +ai +ai +ai +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(57,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(58,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(59,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(60,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(61,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(62,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(63,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(64,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(65,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(66,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(67,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +ab +ab +ab +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(70,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(71,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(72,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(73,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(74,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(75,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +aa +aa +aa +aa +aa +ab +ab +ab +ae +ae +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(76,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ae +ae +ae +ae +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +ad +aa +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aa +aa +aa +ad +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(77,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ae +ae +af +ae +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ad +ad +aa +aa +aa +aa +aa +aa +aa +aa +ad +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(78,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ae +ae +ae +ae +ae +ae +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(79,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ae +ae +ae +ae +ae +ae +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(80,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ae +ae +ae +ae +ae +ae +ae +ab +ab +ab +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(81,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ae +ae +ag +ae +af +ae +ab +ab +ab +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(82,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ae +ae +ae +ae +ae +ae +ab +ab +ab +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +cm +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(83,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ae +ae +ae +ae +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(84,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ae +ae +ae +ae +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(85,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ae +ae +af +ae +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ae +ae +ae +ae +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ae +ae +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ac +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/virgo_minitest/virgo_minitest-sector-3.dmm b/maps/virgo_minitest/virgo_minitest-sector-3.dmm new file mode 100644 index 0000000000..a3a94f7ef8 --- /dev/null +++ b/maps/virgo_minitest/virgo_minitest-sector-3.dmm @@ -0,0 +1,10488 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/awaymission/wwmines) +"ab" = ( +/obj/structure/table/bench/wooden, +/turf/simulated/floor/beach/sand, +/area/awaymission/wwmines) +"ac" = ( +/turf/simulated/floor/outdoors/rocks, +/area/awaymission/wwmines) +"ad" = ( +/turf/simulated/floor/water, +/area/awaymission/wwmines) +"ae" = ( +/turf/simulated/floor/water/deep, +/area/awaymission/wwmines) +"af" = ( +/turf/simulated/floor/beach/sand, +/area/awaymission/wwmines) +"ag" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/beach/sand, +/area/awaymission/wwmines) +"ah" = ( +/turf/unsimulated/wall, +/area/awaymission/wwmines) +"ai" = ( +/turf/simulated/wall/wood, +/area/awaymission/wwmines) +"aj" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/obj/item/clothing/accessory/jacket, +/obj/item/clothing/accessory/jacket, +/obj/item/clothing/head/beanie, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"ak" = ( +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"al" = ( +/obj/structure/closet{ + icon_closed = "cabinet_closed"; + icon_opened = "cabinet_open"; + icon_state = "cabinet_closed" + }, +/obj/item/weapon/gun/projectile/shotgun/doublebarrel, +/obj/item/weapon/storage/box/beanbags, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"am" = ( +/turf/simulated/floor/carpet/turcarpet, +/area/awaymission/wwmines) +"an" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/storage/toolbox/mechanical, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"ao" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing, +/turf/simulated/floor/water, +/area/awaymission/wwmines) +"ap" = ( +/obj/structure/railing, +/turf/simulated/floor/water, +/area/awaymission/wwmines) +"aq" = ( +/obj/item/weapon/stool/padded, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"ar" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/deck/cards, +/turf/simulated/floor/carpet/turcarpet, +/area/awaymission/wwmines) +"as" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/snacks/chips, +/turf/simulated/floor/carpet/turcarpet, +/area/awaymission/wwmines) +"at" = ( +/obj/structure/table/woodentable, +/obj/item/trash/candle, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"au" = ( +/obj/item/weapon/stool, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"av" = ( +/turf/simulated/floor/wood{ + icon_state = "wood_broken6" + }, +/area/awaymission/wwmines) +"aw" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/water, +/area/awaymission/wwmines) +"ax" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, +/turf/simulated/floor/carpet/turcarpet, +/area/awaymission/wwmines) +"ay" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/turf/simulated/floor/carpet/turcarpet, +/area/awaymission/wwmines) +"az" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/tape_roll, +/obj/random/firstaid, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aA" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/obj/item/weapon/reagent_containers/food/drinks/glass2/shot, +/turf/simulated/floor/carpet/turcarpet, +/area/awaymission/wwmines) +"aB" = ( +/turf/simulated/floor/wood{ + icon_state = "wood_broken2" + }, +/area/awaymission/wwmines) +"aC" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/turf/simulated/floor/water, +/area/awaymission/wwmines) +"aD" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/turf/simulated/floor/water, +/area/awaymission/wwmines) +"aE" = ( +/obj/vehicle/boat/sifwood, +/turf/simulated/floor/water, +/area/awaymission/wwmines) +"aF" = ( +/obj/structure/window/reinforced/full, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aG" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/oar, +/obj/item/weapon/oar, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aH" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 8 + }, +/turf/simulated/floor/water, +/area/awaymission/wwmines) +"aI" = ( +/obj/structure/table/woodentable, +/obj/random/powercell, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aJ" = ( +/turf/simulated/floor/wood{ + icon_state = "wood_broken4" + }, +/area/awaymission/wwmines) +"aK" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 8 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 1 + }, +/turf/simulated/floor/water, +/area/awaymission/wwmines) +"aL" = ( +/obj/structure/simple_door/wood, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aM" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/meat, +/obj/item/weapon/reagent_containers/food/snacks/fruitsalad, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aN" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aO" = ( +/turf/simulated/floor/carpet/bcarpet, +/area/awaymission/wwmines) +"aP" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/material/knife, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aQ" = ( +/obj/structure/bookcase, +/turf/simulated/floor/carpet/bcarpet, +/area/awaymission/wwmines) +"aR" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/storage/bag/trash, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aS" = ( +/obj/structure/table/woodentable, +/obj/item/weapon/flame/lighter, +/obj/item/weapon/storage/fancy/candle_box, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aT" = ( +/obj/structure/bed/chair/wood, +/turf/simulated/floor/carpet/bcarpet, +/area/awaymission/wwmines) +"aU" = ( +/obj/structure/table/rack, +/obj/item/clothing/accessory/poncho/blue, +/obj/item/clothing/accessory/poncho/blue, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aV" = ( +/obj/structure/coatrack, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aW" = ( +/obj/structure/table/rack, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/suit/storage/hooded/wintercoat, +/obj/item/clothing/head/hood/winter, +/obj/item/clothing/shoes/boots/winter, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aX" = ( +/obj/structure/table/rack, +/obj/item/clothing/accessory/storage, +/obj/item/clothing/accessory/storage, +/turf/simulated/floor/wood, +/area/awaymission/wwmines) +"aY" = ( +/obj/structure/table/woodentable, +/obj/item/device/flashlight/lamp, +/turf/simulated/floor/carpet/bcarpet, +/area/awaymission/wwmines) +"aZ" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/carpet/bcarpet, +/area/awaymission/wwmines) +"ba" = ( +/turf/simulated/floor/outdoors/dirt, +/area/awaymission/wwmines) +"bb" = ( +/obj/structure/flora/tree/sif, +/turf/simulated/floor/beach/sand, +/area/awaymission/wwmines) +"bc" = ( +/obj/effect/shuttle_landmark/automatic, +/turf/simulated/floor/beach/sand, +/area/awaymission/wwmines) +"bd" = ( +/obj/effect/overmap/visitable/sector/virgo_minitest/beach, +/turf/space, +/area/awaymission/wwmines) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +bd +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ai +ai +ai +ai +ai +ai +af +af +af +af +af +ai +ai +ai +ai +ai +ai +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ac +ad +ad +ac +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ai +ai +ai +ai +ai +ai +ai +aF +aF +aF +aF +aF +ai +ai +ai +ai +ai +ai +ai +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ai +aj +ak +aq +aq +aq +ak +ak +ak +ak +ak +ak +ak +aM +aN +aP +aR +ai +ai +ai +af +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ai +ai +ak +am +ar +ax +aA +am +am +am +am +am +am +am +am +am +am +aS +ai +ai +ai +af +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ai +ai +ak +am +as +ay +ay +am +am +am +am +am +am +am +am +am +am +ak +ai +ai +ai +af +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +ai +ai +al +ak +aq +aq +aq +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ak +aU +ai +af +af +ba +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ak +am +am +aV +ai +ai +ai +ba +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +ai +ai +ak +an +at +az +ak +ak +aG +at +aI +ak +ai +ai +ai +ak +am +am +ak +aL +ak +aL +ba +ba +af +af +af +bc +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +ac +ac +af +ai +ai +ak +ak +au +ak +ak +ak +ak +au +ak +ak +aL +ak +aL +ak +am +am +ak +aL +ak +aL +ba +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ac +af +af +af +af +ac +ac +ac +ac +ac +ac +ac +ac +ai +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +ai +ai +ak +am +am +aW +ai +ai +ai +ba +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ae +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ac +ac +ac +ac +ac +ac +ac +ac +ac +ad +ad +ad +ac +ai +ak +ak +ak +ak +aB +ak +ak +ak +ak +ak +ak +ak +ai +ak +ak +ak +aX +ai +af +af +ba +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ao +ak +ak +aC +aw +ao +ak +ak +aK +aH +aH +ai +aL +ai +ai +ai +ai +ai +af +ba +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ap +av +ak +aD +ad +ap +ak +ak +aD +ad +ad +ai +aO +aQ +aQ +aY +ai +ai +af +ba +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ap +ak +ak +aE +ad +ad +ak +aJ +aD +ad +ad +ai +aO +aO +aT +aZ +ai +ai +af +ba +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ai +ai +ap +ak +ak +aD +ad +ap +ak +ak +aD +ad +ad +ai +aF +aF +aF +aF +ai +ac +af +af +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +aw +aw +ad +ad +ad +aH +aH +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +ba +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ac +ac +ac +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ac +ac +af +af +ac +ac +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +ac +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ac +af +af +af +af +af +ac +ac +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(56,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ac +af +ab +ag +ab +af +af +ac +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(57,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ac +af +ab +ag +ab +af +af +ac +ac +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(58,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ac +af +ab +ag +ab +af +af +af +ac +ad +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(59,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ac +ac +af +ab +ag +ab +af +af +af +ac +ad +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(60,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ae +ad +ae +ae +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(61,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ae +ae +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(62,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ae +ae +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(63,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ad +ad +ad +ad +ad +ad +ac +ac +ac +ac +af +af +bb +af +af +af +af +af +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ae +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(64,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ac +ac +ac +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(65,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ac +ac +ac +af +af +af +af +af +af +af +af +af +af +af +bb +af +af +ac +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(66,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +af +af +af +af +af +af +af +af +af +af +af +af +bc +af +af +af +af +af +af +ac +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +ac +ac +ac +ac +ad +ad +ad +ad +ad +ad +ad +ad +ad +ac +ac +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(67,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ad +ad +ac +ac +ad +ad +ad +ad +ac +ac +af +af +af +af +ac +ac +ac +ad +ad +ad +ac +ac +ac +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ac +ac +ac +ac +ac +ac +ac +ac +ac +ac +af +af +af +af +af +af +af +ac +ac +ac +ac +ac +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(70,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(71,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(72,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(73,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(74,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(75,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(76,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(77,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(78,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(79,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(80,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(81,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(82,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(83,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(84,1,1) = {" +aa +ah +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +af +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(85,1,1) = {" +aa +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +ah +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/virgo_minitest/virgo_minitest.dm b/maps/virgo_minitest/virgo_minitest.dm index 8d15bf1021..5906fae2f6 100644 --- a/maps/virgo_minitest/virgo_minitest.dm +++ b/maps/virgo_minitest/virgo_minitest.dm @@ -1,8 +1,12 @@ #if !defined(USING_MAP_DATUM) #include "virgo_minitest-1.dmm" + #include "virgo_minitest-sector-2.dmm" + #include "virgo_minitest-sector-3.dmm" #include "virgo_minitest_defines.dm" + #include "virgo_minitest_shuttles.dm" + #include "virgo_minitest_sectors.dm" #define USING_MAP_DATUM /datum/map/virgo_minitest diff --git a/maps/virgo_minitest/virgo_minitest_defines.dm b/maps/virgo_minitest/virgo_minitest_defines.dm index 53e0058192..13a39a591e 100644 --- a/maps/virgo_minitest/virgo_minitest_defines.dm +++ b/maps/virgo_minitest/virgo_minitest_defines.dm @@ -19,6 +19,12 @@ accessible_z_levels = list("1" = 100) // The defines can't be used here sadly. base_turf_by_z = list("1" = /turf/space) + use_overmap = TRUE + //var/overmap_size = 20 // Dimensions of overmap zlevel if overmap is used. + //var/overmap_z = 0 // If 0 will generate overmap zlevel on init. Otherwise will populate the zlevel provided. + //var/overmap_event_areas = 0 // How many event "clouds" will be generated + + station_name = "NSS Ade-testing" station_short = "VORE-testing" dock_name = "Virgo-test CC" diff --git a/maps/virgo_minitest/virgo_minitest_sectors.dm b/maps/virgo_minitest/virgo_minitest_sectors.dm new file mode 100644 index 0000000000..31a14e3c31 --- /dev/null +++ b/maps/virgo_minitest/virgo_minitest_sectors.dm @@ -0,0 +1,50 @@ + +/obj/effect/overmap/visitable/sector/virgo_minitest/station + name = "Minitest Station" + desc = "The Virgo Minitest Station. A small base useful for testing and loading quickly!" + base = 1 + start_x = 10 + start_y = 10 + initial_generic_waypoints = list("nav_shared_space", "nav_station_inside", "nav_station_docking1", "nav_station_docking2") + +/obj/effect/overmap/visitable/sector/virgo_minitest/carpfarm + name = "Carp Farm" + desc = "Abandond space carp farming facility." + start_x = 12 + start_y = 7 + +/obj/effect/overmap/visitable/sector/virgo_minitest/beach + name = "Beach Planet" + desc = "A beach in space. Or on a planet. Its a hack." + in_space = 0 + start_x = 8 + start_y = 16 + +// +// Overmap Shuttle Demo +// + +/datum/shuttle/autodock/overmap/overmapdemo + name = "Overmap-Demo" + warmup_time = 0 + shuttle_area = /area/shuttle/overmapdemo + current_location = "nav_station_docking2" + docking_controller_tag = "overmapdemo_docker" + fuel_consumption = 0 // Override to infinate fuel for now. + +/area/shuttle/overmapdemo + name = "Overmap-Demo Suttle" + music = "music/escape.ogg" + icon_state = "shuttle" + + +// +// Making Overmap Shuttle into a Landable Ship +// + +/obj/effect/overmap/visitable/ship/landable/overmapdemo + name = "VSS Overmap Demo" + desc = "Small little shuttle nonetheless capable of overmap travel!" + vessel_mass = 5000 + vessel_size = SHIP_SIZE_SMALL + shuttle = "Overmap-Demo" diff --git a/maps/virgo_minitest/virgo_minitest_shuttles.dm b/maps/virgo_minitest/virgo_minitest_shuttles.dm new file mode 100644 index 0000000000..5516791f46 --- /dev/null +++ b/maps/virgo_minitest/virgo_minitest_shuttles.dm @@ -0,0 +1,178 @@ +/* +** Shared Landmark Defs +*/ + +// Shared landmark for docking at the station +/obj/effect/shuttle_landmark/station_dockpoint1 + name = "Station Docking Point 1" + landmark_tag = "nav_station_docking1" + docking_controller = "station_dock1" + base_turf = /turf/space + base_area = /area/space + + +/obj/effect/shuttle_landmark/station_dockpoint2 + name = "Station Docking Point 2" + landmark_tag = "nav_station_docking2" + docking_controller = "station_dock2" + base_turf = /turf/space + base_area = /area/space + +// Shared landmark for docking *inside* the station +/obj/effect/shuttle_landmark/station_inside + name = "Internal Hangar" + landmark_tag = "nav_station_inside" + docking_controller = "station_hangar" + base_turf = /turf/simulated/floor/tiled + base_area = /area/bridge + +/obj/effect/shuttle_landmark/shared_space + name = "Somewhere In Space" + landmark_tag = "nav_shared_space" + base_turf = /turf/space + base_area = /area/space + +// +// Ferry Demo Shuttle +// + +/datum/shuttle/autodock/ferry/ferrydemo + name = "Ferry-Demo" + warmup_time = 0 + shuttle_area = /area/shuttle/ferrydemo + docking_controller_tag = "ferrydemo_shuttle" + landmark_station = "nav_station_docking1" + landmark_offsite = "nav_ferrydemo_space" + +/area/shuttle/ferrydemo + name = "Ferry-Demo Suttle" + music = "music/escape.ogg" + icon_state = "shuttle" + +/obj/effect/shuttle_landmark/ferrydemo_space + name = "Ferry-Demo Space Hover Point" + landmark_tag = "nav_ferrydemo_space" + flags = SLANDMARK_FLAG_AUTOSET + +/obj/effect/shuttle_landmark/transit/ferrydemo_transit + name = "Ferry-Demo Transient Point" + landmark_tag = "nav_ferrydemo_transit" + flags = SLANDMARK_FLAG_AUTOSET + +// /obj/machinery/computer/shuttle_control/power_change() +// log_debug("[src].power_change() - area=[get_area(src)] powered=[powered(power_channel)]") +// . = ..() + + +// +// MULTI DEMO SHUTTLE +// + +/datum/shuttle/autodock/multi/multidemo + name = "Multi-Demo" + warmup_time = 0 + shuttle_area = /area/shuttle/multidemo + docking_controller_tag = "multidemo_shuttle" + current_location = "nav_multidemo_start" + destination_tags = list("nav_station_docking2", "nav_shared_space", "nav_station_docking1", "nav_multidemo_nearby") + can_cloak = TRUE + +/area/shuttle/multidemo + name = "Multi-Demo Suttle" + music = "music/escape.ogg" + icon_state = "shuttlegrn" + +/obj/effect/shuttle_landmark/multidemo_start + name = "Multi-Demo Starting Point" + landmark_tag = "nav_multidemo_start" + base_turf = /turf/space + base_area = /area/space + +/obj/effect/shuttle_landmark/multidemo_nearby + name = "Multi-Demo Nearby" + landmark_tag = "nav_multidemo_nearby" + flags = SLANDMARK_FLAG_AUTOSET + +/obj/effect/shuttle_landmark/transit/multidemo_transit + name = "Multi-Demo Transient Point" + landmark_tag = "nav_multidemo_transit" + flags = SLANDMARK_FLAG_AUTOSET + + +// +// WEB DEMO SHUTTLE +// + +/area/shuttle/webdemo + name = "Web-Demo Suttle" + icon_state = "shuttlered" + music = "music/escape.ogg" + +/datum/shuttle/autodock/web_shuttle/webdemo + name = "Web-Demo" + warmup_time = 0 + shuttle_area = /area/shuttle/webdemo + current_location = "nav_station_inside" + docking_controller_tag = "webdemo_docker" + web_master_type = /datum/shuttle_web_master/webdemo + +/datum/shuttle_web_master/webdemo + destination_class = /datum/shuttle_destination/webdemo + starting_destination = /datum/shuttle_destination/webdemo/inside_bridge + +// +// inside_bridge--\ +// |---nearby_bridge---faraway +// docked_bridge--/ +// + +/datum/shuttle_destination/webdemo/inside_bridge + name = "inside the Bridge" + my_landmark = "nav_station_inside" + radio_announce = TRUE + announcer = "Shuttle Authority" + +/datum/shuttle_destination/webdemo/inside_bridge/get_arrival_message() + return "Attention, [master.my_shuttle.visible_name] has arrived at the [name]." + +/datum/shuttle_destination/webdemo/inside_bridge/get_departure_message() + return "Attention, [master.my_shuttle.visible_name] has departed from [name]." + + +/datum/shuttle_destination/webdemo/docked_bridge + name = "Bridge docking pylon" + my_landmark = "nav_station_docking1" + radio_announce = TRUE + announcer = "Shuttle Authority" + +/datum/shuttle_destination/webdemo/docked_bridge/get_arrival_message() + return "Attention, [master.my_shuttle.visible_name] has arrived at [name]." + +/datum/shuttle_destination/webdemo/docked_bridge/get_departure_message() + return "Attention, [master.my_shuttle.visible_name] has departed from [name]." + + +/obj/effect/shuttle_landmark/transit/webdemo_transit + name = "Web-Demo Transient Point" + landmark_tag = "nav_webdemo_transit" + flags = SLANDMARK_FLAG_AUTOSET + +/datum/shuttle_destination/webdemo/nearby_bridge + name = "nearby the Bridge" + my_landmark = "nav_shared_space" + preferred_interim_tag = "nav_webdemo_transit" + routes_to_make = list( + /datum/shuttle_destination/webdemo/inside_bridge = 0, + /datum/shuttle_destination/webdemo/docked_bridge = 0, + /datum/shuttle_destination/webdemo/faraway = 30 SECONDS + ) + +/obj/effect/shuttle_landmark/webdemo_faraway + name = "\"Deep\" Space" + landmark_tag = "nav_webdemo_faraway" + flags = SLANDMARK_FLAG_AUTOSET + +/datum/shuttle_destination/webdemo/faraway + name = "far away" + my_landmark = "nav_webdemo_faraway" + preferred_interim_tag = "nav_webdemo_transit" diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm index b540df9b88..2631325c48 100644 --- a/maps/~map_system/maps.dm +++ b/maps/~map_system/maps.dm @@ -100,6 +100,13 @@ var/list/all_maps = list() var/datum/spawnpoint/spawnpoint_stayed = /datum/spawnpoint/cryo // Used if you end the round on the station. // VOREStation Edit End + var/use_overmap = 0 // If overmap should be used (including overmap space travel override) + var/overmap_size = 20 // Dimensions of overmap zlevel if overmap is used. + var/overmap_z = 0 // If 0 will generate overmap zlevel on init. Otherwise will populate the zlevel provided. + var/overmap_event_areas = 0 // How many event "clouds" will be generated + + var/datum/skybox_settings/default_skybox // What skybox do we use if a zlevel doesn't have a custom one? Provide a type. + var/lobby_icon = 'icons/misc/title.dmi' // The icon which contains the lobby image(s) var/list/lobby_screens = list("mockingjay00") // The list of lobby screen to pick() from. If left unset the first icon state is always selected. @@ -124,6 +131,10 @@ var/list/all_maps = list() map_levels = station_levels.Copy() if(!allowed_jobs || !allowed_jobs.len) allowed_jobs = subtypesof(/datum/job) + if(default_skybox) //Type was specified + default_skybox = new default_skybox() + else + default_skybox = new() /datum/map/proc/setup_map() return @@ -131,17 +142,6 @@ var/list/all_maps = list() /datum/map/proc/perform_map_generation() return -// Used to apply various post-compile procedural effects to the map. -/datum/map/proc/refresh_mining_turfs() - - set background = 1 - set waitfor = 0 - - // Update all turfs to ensure everything looks good post-generation. Yes, - // it's brute-forcey, but frankly the alternative is a mine turf rewrite. - for(var/turf/simulated/mineral/M in turfs) // Ugh. - M.update_icon() - /datum/map/proc/get_network_access(var/network) return 0 @@ -175,6 +175,33 @@ var/list/all_maps = list() var/datum/map_z_level/Z = zlevels["[index]"] return Z.name +// Access check is of the type requires one. These have been carefully selected to avoid allowing the janitor to see channels he shouldn't +// This list needs to be purged but people insist on adding more cruft to the radio. +/datum/map/proc/default_internal_channels() + return list( + num2text(PUB_FREQ) = list(), + num2text(AI_FREQ) = list(access_synth), + num2text(ENT_FREQ) = list(), + num2text(ERT_FREQ) = list(access_cent_specops), + num2text(COMM_FREQ) = list(access_heads), + num2text(ENG_FREQ) = list(access_engine_equip, access_atmospherics), + num2text(MED_FREQ) = list(access_medical_equip), + num2text(MED_I_FREQ) = list(access_medical_equip), + num2text(SEC_FREQ) = list(access_security), + num2text(SEC_I_FREQ) = list(access_security), + num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology), + num2text(SUP_FREQ) = list(access_cargo), + num2text(SRV_FREQ) = list(access_janitor, access_hydroponics), + ) + +/datum/map/proc/get_skybox_datum(z) + if(map_levels["[z]"]) + var/datum/map_z_level/picked = map_levels["[z]"] + if(picked.custom_skybox) + return picked.custom_skybox + + return default_skybox + // Another way to setup the map datum that can be convenient. Just declare all your zlevels as subtypes of a common // subtype of /datum/map_z_level and set zlevel_datum_type on /datum/map to have the lists auto-initialized. @@ -192,6 +219,9 @@ var/list/all_maps = list() var/holomap_legend_x = 96 // x position of the holomap legend for this z var/holomap_legend_y = 96 // y position of the holomap legend for this z +// Skybox + var/datum/skybox_settings/custom_skybox // Can override skybox type here for this z + // Default constructor applies itself to the parent map datum /datum/map_z_level/New(var/datum/map/map) if(!z) return @@ -223,6 +253,8 @@ var/list/all_maps = list() LIST_NUMERIC_SET(map.holomap_offset_y, z, holomap_offset_y) LIST_NUMERIC_SET(map.holomap_legend_x, z, holomap_legend_x) LIST_NUMERIC_SET(map.holomap_legend_y, z, holomap_legend_y) + if(custom_skybox) + custom_skybox = new custom_skybox() /datum/map_z_level/Destroy(var/force) crash_with("Attempt to delete a map_z_level instance [log_info_line(src)]") @@ -231,22 +263,3 @@ var/list/all_maps = list() if (using_map.zlevels["[z]"] == src) using_map.zlevels -= "[z]" return ..() - -// Access check is of the type requires one. These have been carefully selected to avoid allowing the janitor to see channels he shouldn't -// This list needs to be purged but people insist on adding more cruft to the radio. -/datum/map/proc/default_internal_channels() - return list( - num2text(PUB_FREQ) = list(), - num2text(AI_FREQ) = list(access_synth), - num2text(ENT_FREQ) = list(), - num2text(ERT_FREQ) = list(access_cent_specops), - num2text(COMM_FREQ) = list(access_heads), - num2text(ENG_FREQ) = list(access_engine_equip, access_atmospherics), - num2text(MED_FREQ) = list(access_medical_equip), - num2text(MED_I_FREQ) = list(access_medical_equip), - num2text(SEC_FREQ) = list(access_security), - num2text(SEC_I_FREQ) = list(access_security), - num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology), - num2text(SUP_FREQ) = list(access_cargo), - num2text(SRV_FREQ) = list(access_janitor, access_hydroponics), - ) diff --git a/nano/templates/apc.tmpl b/nano/templates/apc.tmpl index 9f0ed41f2b..d99b1f8700 100644 --- a/nano/templates/apc.tmpl +++ b/nano/templates/apc.tmpl @@ -188,7 +188,6 @@
-
Emergency Lighting: diff --git a/nano/templates/engines_control.tmpl b/nano/templates/engines_control.tmpl index 726edf27ac..2933b1cbe6 100644 --- a/nano/templates/engines_control.tmpl +++ b/nano/templates/engines_control.tmpl @@ -1,8 +1,35 @@
- {{:helper.link('Overall status', 'note', {'state' :'status'}, null, data.state == 'status' ? 'selected' : null)}} + {{:helper.link('Overall info', 'note', {'state' :'status'}, null, data.state == 'status' ? 'selected' : null)}} {{:helper.link('Details', 'note', {'state' : 'engines'}, null, data.state == 'engines' ? 'selected' : null)}}
- +
+
+
+ Global controls: +
+
+ {{:helper.link(data.global_state ? 'Shut all down' : 'Power all up', 'power', {'global_toggle' : 1}, null, data.global_state ? 'selected' : null)}} +
+
+
+
+ Volume limit: +
+
+ {{:helper.link('', 'circle-plus', { 'global_limit' : 0.1}, null, null)}} + {{:helper.link(data.global_limit+'%', null, { 'set_global_limit' : 1 }, null, null)}} + {{:helper.link('', 'circle-minus', { 'global_limit' : -0.1}, null, null)}} +
+
+
+
+ Total thrust: +
+
+ {{:data.total_thrust}} +
+
+
{{if data.state == "engines"}} {{if data.engines_info}} {{for data.engines_info}} @@ -11,9 +38,8 @@ Engine #{{:(index + 1)}}:
- {{:helper.link(value.eng_on ? 'Shutdown' : 'Power up', 'power', { 'toggle' : 1, 'engine' : value.eng_reference }, null, value.eng_on ? 'selected' : null)}} + {{:helper.link(value.eng_on ? 'Shutdown' : 'Power up', 'power', { 'toggle' : 1, 'engine' : value.eng_reference }, null, value.eng_on ? value.eng_on == 1 ? 'linkOn' : 'yellowButton' : null)}}
-
@@ -28,7 +54,7 @@ Status:
- {{:value.eng_on ? 'Online' : 'Offline'}}
+ {{:value.eng_on ? value.eng_on == 1 ? 'Online' : 'Booting' : 'Offline'}}
{{:value.eng_status}}
@@ -42,7 +68,7 @@
- Thrust limit: + Volume limit:
{{:helper.link('', 'circle-plus', { 'limit' : 0.1, 'engine' : value.eng_reference }, null, null)}} @@ -63,14 +89,14 @@ Engine #{{:(index + 1)}}:
- {{:helper.link(value.eng_on ? 'Shutdown' : 'Power up', 'power', { 'toggle' : 1, 'engine' : value.eng_reference }, null, value.eng_on ? 'selected' : null)}} + {{:helper.link(value.eng_on ? 'Shutdown' : 'Power up', 'power', { 'toggle' : 1, 'engine' : value.eng_reference }, null, value.eng_on ? value.eng_on == 1 ? 'linkOn' : 'yellowButton' : null)}}
Thrust:
- Thrust limit: + Volume limit:
{{:value.eng_thrust}} diff --git a/nano/templates/helm.tmpl b/nano/templates/helm.tmpl index c72d0921b8..2d371b1154 100644 --- a/nano/templates/helm.tmpl +++ b/nano/templates/helm.tmpl @@ -1,114 +1,159 @@ -
-

Sector information

-
- {{:data.sector}} -
- Coordinates: {{:data.s_x}} : {{:data.s_y}} -
- Additional information: {{:data.sector_info}} -
-
-
-

Flight data

-
+ +
+
+ Flight data
-
- Speed: +
+ ETA to next grid:
- {{:data.speed}} + {{:data.ETAnext}}
-
- Acceleration: +
+ Speed:
- {{:data.accel}} + {{:data.speed}} Gm/h
-
- Heading: +
+ Acceleration:
- {{:data.heading}} + {{:data.accel}} Gm/h +
+
+
+
+ Heading: +
+
+ {{:data.heading}}°
-
+
+
+ Acceleration limiter: +
+
+ {{:helper.link(data.accellimit, null, { 'accellimit' : 1}, null, null)}} Gm/h +
+
+
- - -

Manual control

-
+ +
+
+ Manual control
-
-
- {{:helper.link('', 'triangle-1-nw', { 'move' : 9 }, null, null)}} - {{:helper.link('', 'triangle-1-n', { 'move' : 1 }, null, null)}} - {{:helper.link('', 'triangle-1-ne', { 'move' : 5 }, null, null)}} -
-
- {{:helper.link('', 'triangle-1-w', { 'move' : 8 }, null, null)}} - {{:helper.link('', 'circle-close', { 'brake' : 1 }, null, null)}} - {{:helper.link('', 'triangle-1-e', { 'move' : 4 }, null, null)}} -
-
- {{:helper.link('', 'triangle-1-sw', { 'move' : 10 }, null, null)}} - {{:helper.link('', 'triangle-1-s', { 'move' : 2 }, null, null)}} - {{:helper.link('', 'triangle-1-se', { 'move' : 6 }, null, null)}} -
+
+ {{:helper.link('', 'triangle-1-nw', { 'move' : 9 }, data.canburn ? null : 'disabled', null)}} + {{:helper.link('', 'triangle-1-n', { 'move' : 1 }, data.canburn ? null : 'disabled', null)}} + {{:helper.link('', 'triangle-1-ne', { 'move' : 5 }, data.canburn ? null : 'disabled', null)}} +
+
+ {{:helper.link('', 'triangle-1-w', { 'move' : 8 }, data.canburn ? null : 'disabled', null)}} + {{:helper.link('', 'circle-close', { 'brake' : 1 }, data.canburn ? null : 'disabled', null)}} + {{:helper.link('', 'triangle-1-e', { 'move' : 4 }, data.canburn ? null : 'disabled', null)}} +
+
+ {{:helper.link('', 'triangle-1-sw', { 'move' : 10 }, data.canburn ? null : 'disabled', null)}} + {{:helper.link('', 'triangle-1-s', { 'move' : 2 }, data.canburn ? null : 'disabled', null)}} + {{:helper.link('', 'triangle-1-se', { 'move' : 6 }, data.canburn ? null : 'disabled', null)}}
-
-
- Direct control - {{:helper.link(data.manual_control ? 'Engaged' : 'Disengaged', 'shuffle', { 'manual' : 1 }, data.manual_control ? 'selected' : null, null)}} -
+
+ Direct control +
+ {{:helper.link(data.manual_control ? 'Engaged' : 'Disengaged', 'shuffle', { 'manual' : 1 }, null, data.manual_control ? 'selected' : null)}}
+
- -
-
-

Autopilot

-
-
+ +
+
+ Autopilot +
+
+ Target: +
+
+ {{if data.dest}} + {{:helper.link(data.d_x, null, { 'setx' : 1 }, null, null)}} {{:helper.link(data.d_y, null, { 'sety' : 1 }, null, null)}} + {{else}} + {{:helper.link('None', null, { 'sety' : 1, 'setx' : 1 }, null, null)}} + {{/if}} +
+
+
+
+ Speed limit: +
+
+ {{:helper.link(data.speedlimit, null, { 'speedlimit' : 1 }, null, null)}} Gm/h +
+
+
{{:helper.link(data.autopilot ? 'Engaged' : 'Disengaged', 'gear', { 'apilot' : 1 }, data.dest ? null : 'disabled', data.autopilot ? 'selected' : null)}}
-
-
-
- Target coordinates -
-
- {{if data.dest}} - {{:helper.link(data.d_x, null, { 'setx' : 1 }, null, null)}} {{:helper.link(data.d_y, null, { 'sety' : 1 }, null, null)}} - {{else}} - {{:helper.link('None', null, { 'sety' : 1, 'setx' : 1 }, null, null)}} - {{/if}} -
-
- -

Navigation data

-
- {{:helper.link('Save current position', 'disk', { 'add' : 'current' }, null)}} - {{:helper.link('Add new entry', 'document', { 'add' : 'new' }, null)}} +
- -
- {{if data.locations}} + +
+

Navigation data

+
+
+ Location: +
+
+ {{:data.sector}} +
+
+
+
+ Coordinates: +
+
+ {{:data.s_x}} : {{:data.s_y}} +
+
+
+
+ Scan data: +
+
+ {{:data.sector_info}} +
+
+
+
+ Status: +
+
+ {{:data.landed}} +
+
+
+ {{:helper.link('Save current position', 'disk', { 'add' : 'current' }, null)}} + {{:helper.link('Add new entry', 'document', { 'add' : 'new' }, null)}} +
+
+ +
NameCoordinatesActions {{for data.locations}} -
- {{:value.name}}: - {{:value.x}} : {{:value.y}} -
-
- {{:helper.link('Plot course', 'arrowreturnthick-1-e', { 'x' : value.x, 'y' : value.y }, null, null)}} - {{:helper.link('Remove entry', 'close', { 'remove' : value.reference }, null, null)}} -
+
{{:value.name}} + {{:value.x}} : {{:value.y}} + {{:helper.link('Plot course', 'arrowreturnthick-1-e', { 'x' : value.x, 'y' : value.y }, null, null)}} + {{:helper.link('Remove', 'close', { 'remove' : value.reference }, null, null)}} {{/for}} - {{/if}} - +
+
+
+ + \ No newline at end of file diff --git a/nano/templates/identification_computer.tmpl b/nano/templates/identification_computer.tmpl index 7f4fbdda70..c44ec6cdab 100644 --- a/nano/templates/identification_computer.tmpl +++ b/nano/templates/identification_computer.tmpl @@ -57,39 +57,8 @@

- + {{if data.authenticated}} - - {{if data.has_modify}}

Details

@@ -124,8 +93,8 @@
-
+
Dismissals:
@@ -137,38 +106,30 @@

Assignment

- + -
- - + {{if data.centcom_access}}

Central Command

diff --git a/nano/templates/lookingglass.tmpl b/nano/templates/lookingglass.tmpl new file mode 100644 index 0000000000..8f117e6f66 --- /dev/null +++ b/nano/templates/lookingglass.tmpl @@ -0,0 +1,14 @@ +

Current Loaded Programs:

+{{for data.supportedPrograms}} +
{{:helper.link(value, data.currentProgram == value ? 'check' : 'close', {'program' : value}, null, data.currentProgram == value ? 'linkOn' : null)}}
+{{/for}} + +
+
Area Gravity:
+ {{:helper.link(data.gravity ? 'On ' : 'Off', data.gravity ? 'check' : 'close', {'gravity' : 1}, null, data.gravity ? 'linkOn' : 'redButton')}} +
+ +
+
Full Immersion:
+ {{:helper.link(data.immersion ? 'On ' : 'Off', data.immersion ? 'check' : 'close', {'immersion' : 1}, null, data.immersion ? 'linkOn' : 'redButton')}} +
\ No newline at end of file diff --git a/nano/templates/mechfab.tmpl b/nano/templates/mechfab.tmpl index 29afe23cf9..bc218c8125 100644 --- a/nano/templates/mechfab.tmpl +++ b/nano/templates/mechfab.tmpl @@ -4,6 +4,14 @@ {{:data.sync}}

+ {{if data.species_types}} +
+ {{for data.species_types}} + {{:helper.link(value, null, {'species' : value}, value == data.species ? 'selected' : null)}} + {{/for}} +
+
+ {{/if}} {{if data.manufacturers}}
{{for data.manufacturers}} diff --git a/nano/templates/mod_identification_computer.tmpl b/nano/templates/mod_identification_computer.tmpl index 0dee1fdeac..ebe521597b 100644 --- a/nano/templates/mod_identification_computer.tmpl +++ b/nano/templates/mod_identification_computer.tmpl @@ -1,193 +1,144 @@ -{{if data.have_id_slot}}{{:helper.link('Access Modification', 'home', {'action' : 'switchm', 'target' : 'mod'}, data.mmode ? 'disabled' : null)}}{{/if}} +{{if data.have_id_slot}} + {{:helper.link('Access Modification', 'home', {'action' : 'switchm', 'target' : 'mod'}, data.mmode ? 'disabled' : null)}} +{{/if}} + {{:helper.link('Crew Manifest', 'folder-open', {'action' : 'switchm', 'target' : 'manifest'}, !data.mmode ? 'disabled' : null)}} -{{if data.have_printer}}{{:helper.link('Print', 'print', {'action' : 'print'}, (!data.mmode || data.has_id) ? null : 'disabled')}}{{/if}} + +{{if data.have_printer}} + {{:helper.link('Print', 'print', {'action' : 'print'}, (!data.mmode || data.has_id) ? null : 'disabled')}} +{{/if}} {{if !data.mmode}} -
-

Crew Manifest

-
-
- {{:data.manifest}} -
-{{else}} -
-

Access Modification

-
- -{{if !data.has_id}} - Please insert the ID into the terminal to proceed.
-{{/if}} - -
-
- Target Identity: -
-
- {{:helper.link(data.id_name, 'eject', {'action' : 'eject'})}} -
-
-
- -{{if data.authenticated}} - {{if data.has_id}}
-

Details

-
- -
-
- Registered Name: -
-
- {{:helper.link(data.id_owner, 'pencil', {'action' : 'edit', 'name' : 1})}} -
-
- -
-
- Account Number: -
-
- {{:helper.link(data.id_account_number, 'pencil', {'action' : 'edit', 'account' : 1})}} -
+

Crew Manifest

-
-
- - Dismissals: -
-
- {{:helper.link('Dismiss ' + data.id_owner, 'gear', {'action' : 'terminate'}, data.id_rank == "Dismissed" ? 'disabled' : null, data.id_rank == "Dismissed" ? 'disabled' : 'linkDanger')}} -
- + {{:data.manifest}} +
+ +{{else}} +
+

Access Modification

-
-

Assignment

-
- {{:helper.link(data.assignments ? "Hide assignments" : "Show assignments", 'gear', {'action' : 'togglea'})}} -
- - - -
-
- {{if data.assignments}} -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{if data.centcom_access}} - - - - - {{/if}} -
Command
Special - {{:helper.link("Captain", '', {'action' : 'assign', 'assign_target' : 'Captain'}, data.id_rank == 'Captain' ? 'disabled' : null)}} - {{:helper.link("Custom", '', {'action' : 'assign', 'assign_target' : 'Custom'})}} -
Engineering - {{for data.engineering_jobs}} - {{:helper.link(value.display_name, '', {'action' : 'assign', 'assign_target' : value.job}, data.id_rank == value.job ? 'disabled' : null)}} - {{/for}} -
Medical - {{for data.medical_jobs}} - {{:helper.link(value.display_name, '', {'action' : 'assign', 'assign_target' : value.job}, data.id_rank == value.job ? 'disabled' : null)}} - {{/for}} -
Science - {{for data.science_jobs}} - {{:helper.link(value.display_name, '', {'action' : 'assign', 'assign_target' : value.job}, data.id_rank == value.job ? 'disabled' : null)}} - {{/for}} -
Security - {{for data.security_jobs}} - {{:helper.link(value.display_name, '', {'action' : 'assign', 'assign_target' : value.job}, data.id_rank == value.job ? 'disabled' : null)}} - {{/for}} -
Cargo - {{for data.cargo_jobs}} - {{if index && index % 6 === 0}} -
- {{/if}} - {{:helper.link(value.display_name, '', {'action' : 'assign', 'assign_target' : value.job}, data.id_rank == value.job ? 'disabled' : null)}} - {{/for}} -
Civilian - {{for data.civilian_jobs}} - {{if index && index % 6 === 0}} -
- {{/if}} - {{:helper.link(value.display_name, '', {'action' : 'assign', 'assign_target' : value.job}, data.id_rank == value.job ? 'disabled' : null)}} - {{/for}} -
CentCom - {{for data.centcom_jobs}} - {{if index % 6 === 0}} -
- {{/if}} - - {{:helper.link(value.display_name, '', {'action' : 'assign', 'assign_target' : value.job}, data.id_rank == value.job ? 'disabled' : null)}} - {{/for}} -
-
- {{/if}} -
- - {{if data.centcom_access}} -
-

Central Command

-
-
- {{for data.all_centcom_access}} -
- {{:helper.link(value.desc, '', {'action' : 'access', 'access_target' : value.ref, 'allowed' : value.allowed}, null, value.allowed ? 'selected' : null)}} -
- {{/for}} -
- {{else}} -
-

{{:data.station_name}}

-
-
- {{for data.regions}} -
-
{{:value.name}}
- {{for value.accesses :accessValue:accessKey}} -
- {{:helper.link(accessValue.desc, '', {'action' : 'access', 'access_target' : accessValue.ref, 'allowed' : accessValue.allowed}, null, accessValue.allowed ? 'selected' : null)}} -
- {{/for}} -
- {{/for}} -
+ {{if !data.has_id}} + Please insert the ID into the terminal to proceed.
+ {{/if}} + +
+
+ Target Identity: +
+
+ {{:helper.link(data.id_name, 'eject', {'action' : 'eject'})}} +
+
+
+ + {{if data.authenticated}} + {{if data.has_id}} +
+

Details

+
+ +
+
+ Registered Name: +
+ +
+ {{:helper.link(data.id_owner, 'pencil', {'action' : 'edit', 'name' : 1})}} +
+
+ +
+
+ Account Number: +
+ +
+ {{:helper.link(data.id_account_number, 'pencil', {'action' : 'edit', 'account' : 1})}} +
+
+ +
+ +
+ Dismissals: +
+ +
+ {{:helper.link('Dismiss ' + data.id_owner, 'gear', {'action' : 'terminate'}, data.id_rank == "Terminated" ? 'disabled' : null, data.id_rank == "Dismissed" ? 'disabled' : 'linkDanger')}} +
+ +
+ +
+

Assignment

+
+ + {{:helper.link(data.assignments ? "Hide assignments" : "Show assignments", 'gear', {'action' : 'togglea'})}} + +
+ + + +
+ +
+ {{if data.assignments}} +
+ + {{for data.departments}} + + + + + {{/for}} + + + + +
{{:value.department_name}} + {{for value.jobs :jobValue:jobIndex}} + {{:helper.link(jobValue.display_name, '', {'action' : 'assign', 'assign_target' : jobValue.job}, data.id_rank == jobValue.job ? 'disabled' : null)}} + {{/for}} +
Special + {{:helper.link("Custom", '', {'action' : 'assign', 'assign_target' : 'Custom'})}} +
+
+ {{/if}} +
+ + {{if data.centcom_access}} +
+

Central Command

+
+
+ {{for data.all_centcom_access}} +
+ {{:helper.link(value.desc, '', {'action' : 'access', 'access_target' : value.ref, 'allowed' : value.allowed}, null, value.allowed ? 'selected' : null)}} +
+ {{/for}} +
+ {{else}} +
+

{{:data.station_name}}

+
+
+ {{for data.regions}} +
+
{{:value.name}}
+ {{for value.accesses :accessValue:accessKey}} +
+ {{:helper.link(accessValue.desc, '', {'action' : 'access', 'access_target' : accessValue.ref, 'allowed' : accessValue.allowed}, null, accessValue.allowed ? 'selected' : null)}} +
+ {{/for}} +
+ {{/for}} +
+ {{/if}} + {{/if}} {{/if}} - {{/if}} {{/if}} -{{/if}} \ No newline at end of file diff --git a/nano/templates/nav.tmpl b/nano/templates/nav.tmpl new file mode 100644 index 0000000000..6b5f5a9628 --- /dev/null +++ b/nano/templates/nav.tmpl @@ -0,0 +1,59 @@ +

Navigation

+
+
+
+
+ Map view + {{:helper.link(data.viewing ? 'Engaged' : 'Disengaged', 'shuffle', { 'viewing' : 1 }, null, data.viewing ? 'selected' : null)}} +
+
+
+
+
+

Sector information

+
+ {{:data.sector}} +
+ Coordinates: {{:data.s_x}} : {{:data.s_y}} +
+ Additional information: {{:data.sector_info}} +
+
+ +
+

Flight data

+
+
+
+ ETA to next grid: +
+
+ {{:data.ETAnext}} +
+
+
+
+ Speed: +
+
+ {{:data.speed}} Gm/h +
+
+
+
+ Acceleration: +
+
+ {{:data.accel}} Gm/h +
+
+
+
+ Heading: +
+
+ {{:data.heading}}° +
+
+
+
\ No newline at end of file diff --git a/nano/templates/pda.tmpl b/nano/templates/pda.tmpl index bda35dca5b..3177450ba6 100644 --- a/nano/templates/pda.tmpl +++ b/nano/templates/pda.tmpl @@ -165,6 +165,7 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm {{/if}} {{/if}} {{:helper.link('Atmospheric Scan', 'gear', {'choice' : "3"}, null, 'fixedLeftWide')}} + {{:helper.link(data.touch_silent==1 ? 'Enable Beeping' : 'Disable Beeping', 'gear', {'choice' : "Toggle Beeping"}, null,'fixedLeftWide')}} {{:helper.link(data.fon==1 ? 'Disable Flashlight' : 'Enable Flashlight', 'lightbulb', {'choice' : "Light"}, null,'fixedLeftWide')}}
diff --git a/nano/templates/pointdefense_control.tmpl b/nano/templates/pointdefense_control.tmpl new file mode 100644 index 0000000000..19f85d3dba --- /dev/null +++ b/nano/templates/pointdefense_control.tmpl @@ -0,0 +1,54 @@ +

Fire Assist Mainframe: {{:data.id || "[no tag]"}}

+{{if !(data.id)}} +
+ This system has not been assigned an ident tag. Please contact your system administrator or conduct a manual update with a standard multitool. +
+ {{/if}} +{{for data.turrets}} +

{{:value.id}}

+
+
+ Battery status +
+
+ {{if value.active}} + Online {{:helper.link('Shut down', null, {'toggle_active': value.ref})}} + {{else}} + Offline {{:helper.link('Start up', null, {'toggle_active': value.ref})}} + {{/if}} +
+
+
+
+ Effective range +
+
+ {{:value.effective_range}} +
+
+
+
+ Reaction wheel delay +
+
+ {{:value.reaction_wheel_delay}} +
+
+
+
+ Recharge time +
+
+ {{:value.recharge_time}} +
+{{empty}} +
+
+ Error: +
+
+ No weapon systems detected. Please check network connection. +
+
+
+{{/for}} diff --git a/nano/templates/shipsensors.tmpl b/nano/templates/shipsensors.tmpl new file mode 100644 index 0000000000..5931fd01b2 --- /dev/null +++ b/nano/templates/shipsensors.tmpl @@ -0,0 +1,90 @@ +

Sensors control console

+
+ {{:helper.link(data.on ? 'Switch off' : 'Switch on', 'gear', { 'toggle' : 1 }, data.status != 'MISSING' ? null : 'disabled', data.on ? 'selected' : null)}} +
+
+ Status: +
+
+ {{:data.status}} +
+
+
+
+ Range: +
+
+ {{:helper.link(data.range, null, { 'range' : 1 }, null, null)}} +
+
+
+
+
+
+ Integrity: +
+
+ {{if data.health < (data.max_health * 0.25)}} + {{:helper.displayBar(data.health, 0, data.max_health, 'bad')}} +
{{:data.health}}/{{:data.max_health}} + {{else data.health < data.max_health *.75}} + {{:helper.displayBar(data.health, 0, data.max_health, 'average')}} +
{{:data.health}}/{{:data.max_health}} + {{else}} + {{:helper.displayBar(data.health, 0, data.max_health, 'good')}} +
{{:data.health}}/{{:data.max_health}} + {{/if}} +
+
+
+
+ Temperature: +
+
+ {{if data.heat < (data.critical_heat * 0.5)}} + {{:helper.displayBar(data.heat, 0, data.critical_heat, 'good')}} + {{else data.heat < (data.critical_heat * 0.75)}} + {{:helper.displayBar(data.heat, 0, data.critical_heat, 'average')}} + {{else}} + {{:helper.displayBar(data.heat, 0, data.critical_heat, 'bad')}} + {{/if}} +
+
+ {{if data.heat < (data.critical_heat * 0.5)}} + Temperature low. + {{else data.heat < (data.critical_heat * 0.75)}} + Sensor temperature high! + {{else}} + TEMPERATURE CRITICAL: Disable or reduce power immediately! + {{/if}} +
+
+
+
+
+
+ Sector map view + {{:helper.link(data.viewing ? 'Engaged' : 'Disengaged', 'shuffle', { 'viewing' : 1 }, null, data.viewing ? 'selected' : null)}} +
+
+
+

Sensor contacts

+
+{{if data.contacts}} + + {{for data.contacts}} + +
+
+ + + + {{/for}} +
{{:helper.link('Scan', 'search' ,{ 'scan' : value.ref }, null, null)}}{{:value.name}}, bearing {{:value.bearing}}
+{{/if}} +
+{{if data.status == 'MISSING'}} +
+ {{:helper.link('Link up with the sensor suite', 'gear', { 'link' : 1 }, data.status == 'MISSING' ? null : 'disabled', null)}} +
+{{/if}} diff --git a/nano/templates/shuttle_control_console.tmpl b/nano/templates/shuttle_control_console.tmpl index ccc4df70aa..05cae4ef09 100644 --- a/nano/templates/shuttle_control_console.tmpl +++ b/nano/templates/shuttle_control_console.tmpl @@ -50,6 +50,12 @@ {{/if}}
+
+ Docking Codes: +
+
+ {{:helper.link(data.docking_codes ? data.docking_codes : 'Not set', null, {'set_codes' : '1'}, null , null)}} +
{{/if}} diff --git a/nano/templates/shuttle_control_console_exploration.tmpl b/nano/templates/shuttle_control_console_exploration.tmpl index fe765246d2..17f5a0b2d2 100644 --- a/nano/templates/shuttle_control_console_exploration.tmpl +++ b/nano/templates/shuttle_control_console_exploration.tmpl @@ -7,7 +7,7 @@
- Drive: + Engines:
{{if data.shuttle_state == "idle"}} @@ -61,6 +61,22 @@ {{:helper.link('Choose Destination', 'arrowreturn-1-s', {'pick' : '1'}, data.can_pick ? null : 'disabled' , null)}}
+{{if data.fuel_usage}} +
+
+ Est. Delta-V Budget: +
+
+ {{:data.remaining_fuel}} m/s +
+
+ Avg. Delta-V Per Maneuver: +
+
+ {{:data.fuel_usage}} m/s +
+
+{{/if}}

Shuttle Control

diff --git a/nano/templates/shuttle_control_console_multi.tmpl b/nano/templates/shuttle_control_console_multi.tmpl new file mode 100644 index 0000000000..df25132bc7 --- /dev/null +++ b/nano/templates/shuttle_control_console_multi.tmpl @@ -0,0 +1,84 @@ +

Shuttle Status

+
+
+ {{:data.shuttle_status}} +
+ {{if data.can_cloak}} +
+ {{:data.legit ? "ATC Inhibitor" : "Cloaking Field"}} is {{:data.cloaked ? "enabled" : "disabled"}}. {{:helper.link('Toggle', 'arrowreturn-1-s', {'toggle_cloaked' : '1'}) }} +
+ {{/if}} +
+
+
+
+ Bluespace Drive: +
+
+ {{if data.shuttle_state == "idle"}} + IDLE + {{else data.shuttle_state == "warmup"}} + SPINNING UP + {{else data.shuttle_state == "in_transit"}} + ENGAGED + {{else}} + ERROR + {{/if}} +
+
+
+{{if data.has_docking}} +
+
+
+ Docking Status: +
+
+ {{if data.docking_status == "docked"}} + DOCKED + {{else data.docking_status == "docking"}} + {{if !data.docking_override}} + DOCKING + {{else}} + DOCKING-MANUAL + {{/if}} + {{else data.docking_status == "undocking"}} + {{if !data.docking_override}} + UNDOCKING + {{else}} + UNDOCKING-MANUAL + {{/if}} + {{else data.docking_status == "undocked"}} + UNDOCKED + {{else}} + ERROR + {{/if}} +
+
+ Docking Codes: +
+
+ {{:helper.link(data.docking_codes ? data.docking_codes : 'Not set', null, {'set_codes' : '1'}, null , null)}} +
+
+
+{{/if}} +
+
+ Current Destination: +
+ {{:data.destination_name}} +
+ {{:helper.link('Choose Destination', 'arrowreturn-1-s', {'pick' : '1'}, data.can_pick ? null : 'disabled' , null)}} +
+
+

Shuttle Control

+
+
+
+ {{:helper.link('Launch Shuttle', 'arrowthickstop-1-e', {'move' : '1'}, data.can_launch ? null : 'disabled' , null)}} + {{:helper.link('Cancel Launch', 'cancel', {'cancel' : '1'}, data.can_cancel ? null : 'disabled' , null)}} + {{:helper.link('Force Launch', 'alert', {'force' : '1'}, data.can_force ? null : 'disabled' , data.can_force ? 'redButton' : null)}} +
+
+
diff --git a/nano/templates/timeclock_vr.tmpl b/nano/templates/timeclock_vr.tmpl index eb12eafbc3..cc070c771d 100644 --- a/nano/templates/timeclock_vr.tmpl +++ b/nano/templates/timeclock_vr.tmpl @@ -31,8 +31,8 @@
-
Department:
-
{{:data.job_datum.department}}
+
Departments:
+
{{:data.job_datum.departments}}
Pay Scale:
@@ -42,14 +42,14 @@
PTO Eligibility:
{{if data.job_datum.timeoff_factor > 0 }}
- Earns PTO + Earns PTO - {{:data.job_datum.pto_department}}
{{else data.job_datum.timeoff_factor < 0}}
- Requires PTO + Requires PTO - {{:data.job_datum.pto_department}}
{{else}} -
+
Neutral
{{/if}} @@ -57,24 +57,26 @@ {{/if}}
-{{if data.allow_change_job && data.job_datum && data.job_datum.timeoff_factor != 0 && !(data.assignment == "Terminated")}} +{{if data.allow_change_job && data.job_datum && data.job_datum.timeoff_factor != 0 && !(data.assignment == "Dismissed")}}

Employment Actions

{{if (data.job_datum.timeoff_factor > 0) }} - {{if helper.round(data.department_hours[data.job_datum.department]) > 0 || (data.job_datum.department == "Command" && helper.round(data.department_hours["Civilian"]) > 0)}} + {{if helper.round(data.department_hours[data.job_datum.pto_department]) > 0}} {{:helper.link('Go Off-Duty', 'alert', {'switch-to-offduty': 1})}} {{else}} Insufficent Time Off Accrued {{/if}} {{else (data.job_datum.timeoff_factor < 0) }} - {{props data.job_choices }} -
{{:value}}
-
{{:helper.link("Go On-Duty", 'suitcase', {'switch-to-onduty' : value})}}
+ {{props data.job_choices :alt_titles:job }} + {{props alt_titles :alt_title:alt_title_index }} +
{{:alt_title}}
+
{{:helper.link("Go On-Duty", 'suitcase', {'switch-to-onduty-rank' : job,'switch-to-onduty-assignment' : alt_title})}}
+ {{/props}} {{empty}}
No Open Positions - See Head of Personnel
- {{/for}} + {{/props}} {{/if}}
diff --git a/sound/bureaucracy/bookclose.ogg b/sound/bureaucracy/bookclose.ogg new file mode 100644 index 0000000000..b1c769c3d7 Binary files /dev/null and b/sound/bureaucracy/bookclose.ogg differ diff --git a/sound/bureaucracy/bookopen.ogg b/sound/bureaucracy/bookopen.ogg new file mode 100644 index 0000000000..1ce2a8a7b5 Binary files /dev/null and b/sound/bureaucracy/bookopen.ogg differ diff --git a/sound/bureaucracy/filingcabinet.ogg b/sound/bureaucracy/filingcabinet.ogg new file mode 100644 index 0000000000..48e534f002 Binary files /dev/null and b/sound/bureaucracy/filingcabinet.ogg differ diff --git a/sound/bureaucracy/paperburn.ogg b/sound/bureaucracy/paperburn.ogg new file mode 100644 index 0000000000..7fdec2e8c1 Binary files /dev/null and b/sound/bureaucracy/paperburn.ogg differ diff --git a/sound/bureaucracy/papercrumple.ogg b/sound/bureaucracy/papercrumple.ogg new file mode 100644 index 0000000000..a3c67c700f Binary files /dev/null and b/sound/bureaucracy/papercrumple.ogg differ diff --git a/sound/bureaucracy/pen1.ogg b/sound/bureaucracy/pen1.ogg new file mode 100644 index 0000000000..f69e204b0e Binary files /dev/null and b/sound/bureaucracy/pen1.ogg differ diff --git a/sound/bureaucracy/pen2.ogg b/sound/bureaucracy/pen2.ogg new file mode 100644 index 0000000000..7969a22db8 Binary files /dev/null and b/sound/bureaucracy/pen2.ogg differ diff --git a/sound/bureaucracy/stamp.ogg b/sound/bureaucracy/stamp.ogg new file mode 100644 index 0000000000..f243cc9683 Binary files /dev/null and b/sound/bureaucracy/stamp.ogg differ diff --git a/sound/effects/antag_notice/cult_alert.ogg b/sound/effects/antag_notice/cult_alert.ogg new file mode 100644 index 0000000000..9fa22df51d Binary files /dev/null and b/sound/effects/antag_notice/cult_alert.ogg differ diff --git a/sound/effects/antag_notice/deathsquid_alert.ogg b/sound/effects/antag_notice/deathsquid_alert.ogg new file mode 100644 index 0000000000..7c2774f0a0 Binary files /dev/null and b/sound/effects/antag_notice/deathsquid_alert.ogg differ diff --git a/sound/effects/antag_notice/general_baddie_alert.ogg b/sound/effects/antag_notice/general_baddie_alert.ogg new file mode 100644 index 0000000000..6f0c0dd097 Binary files /dev/null and b/sound/effects/antag_notice/general_baddie_alert.ogg differ diff --git a/sound/effects/antag_notice/general_goodie_alert.ogg b/sound/effects/antag_notice/general_goodie_alert.ogg new file mode 100644 index 0000000000..59a4e3f26d Binary files /dev/null and b/sound/effects/antag_notice/general_goodie_alert.ogg differ diff --git a/sound/effects/antag_notice/ling_alert.ogg b/sound/effects/antag_notice/ling_alert.ogg new file mode 100644 index 0000000000..1132ccca29 Binary files /dev/null and b/sound/effects/antag_notice/ling_alert.ogg differ diff --git a/sound/effects/antag_notice/malf_alert.ogg b/sound/effects/antag_notice/malf_alert.ogg new file mode 100644 index 0000000000..feea5fbf19 Binary files /dev/null and b/sound/effects/antag_notice/malf_alert.ogg differ diff --git a/sound/effects/antag_notice/technomancer_alert.ogg b/sound/effects/antag_notice/technomancer_alert.ogg new file mode 100644 index 0000000000..dabc828557 Binary files /dev/null and b/sound/effects/antag_notice/technomancer_alert.ogg differ diff --git a/sound/effects/antag_notice/traitor_alert.ogg b/sound/effects/antag_notice/traitor_alert.ogg new file mode 100644 index 0000000000..ca0efa0ea0 Binary files /dev/null and b/sound/effects/antag_notice/traitor_alert.ogg differ diff --git a/sound/effects/genetics.ogg b/sound/effects/genetics.ogg new file mode 100644 index 0000000000..9b28be68b5 Binary files /dev/null and b/sound/effects/genetics.ogg differ diff --git a/sound/effects/locker_close.ogg b/sound/effects/locker_close.ogg new file mode 100644 index 0000000000..86913e51a2 Binary files /dev/null and b/sound/effects/locker_close.ogg differ diff --git a/sound/effects/locker_open.ogg b/sound/effects/locker_open.ogg new file mode 100644 index 0000000000..4a254c2b0b Binary files /dev/null and b/sound/effects/locker_open.ogg differ diff --git a/sound/effects/magnetclamp.ogg b/sound/effects/magnetclamp.ogg new file mode 100644 index 0000000000..0405d853a0 Binary files /dev/null and b/sound/effects/magnetclamp.ogg differ diff --git a/sound/effects/roll.ogg b/sound/effects/roll.ogg new file mode 100644 index 0000000000..731c60b4ed Binary files /dev/null and b/sound/effects/roll.ogg differ diff --git a/sound/effects/shuttles/shuttle_landing.ogg b/sound/effects/shuttles/shuttle_landing.ogg new file mode 100644 index 0000000000..fcb723416b Binary files /dev/null and b/sound/effects/shuttles/shuttle_landing.ogg differ diff --git a/sound/effects/shuttles/shuttle_takeoff.ogg b/sound/effects/shuttles/shuttle_takeoff.ogg new file mode 100644 index 0000000000..06dac1c788 Binary files /dev/null and b/sound/effects/shuttles/shuttle_takeoff.ogg differ diff --git a/sound/effects/sink.ogg b/sound/effects/sink.ogg new file mode 100644 index 0000000000..f195db7873 Binary files /dev/null and b/sound/effects/sink.ogg differ diff --git a/sound/effects/sink_long.ogg b/sound/effects/sink_long.ogg new file mode 100644 index 0000000000..003f46bd89 Binary files /dev/null and b/sound/effects/sink_long.ogg differ diff --git a/sound/items/cigs_lighters/cig_light.ogg b/sound/items/cigs_lighters/cig_light.ogg new file mode 100644 index 0000000000..48aef9c344 Binary files /dev/null and b/sound/items/cigs_lighters/cig_light.ogg differ diff --git a/sound/items/cigs_lighters/cig_snuff.ogg b/sound/items/cigs_lighters/cig_snuff.ogg new file mode 100644 index 0000000000..7f4cc6d3e2 Binary files /dev/null and b/sound/items/cigs_lighters/cig_snuff.ogg differ diff --git a/sound/items/cigs_lighters/inhale.ogg b/sound/items/cigs_lighters/inhale.ogg new file mode 100644 index 0000000000..a55f4d88d6 Binary files /dev/null and b/sound/items/cigs_lighters/inhale.ogg differ diff --git a/sound/items/cigs_lighters/matchstick_hit.ogg b/sound/items/cigs_lighters/matchstick_hit.ogg new file mode 100644 index 0000000000..0dd5b62e77 Binary files /dev/null and b/sound/items/cigs_lighters/matchstick_hit.ogg differ diff --git a/sound/items/cigs_lighters/matchstick_lit.ogg b/sound/items/cigs_lighters/matchstick_lit.ogg new file mode 100644 index 0000000000..af8dacdf5d Binary files /dev/null and b/sound/items/cigs_lighters/matchstick_lit.ogg differ diff --git a/sound/items/drop/accessory.ogg b/sound/items/drop/accessory.ogg new file mode 100644 index 0000000000..92ff70346d Binary files /dev/null and b/sound/items/drop/accessory.ogg differ diff --git a/sound/items/drop/axe.ogg b/sound/items/drop/axe.ogg new file mode 100644 index 0000000000..eae55a6fd5 Binary files /dev/null and b/sound/items/drop/axe.ogg differ diff --git a/sound/items/drop/backpack.ogg b/sound/items/drop/backpack.ogg new file mode 100644 index 0000000000..a28f4d6838 Binary files /dev/null and b/sound/items/drop/backpack.ogg differ diff --git a/sound/items/drop/basketball.ogg b/sound/items/drop/basketball.ogg new file mode 100644 index 0000000000..6520c7a906 Binary files /dev/null and b/sound/items/drop/basketball.ogg differ diff --git a/sound/items/drop/boots.ogg b/sound/items/drop/boots.ogg new file mode 100644 index 0000000000..87176cdca2 Binary files /dev/null and b/sound/items/drop/boots.ogg differ diff --git a/sound/items/drop/bottle.ogg b/sound/items/drop/bottle.ogg new file mode 100644 index 0000000000..8df93e32b7 Binary files /dev/null and b/sound/items/drop/bottle.ogg differ diff --git a/sound/items/drop/box.ogg b/sound/items/drop/box.ogg new file mode 100644 index 0000000000..52439c6705 Binary files /dev/null and b/sound/items/drop/box.ogg differ diff --git a/sound/items/drop/card.ogg b/sound/items/drop/card.ogg new file mode 100644 index 0000000000..7e2620d2b0 Binary files /dev/null and b/sound/items/drop/card.ogg differ diff --git a/sound/items/drop/clothing.ogg b/sound/items/drop/clothing.ogg new file mode 100644 index 0000000000..8d93a3c9f5 Binary files /dev/null and b/sound/items/drop/clothing.ogg differ diff --git a/sound/items/drop/device.ogg b/sound/items/drop/device.ogg new file mode 100644 index 0000000000..8382db94b8 Binary files /dev/null and b/sound/items/drop/device.ogg differ diff --git a/sound/items/drop/flesh.ogg b/sound/items/drop/flesh.ogg new file mode 100644 index 0000000000..818ca54500 Binary files /dev/null and b/sound/items/drop/flesh.ogg differ diff --git a/sound/items/drop/food.ogg b/sound/items/drop/food.ogg new file mode 100644 index 0000000000..ace68d4e99 Binary files /dev/null and b/sound/items/drop/food.ogg differ diff --git a/sound/items/drop/gascan.ogg b/sound/items/drop/gascan.ogg new file mode 100644 index 0000000000..29d8b5230d Binary files /dev/null and b/sound/items/drop/gascan.ogg differ diff --git a/sound/items/drop/glass.ogg b/sound/items/drop/glass.ogg new file mode 100644 index 0000000000..d6b03e1720 Binary files /dev/null and b/sound/items/drop/glass.ogg differ diff --git a/sound/items/drop/gloves.ogg b/sound/items/drop/gloves.ogg new file mode 100644 index 0000000000..dafc68f074 Binary files /dev/null and b/sound/items/drop/gloves.ogg differ diff --git a/sound/items/drop/gun.ogg b/sound/items/drop/gun.ogg new file mode 100644 index 0000000000..3a489c72c0 Binary files /dev/null and b/sound/items/drop/gun.ogg differ diff --git a/sound/items/drop/hat.ogg b/sound/items/drop/hat.ogg new file mode 100644 index 0000000000..f13c656c03 Binary files /dev/null and b/sound/items/drop/hat.ogg differ diff --git a/sound/items/drop/helm.ogg b/sound/items/drop/helm.ogg new file mode 100644 index 0000000000..2d33f62a5d Binary files /dev/null and b/sound/items/drop/helm.ogg differ diff --git a/sound/items/drop/herb.ogg b/sound/items/drop/herb.ogg new file mode 100644 index 0000000000..54eda795c8 Binary files /dev/null and b/sound/items/drop/herb.ogg differ diff --git a/sound/items/drop/knife.ogg b/sound/items/drop/knife.ogg new file mode 100644 index 0000000000..954b611a97 Binary files /dev/null and b/sound/items/drop/knife.ogg differ diff --git a/sound/items/drop/leather.ogg b/sound/items/drop/leather.ogg new file mode 100644 index 0000000000..3387274882 Binary files /dev/null and b/sound/items/drop/leather.ogg differ diff --git a/sound/items/drop/metalboots.ogg b/sound/items/drop/metalboots.ogg new file mode 100644 index 0000000000..6172b0a6c6 Binary files /dev/null and b/sound/items/drop/metalboots.ogg differ diff --git a/sound/items/drop/metalshield.ogg b/sound/items/drop/metalshield.ogg new file mode 100644 index 0000000000..ca264eaaa4 Binary files /dev/null and b/sound/items/drop/metalshield.ogg differ diff --git a/sound/items/drop/metalweapon.ogg b/sound/items/drop/metalweapon.ogg new file mode 100644 index 0000000000..9bd47c5f10 Binary files /dev/null and b/sound/items/drop/metalweapon.ogg differ diff --git a/sound/items/drop/paper.ogg b/sound/items/drop/paper.ogg new file mode 100644 index 0000000000..46858ac03a Binary files /dev/null and b/sound/items/drop/paper.ogg differ diff --git a/sound/items/drop/pillbottle.ogg b/sound/items/drop/pillbottle.ogg new file mode 100644 index 0000000000..b62ec0016e Binary files /dev/null and b/sound/items/drop/pillbottle.ogg differ diff --git a/sound/items/drop/plushie.ogg b/sound/items/drop/plushie.ogg new file mode 100644 index 0000000000..a6d0f290b6 Binary files /dev/null and b/sound/items/drop/plushie.ogg differ diff --git a/sound/items/drop/ring.ogg b/sound/items/drop/ring.ogg new file mode 100644 index 0000000000..0ebb2e29e3 Binary files /dev/null and b/sound/items/drop/ring.ogg differ diff --git a/sound/items/drop/rubber.ogg b/sound/items/drop/rubber.ogg new file mode 100644 index 0000000000..a0b365020d Binary files /dev/null and b/sound/items/drop/rubber.ogg differ diff --git a/sound/items/drop/scrap.ogg b/sound/items/drop/scrap.ogg new file mode 100644 index 0000000000..b704d91ea3 Binary files /dev/null and b/sound/items/drop/scrap.ogg differ diff --git a/sound/items/drop/shoes.ogg b/sound/items/drop/shoes.ogg new file mode 100644 index 0000000000..5dbf0c4144 Binary files /dev/null and b/sound/items/drop/shoes.ogg differ diff --git a/sound/items/drop/shovel.ogg b/sound/items/drop/shovel.ogg new file mode 100644 index 0000000000..72ceefffa1 Binary files /dev/null and b/sound/items/drop/shovel.ogg differ diff --git a/sound/items/drop/soda.ogg b/sound/items/drop/soda.ogg new file mode 100644 index 0000000000..5bd22c5d1f Binary files /dev/null and b/sound/items/drop/soda.ogg differ diff --git a/sound/items/drop/sword.ogg b/sound/items/drop/sword.ogg new file mode 100644 index 0000000000..1287c171cb Binary files /dev/null and b/sound/items/drop/sword.ogg differ diff --git a/sound/items/drop/wooden.ogg b/sound/items/drop/wooden.ogg new file mode 100644 index 0000000000..dd6c4e7c53 Binary files /dev/null and b/sound/items/drop/wooden.ogg differ diff --git a/sound/items/drop/woodweapon.ogg b/sound/items/drop/woodweapon.ogg new file mode 100644 index 0000000000..517f9c015a Binary files /dev/null and b/sound/items/drop/woodweapon.ogg differ diff --git a/sound/items/drop/wrapper.ogg b/sound/items/drop/wrapper.ogg new file mode 100644 index 0000000000..9f7927e6db Binary files /dev/null and b/sound/items/drop/wrapper.ogg differ diff --git a/sound/items/package_unwrap.ogg b/sound/items/package_unwrap.ogg new file mode 100644 index 0000000000..bb981daea5 Binary files /dev/null and b/sound/items/package_unwrap.ogg differ diff --git a/sound/items/package_wrap.ogg b/sound/items/package_wrap.ogg new file mode 100644 index 0000000000..b10c3cac7c Binary files /dev/null and b/sound/items/package_wrap.ogg differ diff --git a/sound/items/storage/box.ogg b/sound/items/storage/box.ogg new file mode 100644 index 0000000000..3f8fa8afb1 Binary files /dev/null and b/sound/items/storage/box.ogg differ diff --git a/sound/items/storage/boxfold.ogg b/sound/items/storage/boxfold.ogg new file mode 100644 index 0000000000..120eaf5329 Binary files /dev/null and b/sound/items/storage/boxfold.ogg differ diff --git a/sound/items/storage/briefcase.ogg b/sound/items/storage/briefcase.ogg new file mode 100644 index 0000000000..e841e03747 Binary files /dev/null and b/sound/items/storage/briefcase.ogg differ diff --git a/sound/items/storage/pillbottle.ogg b/sound/items/storage/pillbottle.ogg new file mode 100644 index 0000000000..1c47fbeb73 Binary files /dev/null and b/sound/items/storage/pillbottle.ogg differ diff --git a/sound/items/storage/toolbox.ogg b/sound/items/storage/toolbox.ogg new file mode 100644 index 0000000000..ec1ff0cde5 Binary files /dev/null and b/sound/items/storage/toolbox.ogg differ diff --git a/sound/machines/apc_nopower.ogg b/sound/machines/apc_nopower.ogg new file mode 100644 index 0000000000..b73c50d9b0 Binary files /dev/null and b/sound/machines/apc_nopower.ogg differ diff --git a/sound/machines/buttonbeep.ogg b/sound/machines/buttonbeep.ogg new file mode 100644 index 0000000000..347ea13544 Binary files /dev/null and b/sound/machines/buttonbeep.ogg differ diff --git a/sound/machines/id_swipe.ogg b/sound/machines/id_swipe.ogg new file mode 100644 index 0000000000..4f00bb3610 Binary files /dev/null and b/sound/machines/id_swipe.ogg differ diff --git a/sound/machines/pda_click.ogg b/sound/machines/pda_click.ogg new file mode 100644 index 0000000000..bed5b691f5 Binary files /dev/null and b/sound/machines/pda_click.ogg differ diff --git a/sound/machines/reagent_dispense.ogg b/sound/machines/reagent_dispense.ogg new file mode 100644 index 0000000000..e94e8567c6 Binary files /dev/null and b/sound/machines/reagent_dispense.ogg differ diff --git a/sound/machines/thruster.ogg b/sound/machines/thruster.ogg new file mode 100644 index 0000000000..7564bde67a Binary files /dev/null and b/sound/machines/thruster.ogg differ diff --git a/sound/machines/vending/vending_cans.ogg b/sound/machines/vending/vending_cans.ogg new file mode 100644 index 0000000000..84b9d520b8 Binary files /dev/null and b/sound/machines/vending/vending_cans.ogg differ diff --git a/sound/machines/vending/vending_coffee.ogg b/sound/machines/vending/vending_coffee.ogg new file mode 100644 index 0000000000..31edabc50a Binary files /dev/null and b/sound/machines/vending/vending_coffee.ogg differ diff --git a/sound/machines/vending/vending_drop.ogg b/sound/machines/vending/vending_drop.ogg new file mode 100644 index 0000000000..4e0ed7dd6d Binary files /dev/null and b/sound/machines/vending/vending_drop.ogg differ diff --git a/sound/mecha/fighter_entered.ogg b/sound/mecha/fighter_entered.ogg new file mode 100644 index 0000000000..799b329b4a Binary files /dev/null and b/sound/mecha/fighter_entered.ogg differ diff --git a/sound/mecha/fighter_entered_bad.ogg b/sound/mecha/fighter_entered_bad.ogg new file mode 100644 index 0000000000..b311288e96 Binary files /dev/null and b/sound/mecha/fighter_entered_bad.ogg differ diff --git a/sound/misc/notice3.ogg b/sound/misc/notice3.ogg new file mode 100644 index 0000000000..ad02a52354 Binary files /dev/null and b/sound/misc/notice3.ogg differ diff --git a/sound/weapons/attributions.txt b/sound/weapons/attributions.txt new file mode 100644 index 0000000000..fe2911c873 --- /dev/null +++ b/sound/weapons/attributions.txt @@ -0,0 +1,9 @@ +bulletflyby sounds are by kMoon on freesound.org: +bulletflyby:https://www.freesound.org/people/kMoon/sounds/90782/ +bulletflyby2:https://www.freesound.org/people/kMoon/sounds/90784/ +bulletflyby3:https://www.freesound.org/people/kMoon/sounds/90783/ +No changes were made to the sounds, and all credit goes to kMoon. + +batreflect sounds are by shadoWisp on freesound.org: +https://www.freesound.org/people/shadoWisp/sounds/252044/ +Small parts of the sound are cut out and used. \ No newline at end of file diff --git a/sound/weapons/bulletflyby.ogg b/sound/weapons/bulletflyby.ogg new file mode 100644 index 0000000000..ce9405a577 Binary files /dev/null and b/sound/weapons/bulletflyby.ogg differ diff --git a/sound/weapons/bulletflyby2.ogg b/sound/weapons/bulletflyby2.ogg new file mode 100644 index 0000000000..63956534ba Binary files /dev/null and b/sound/weapons/bulletflyby2.ogg differ diff --git a/sound/weapons/bulletflyby3.ogg b/sound/weapons/bulletflyby3.ogg new file mode 100644 index 0000000000..e8afd28b06 Binary files /dev/null and b/sound/weapons/bulletflyby3.ogg differ diff --git a/sound/weapons/effects/batreflect1.ogg b/sound/weapons/effects/batreflect1.ogg new file mode 100644 index 0000000000..43f19710c5 Binary files /dev/null and b/sound/weapons/effects/batreflect1.ogg differ diff --git a/sound/weapons/effects/batreflect2.ogg b/sound/weapons/effects/batreflect2.ogg new file mode 100644 index 0000000000..d58e4e906c Binary files /dev/null and b/sound/weapons/effects/batreflect2.ogg differ diff --git a/sound/weapons/effects/ric1.ogg b/sound/weapons/effects/ric1.ogg new file mode 100644 index 0000000000..9f22888722 Binary files /dev/null and b/sound/weapons/effects/ric1.ogg differ diff --git a/sound/weapons/effects/ric2.ogg b/sound/weapons/effects/ric2.ogg new file mode 100644 index 0000000000..03d02b8c45 Binary files /dev/null and b/sound/weapons/effects/ric2.ogg differ diff --git a/sound/weapons/effects/ric3.ogg b/sound/weapons/effects/ric3.ogg new file mode 100644 index 0000000000..2d7a3ce8a0 Binary files /dev/null and b/sound/weapons/effects/ric3.ogg differ diff --git a/sound/weapons/effects/ric4.ogg b/sound/weapons/effects/ric4.ogg new file mode 100644 index 0000000000..e0193a690b Binary files /dev/null and b/sound/weapons/effects/ric4.ogg differ diff --git a/sound/weapons/effects/ric5.ogg b/sound/weapons/effects/ric5.ogg new file mode 100644 index 0000000000..b1064eece1 Binary files /dev/null and b/sound/weapons/effects/ric5.ogg differ diff --git a/sound/weapons/effects/searwall.ogg b/sound/weapons/effects/searwall.ogg new file mode 100644 index 0000000000..6a29326f24 Binary files /dev/null and b/sound/weapons/effects/searwall.ogg differ diff --git a/sound/weapons/holster/holsterin.ogg b/sound/weapons/holster/holsterin.ogg new file mode 100644 index 0000000000..58ef29b549 Binary files /dev/null and b/sound/weapons/holster/holsterin.ogg differ diff --git a/sound/weapons/holster/holsterout.ogg b/sound/weapons/holster/holsterout.ogg new file mode 100644 index 0000000000..a61e4f7708 Binary files /dev/null and b/sound/weapons/holster/holsterout.ogg differ diff --git a/sound/weapons/holster/sheathin.ogg b/sound/weapons/holster/sheathin.ogg new file mode 100644 index 0000000000..10fcbdf460 Binary files /dev/null and b/sound/weapons/holster/sheathin.ogg differ diff --git a/sound/weapons/holster/sheathout.ogg b/sound/weapons/holster/sheathout.ogg new file mode 100644 index 0000000000..6b20f970a0 Binary files /dev/null and b/sound/weapons/holster/sheathout.ogg differ diff --git a/sound/weapons/ionrifle.ogg b/sound/weapons/ionrifle.ogg new file mode 100644 index 0000000000..b808068e55 Binary files /dev/null and b/sound/weapons/ionrifle.ogg differ diff --git a/sound/weapons/mine/pickaxe1.ogg b/sound/weapons/mine/pickaxe1.ogg new file mode 100644 index 0000000000..1446a3d356 Binary files /dev/null and b/sound/weapons/mine/pickaxe1.ogg differ diff --git a/sound/weapons/mine/pickaxe2.ogg b/sound/weapons/mine/pickaxe2.ogg new file mode 100644 index 0000000000..4d0ee1bdca Binary files /dev/null and b/sound/weapons/mine/pickaxe2.ogg differ diff --git a/sound/weapons/mine/pickaxe3.ogg b/sound/weapons/mine/pickaxe3.ogg new file mode 100644 index 0000000000..54dc3ba8d5 Binary files /dev/null and b/sound/weapons/mine/pickaxe3.ogg differ diff --git a/sound/weapons/mine/pickaxe4.ogg b/sound/weapons/mine/pickaxe4.ogg new file mode 100644 index 0000000000..fb75e4efb8 Binary files /dev/null and b/sound/weapons/mine/pickaxe4.ogg differ diff --git a/sound/weapons/sear.ogg b/sound/weapons/sear.ogg new file mode 100644 index 0000000000..c6d5f6846c Binary files /dev/null and b/sound/weapons/sear.ogg differ diff --git a/sound/weapons/zapbang.ogg b/sound/weapons/zapbang.ogg new file mode 100644 index 0000000000..4e14e30a11 Binary files /dev/null and b/sound/weapons/zapbang.ogg differ diff --git a/tools/travis/compile_and_run.sh b/tools/travis/compile_and_run.sh new file mode 100644 index 0000000000..b4f9e403b0 --- /dev/null +++ b/tools/travis/compile_and_run.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +RED='\033[0;31m' +NC='\033[0m' + +source $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}/byond/bin/byondsetup + +# Copy example configs +cp config/example/* config/ + +# Define any unit test defines that need to run +echo "#define ${TEST_DEFINE} 1" > ${TEST_FILE} + +# Compile a copy of the codebase +DreamMaker $BASENAME.dme +exitVal=$? + +# Compile failed on map_test +if [ $exitVal -gt 0 ] && [ $TEST_DEFINE = "MAP_TEST" ]; then + echo "${RED}Some POIs appear to contain map-specific objects or code. Please isolate map-specific items/code from POIs.${NC}" + exit 1 +# Compile failed on away_mission_test +elif [ $exitVal -gt 0 ] && [ $TEST_DEFINE = "AWAY_MISSION_TEST" ]; then + echo "${RED}Some away missions failed to compile. Please check them for missing items/objects by trying to compile them in DreamMaker.${NC}" + exit 1 +# Compile failed on unit_test +elif [ $exitVal -gt 0 ] && [ $TEST_DEFINE = "UNIT_TEST" ]; then + echo "${RED}Compiling the codebase normally failed. Please review the compile errors and correct them, usually before making your PR.${NC}" + exit 1 +fi + +# If we're running, run +if [ $RUN -eq 1 ]; +then + DreamDaemon $BASENAME.dmb -invisible -trusted -core 2>&1 | tee log.txt; + grep "All Unit Tests Passed" log.txt + grep "Caught 0 Runtimes" log.txt +fi diff --git a/install-byond.sh b/tools/travis/install_byond.sh similarity index 100% rename from install-byond.sh rename to tools/travis/install_byond.sh diff --git a/tools/travis/validate_files.sh b/tools/travis/validate_files.sh new file mode 100644 index 0000000000..1b5a756903 --- /dev/null +++ b/tools/travis/validate_files.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +RED='\033[0;31m' +NC='\033[0m' +FAILED=0 + +#Checking for step_x/step_y defined in any maps anywhere. +(! grep 'step_[xy]' maps/**/*.dmm) +retVal=$? +if [ $retVal -ne 0 ]; then + echo -e "${RED}The variables 'step_x' and 'step_y' are present on a map, and they 'break' movement ingame.${NC}" + FAILED=1 +fi + +#Checking for 'tag' set to something on maps +(! grep -Pn '( |\t|;|{)tag( ?)=' maps/**/*.dmm) +retVal=$? +if [ $retVal -ne 0 ]; then + echo -e "${RED}A map has 'tag' set on an atom. It may cause problems and should be removed.${NC}" + FAILED=1 +fi + +#Checking for duplicate nanoui templates +(! find nano/templates/ -type f -exec md5sum {} + | sort | uniq -D -w 32 | grep nano) +retVal=$? +if [ $retVal -ne 0 ]; then + echo -e "${RED}There are identical nanoui template files present.${NC}" + FAILED=1 +fi + +#Checking for broken HTML tags (didn't close the quote for class) +(! grep -En "<\s*span\s+class\s*=\s*('[^'>]+|[^'>]+')\s*>" **/*.dm) +retVal=$? +if [ $retVal -ne 0 ]; then + echo -e "${RED}A broken span tag class is present (check quotes).${NC}" + FAILED=1 +fi + +#Checking for any 'checked' maps that include 'test' +(! grep 'maps\\.*test.*' *.dme) +retVal=$? +if [ $retVal -ne 0 ]; then + echo -e "${RED}A map containing the word 'test' is included. This is not allowed to be committed.${NC}" + FAILED=1 +fi + +#Check for weird indentation in any .dm files +awk -f tools/indentation.awk **/*.dm +retVal=$? +if [ $retVal -ne 0 ]; then + echo -e "${RED}Indention testing failed. Please see results and fix indentation.${NC}" + FAILED=1 +fi + +#Checking for a change to html/changelogs/example.yml +md5sum -c - <<< "88490b460c26947f5ec1ab1bb9fa9f17 *html/changelogs/example.yml" +retVal=$? +if [ $retVal -ne 0 ]; then + echo -e "${RED}Do not modify the example.yml changelog file.${NC}" + FAILED=1 +fi + +#Checking for color macros +(num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting ${MACRO_COUNT} or less)"; [ $num -le ${MACRO_COUNT} ]) +retVal=$? +if [ $retVal -ne 0 ]; then + echo -e "${RED}Do not use any byond color macros (such as \blue), they are deprecated.${NC}" + FAILED=1 +fi + +#Checking for missed tags +python tools/TagMatcher/tag-matcher.py ../.. +retVal=$? +if [ $retVal -ne 0 ]; then + echo -e "${RED}Some HTML tags are missing their opening/closing partners. Please correct this.${NC}" + FAILED=1 +fi + +# Quit with our status code +exit $FAILED \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index 5510791d24..b018ff9653 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -65,11 +65,13 @@ #include "code\__defines\mobs_yw.dm" #include "code\__defines\nifsoft.dm" #include "code\__defines\objects.dm" +#include "code\__defines\overmap.dm" #include "code\__defines\planets.dm" #include "code\__defines\process_scheduler.dm" #include "code\__defines\qdel.dm" #include "code\__defines\research.dm" #include "code\__defines\roguemining_vr.dm" +#include "code\__defines\shuttle.dm" #include "code\__defines\server_tools.config.dm" #include "code\__defines\server_tools.dm" #include "code\__defines\sound.dm" @@ -162,6 +164,7 @@ #include "code\_onclick\hud\robot_vr.dm" #include "code\_onclick\hud\screen_objects.dm" #include "code\_onclick\hud\screen_objects_vr.dm" +#include "code\_onclick\hud\skybox.dm" #include "code\_onclick\hud\spell_screen_objects.dm" #include "code\ATMOSPHERICS\_atmos_setup.dm" #include "code\ATMOSPHERICS\_atmospherics_helpers.dm" @@ -226,19 +229,17 @@ #include "code\controllers\subsystem.dm" #include "code\controllers\verbs.dm" #include "code\controllers\observer_listener\atom\observer.dm" -#include "code\controllers\Processes\alarm.dm" #include "code\controllers\Processes\emergencyShuttle.dm" #include "code\controllers\Processes\game_master.dm" -#include "code\controllers\Processes\supply.dm" #include "code\controllers\Processes\ticker.dm" #include "code\controllers\ProcessScheduler\core\process.dm" #include "code\controllers\ProcessScheduler\core\processScheduler.dm" #include "code\controllers\subsystems\ai.dm" #include "code\controllers\subsystems\air.dm" #include "code\controllers\subsystems\airflow.dm" +#include "code\controllers\subsystems\alarm.dm" #include "code\controllers\subsystems\assets.dm" #include "code\controllers\subsystems\atoms.dm" -#include "code\controllers\subsystems\bellies_vr.dm" #include "code\controllers\subsystems\character_setup.dm" #include "code\controllers\subsystems\chat.dm" #include "code\controllers\subsystems\circuits.dm" @@ -246,6 +247,7 @@ #include "code\controllers\subsystems\garbage.dm" #include "code\controllers\subsystems\holomaps.dm" #include "code\controllers\subsystems\inactivity.dm" +#include "code\controllers\subsystems\job.dm" #include "code\controllers\subsystems\lighting.dm" #include "code\controllers\subsystems\machines.dm" #include "code\controllers\subsystems\mapping_vr.dm" @@ -258,13 +260,16 @@ #include "code\controllers\subsystems\planets.dm" #include "code\controllers\subsystems\radiation.dm" #include "code\controllers\subsystems\shuttles.dm" +#include "code\controllers\subsystems\skybox.dm" #include "code\controllers\subsystems\sqlite.dm" #include "code\controllers\subsystems\sun.dm" +#include "code\controllers\subsystems\supply.dm" #include "code\controllers\subsystems\time_track.dm" #include "code\controllers\subsystems\timer.dm" #include "code\controllers\subsystems\transcore_vr.dm" #include "code\controllers\subsystems\vote.dm" #include "code\controllers\subsystems\xenoarch.dm" +#include "code\controllers\subsystems\processing\bellies_vr.dm" #include "code\controllers\subsystems\processing\chemistry.dm" #include "code\controllers\subsystems\processing\fastprocess.dm" #include "code\controllers\subsystems\processing\obj.dm" @@ -348,6 +353,9 @@ #include "code\datums\observation\logged_in.dm" #include "code\datums\observation\moved.dm" #include "code\datums\observation\observation.dm" +#include "code\datums\observation\shuttle_added.dm" +#include "code\datums\observation\shuttle_moved.dm" +#include "code\datums\observation\stat_set.dm" #include "code\datums\observation\turf_changed.dm" #include "code\datums\observation\unequipped.dm" #include "code\datums\observation\z_moved.dm" @@ -434,6 +442,7 @@ #include "code\datums\uplink\implants.dm" #include "code\datums\uplink\medical.dm" #include "code\datums\uplink\medical_vr.dm" +#include "code\datums\uplink\resources.dm" #include "code\datums\uplink\stealth_items.dm" #include "code\datums\uplink\stealthy_weapons.dm" #include "code\datums\uplink\telecrystals.dm" @@ -478,10 +487,12 @@ #include "code\game\base_turf.dm" #include "code\game\periodic_news.dm" #include "code\game\response_team.dm" +#include "code\game\response_team_vr.dm" #include "code\game\shuttle_engines.dm" #include "code\game\skincmd.dm" #include "code\game\sound.dm" #include "code\game\trader_visit.dm" +#include "code\game\trader_visit_vr.dm" #include "code\game\world.dm" #include "code\game\antagonist\_antagonist_setup.dm" #include "code\game\antagonist\antagonist.dm" @@ -524,6 +535,7 @@ #include "code\game\area\Away Mission areas.dm" #include "code\game\area\Space Station 13 areas.dm" #include "code\game\area\Space Station 13 areas_vr.dm" +#include "code\game\area\ss13_deprecated_areas.dm" #include "code\game\area\Space Station 13 areas_yw.dm" #include "code\game\dna\dna2.dm" #include "code\game\dna\dna2_domutcheck.dm" @@ -718,6 +730,7 @@ #include "code\game\jobs\jobs.dm" #include "code\game\jobs\whitelist.dm" #include "code\game\jobs\whitelist_vr.dm" +#include "code\game\jobs\job\_alt_title.dm" #include "code\game\jobs\job\assistant.dm" #include "code\game\jobs\job\assistant_vr.dm" #include "code\game\jobs\job\blueshield.dm" @@ -726,6 +739,8 @@ #include "code\game\jobs\job\civilian.dm" #include "code\game\jobs\job\civilian_chaplain.dm" #include "code\game\jobs\job\civilian_vr.dm" +#include "code\game\jobs\job\department.dm" +#include "code\game\jobs\job\department_vr.dm" #include "code\game\jobs\job\engineering.dm" #include "code\game\jobs\job\engineering_vr.dm" #include "code\game\jobs\job\job.dm" @@ -743,6 +758,7 @@ #include "code\game\machinery\adv_med.dm" #include "code\game\machinery\adv_med_vr.dm" #include "code\game\machinery\ai_slipper.dm" +#include "code\game\machinery\air_alarm.dm" #include "code\game\machinery\airconditioner_vr.dm" #include "code\game\machinery\airconditioner_yw.dm" #include "code\game\machinery\alarm.dm" @@ -764,6 +780,7 @@ #include "code\game\machinery\doorbell_vr.dm" #include "code\game\machinery\doppler_array.dm" #include "code\game\machinery\exonet_node.dm" +#include "code\game\machinery\fire_alarm.dm" #include "code\game\machinery\flasher.dm" #include "code\game\machinery\floodlight.dm" #include "code\game\machinery\floor_light.dm" @@ -788,7 +805,9 @@ #include "code\game\machinery\painter_vr.dm" #include "code\game\machinery\partslathe_vr.dm" #include "code\game\machinery\pda_multicaster.dm" +#include "code\game\machinery\pointdefense.dm" #include "code\game\machinery\portable_turret.dm" +#include "code\game\machinery\portable_turret_vr.dm" #include "code\game\machinery\recharger.dm" #include "code\game\machinery\rechargestation.dm" #include "code\game\machinery\records_scanner.dm" @@ -887,6 +906,7 @@ #include "code\game\machinery\embedded_controller\docking_program_multi.dm" #include "code\game\machinery\embedded_controller\embedded_controller_base.dm" #include "code\game\machinery\embedded_controller\embedded_program_base.dm" +#include "code\game\machinery\embedded_controller\mapping_helpers.dm" #include "code\game\machinery\embedded_controller\simple_docking_controller.dm" #include "code\game\machinery\pipe\construction.dm" #include "code\game\machinery\pipe\pipe_dispenser.dm" @@ -915,34 +935,41 @@ #include "code\game\mecha\mecha_wreckage.dm" #include "code\game\mecha\combat\combat.dm" #include "code\game\mecha\combat\durand.dm" +#include "code\game\mecha\combat\fighter.dm" #include "code\game\mecha\combat\gorilla.dm" #include "code\game\mecha\combat\gygax.dm" #include "code\game\mecha\combat\marauder.dm" #include "code\game\mecha\combat\phazon.dm" #include "code\game\mecha\equipment\mecha_equipment.dm" +#include "code\game\mecha\equipment\mecha_equipment_dynamicprocs.dm" #include "code\game\mecha\equipment\tools\armor_melee.dm" #include "code\game\mecha\equipment\tools\armor_ranged.dm" #include "code\game\mecha\equipment\tools\cable_layer.dm" #include "code\game\mecha\equipment\tools\catapult.dm" #include "code\game\mecha\equipment\tools\clamp.dm" +#include "code\game\mecha\equipment\tools\cloak.dm" #include "code\game\mecha\equipment\tools\drill.dm" #include "code\game\mecha\equipment\tools\energy_relay.dm" #include "code\game\mecha\equipment\tools\extinguisher.dm" #include "code\game\mecha\equipment\tools\generator.dm" +#include "code\game\mecha\equipment\tools\hardpoint_actuator.dm" +#include "code\game\mecha\equipment\tools\inflatables.dm" #include "code\game\mecha\equipment\tools\jetpack.dm" #include "code\game\mecha\equipment\tools\medigun_vr.dm" #include "code\game\mecha\equipment\tools\orescanner.dm" #include "code\game\mecha\equipment\tools\passenger.dm" +#include "code\game\mecha\equipment\tools\powertool.dm" #include "code\game\mecha\equipment\tools\rcd.dm" #include "code\game\mecha\equipment\tools\repair_droid.dm" #include "code\game\mecha\equipment\tools\shield.dm" +#include "code\game\mecha\equipment\tools\shield_omni.dm" #include "code\game\mecha\equipment\tools\sleeper.dm" #include "code\game\mecha\equipment\tools\speedboost.dm" #include "code\game\mecha\equipment\tools\syringe_gun.dm" #include "code\game\mecha\equipment\tools\teleporter.dm" #include "code\game\mecha\equipment\tools\tools.dm" +#include "code\game\mecha\equipment\tools\weldinglaser.dm" #include "code\game\mecha\equipment\tools\wormhole.dm" -#include "code\game\mecha\equipment\tools\wrench.dm" #include "code\game\mecha\equipment\weapons\honk.dm" #include "code\game\mecha\equipment\weapons\weapons.dm" #include "code\game\mecha\equipment\weapons\ballistic\automatic.dm" @@ -992,6 +1019,7 @@ #include "code\game\objects\effects\glowshroom.dm" #include "code\game\objects\effects\item_pickup_ghost.dm" #include "code\game\objects\effects\landmarks.dm" +#include "code\game\objects\effects\landmarks_vr.dm" #include "code\game\objects\effects\manifest.dm" #include "code\game\objects\effects\mines.dm" #include "code\game\objects\effects\misc.dm" @@ -1150,6 +1178,7 @@ #include "code\game\objects\items\weapons\autopsy.dm" #include "code\game\objects\items\weapons\bones.dm" #include "code\game\objects\items\weapons\candle.dm" +#include "code\game\objects\items\weapons\canes.dm" #include "code\game\objects\items\weapons\cards_ids_vr.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" #include "code\game\objects\items\weapons\clown_items.dm" @@ -1213,6 +1242,7 @@ #include "code\game\objects\items\weapons\circuitboards\machinery\recharge_station.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\research.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\shieldgen.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\ships.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\telecomms.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\unary_atmos.dm" #include "code\game\objects\items\weapons\grenades\anti_photon_grenade.dm" @@ -1356,6 +1386,7 @@ #include "code\game\objects\structures\salvageable.dm" #include "code\game\objects\structures\signs.dm" #include "code\game\objects\structures\simple_doors.dm" +#include "code\game\objects\structures\simple_doors_vr.dm" #include "code\game\objects\structures\snowman.dm" #include "code\game\objects\structures\stasis_cage.dm" #include "code\game\objects\structures\tank_dispenser.dm" @@ -1413,6 +1444,7 @@ #include "code\game\objects\structures\ghost_pods\silicon.dm" #include "code\game\objects\structures\ghost_pods\silicon_vr.dm" #include "code\game\objects\structures\props\alien_props.dm" +#include "code\game\objects\structures\props\alien_props_vr.dm" #include "code\game\objects\structures\props\beam_prism.dm" #include "code\game\objects\structures\props\blackbox.dm" #include "code\game\objects\structures\props\fake_ai.dm" @@ -1571,6 +1603,7 @@ #include "code\modules\admin\verbs\debug_vr.dm" #include "code\modules\admin\verbs\diagnostics.dm" #include "code\modules\admin\verbs\dice.dm" +#include "code\modules\admin\verbs\fps.dm" #include "code\modules\admin\verbs\getlogs.dm" #include "code\modules\admin\verbs\grief_fixers.dm" #include "code\modules\admin\verbs\lightning_strike.dm" @@ -1585,7 +1618,6 @@ #include "code\modules\admin\verbs\smite.dm" #include "code\modules\admin\verbs\smite_vr.dm" #include "code\modules\admin\verbs\striketeam.dm" -#include "code\modules\admin\verbs\ticklag.dm" #include "code\modules\admin\verbs\tripAI.dm" #include "code\modules\admin\verbs\SDQL2\SDQL_2.dm" #include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm" @@ -1755,6 +1787,7 @@ #include "code\modules\clothing\glasses\glasses_vr.dm" #include "code\modules\clothing\glasses\hud.dm" #include "code\modules\clothing\glasses\hud_vr.dm" +#include "code\modules\clothing\gloves\antagonist.dm" #include "code\modules\clothing\gloves\arm_guards.dm" #include "code\modules\clothing\gloves\arm_guards_vr.dm" #include "code\modules\clothing\gloves\boxing.dm" @@ -1768,6 +1801,7 @@ #include "code\modules\clothing\head\helmet.dm" #include "code\modules\clothing\head\helmet_vr.dm" #include "code\modules\clothing\head\hood.dm" +#include "code\modules\clothing\head\hood_vr.dm" #include "code\modules\clothing\head\hood_yw.dm" #include "code\modules\clothing\head\jobs.dm" #include "code\modules\clothing\head\jobs_vr.dm" @@ -1808,14 +1842,27 @@ #include "code\modules\clothing\spacesuits\rig\rig_pieces_vr.dm" #include "code\modules\clothing\spacesuits\rig\rig_verbs.dm" #include "code\modules\clothing\spacesuits\rig\rig_wiring.dm" -#include "code\modules\clothing\spacesuits\rig\modules\combat.dm" -#include "code\modules\clothing\spacesuits\rig\modules\combat_vr.dm" -#include "code\modules\clothing\spacesuits\rig\modules\computer.dm" #include "code\modules\clothing\spacesuits\rig\modules\modules.dm" -#include "code\modules\clothing\spacesuits\rig\modules\ninja.dm" -#include "code\modules\clothing\spacesuits\rig\modules\utility.dm" -#include "code\modules\clothing\spacesuits\rig\modules\utility_vr.dm" -#include "code\modules\clothing\spacesuits\rig\modules\vision.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\ai_container.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\chem_dispenser.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\cleaner_launcher.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\cloak.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\datajack.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\device.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\electrowarfare.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\grenade_launcher.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\inhand_fabricator.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\jetpack.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\metalfoam_launcher.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\mounted_gun.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\pat_module_vr.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\powersink.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\rescue_pharm_vr.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\self_destruct.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\sprinter.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\teleporter.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\vision.dm" +#include "code\modules\clothing\spacesuits\rig\modules\specific\voice.dm" #include "code\modules\clothing\spacesuits\rig\suits\alien.dm" #include "code\modules\clothing\spacesuits\rig\suits\combat.dm" #include "code\modules\clothing\spacesuits\rig\suits\ert.dm" @@ -1823,6 +1870,7 @@ #include "code\modules\clothing\spacesuits\rig\suits\light.dm" #include "code\modules\clothing\spacesuits\rig\suits\merc.dm" #include "code\modules\clothing\spacesuits\rig\suits\pmc.dm" +#include "code\modules\clothing\spacesuits\rig\suits\robotics.dm" #include "code\modules\clothing\spacesuits\rig\suits\station.dm" #include "code\modules\clothing\spacesuits\rig\suits\station_vr.dm" #include "code\modules\clothing\spacesuits\void\merc.dm" @@ -1968,7 +2016,7 @@ #include "code\modules\events\spider_migration_yw.dm" #include "code\modules\events\spontaneous_appendicitis.dm" #include "code\modules\events\spontaneous_appendicitis_vr.dm" -#include "code\modules\events\supply_demand.dm" +#include "code\modules\events\supply_demand_vr.dm" #include "code\modules\events\viral_infection.dm" #include "code\modules\events\wallrot.dm" #include "code\modules\events\window_break.dm" @@ -2202,6 +2250,10 @@ #include "code\modules\lighting\lighting_setup.dm" #include "code\modules\lighting\lighting_source.dm" #include "code\modules\lighting\lighting_turf.dm" +#include "code\modules\looking_glass\lg_area.dm" +#include "code\modules\looking_glass\lg_console.dm" +#include "code\modules\looking_glass\lg_imageholder.dm" +#include "code\modules\looking_glass\lg_turfs.dm" #include "code\modules\lore_codex\codex.dm" #include "code\modules\lore_codex\codex_tree.dm" #include "code\modules\lore_codex\pages.dm" @@ -2255,9 +2307,9 @@ #include "code\modules\mining\ore.dm" #include "code\modules\mining\ore_box.dm" #include "code\modules\mining\ore_datum.dm" -#include "code\modules\mining\ore_datum_vr.dm" #include "code\modules\mining\resonator_vr.dm" #include "code\modules\mining\shelter_atoms.dm" +#include "code\modules\mining\shelter_atoms_vr.dm" #include "code\modules\mining\shelters.dm" #include "code\modules\mining\drilling\drill.dm" #include "code\modules\mining\drilling\scanner.dm" @@ -2288,11 +2340,14 @@ #include "code\modules\mob\mob_transformation_simple.dm" #include "code\modules\mob\say.dm" #include "code\modules\mob\say_vr.dm" +#include "code\modules\mob\skillset.dm" #include "code\modules\mob\transform_procs.dm" #include "code\modules\mob\typing_indicator.dm" #include "code\modules\mob\update_icons.dm" #include "code\modules\mob\_modifiers\aura.dm" #include "code\modules\mob\_modifiers\cloning.dm" +#include "code\modules\mob\_modifiers\feysight.dm" +#include "code\modules\mob\_modifiers\fire.dm" #include "code\modules\mob\_modifiers\medical.dm" #include "code\modules\mob\_modifiers\modifiers.dm" #include "code\modules\mob\_modifiers\modifiers_misc.dm" @@ -2671,6 +2726,7 @@ #include "code\modules\mob\living\simple_mob\subtypes\mechanical\mechanical.dm" #include "code\modules\mob\living\simple_mob\subtypes\mechanical\mechanical_vr.dm" #include "code\modules\mob\living\simple_mob\subtypes\mechanical\viscerator.dm" +#include "code\modules\mob\living\simple_mob\subtypes\mechanical\wahlem_vr.dm" #include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\hivebot.dm" #include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\hivebot_vr.dm" #include "code\modules\mob\living\simple_mob\subtypes\mechanical\hivebot\ranged_damage.dm" @@ -2913,14 +2969,26 @@ #include "code\modules\organs\subtypes\vox.dm" #include "code\modules\organs\subtypes\vox_vr.dm" #include "code\modules\organs\subtypes\xenos.dm" -#include "code\modules\overmap\_defines.dm" +#include "code\modules\overmap\bluespace_rift_vr.dm" +#include "code\modules\overmap\overmap_object.dm" +#include "code\modules\overmap\overmap_shuttle.dm" #include "code\modules\overmap\sectors.dm" +#include "code\modules\overmap\spacetravel.dm" +#include "code\modules\overmap\turfs.dm" +#include "code\modules\overmap\events\event_handler.dm" +#include "code\modules\overmap\events\generation.dm" +#include "code\modules\overmap\events\overmap_event.dm" +#include "code\modules\overmap\ships\landable.dm" #include "code\modules\overmap\ships\ship.dm" +#include "code\modules\overmap\ships\computers\computer_shims.dm" #include "code\modules\overmap\ships\computers\engine_control.dm" #include "code\modules\overmap\ships\computers\helm.dm" +#include "code\modules\overmap\ships\computers\sensors.dm" +#include "code\modules\overmap\ships\computers\ship.dm" #include "code\modules\overmap\ships\computers\shuttle.dm" #include "code\modules\overmap\ships\engines\engine.dm" -#include "code\modules\overmap\ships\engines\thermal.dm" +#include "code\modules\overmap\ships\engines\gas_thruster.dm" +#include "code\modules\overmap\ships\engines\ion_thruster.dm" #include "code\modules\paperwork\adminpaper.dm" #include "code\modules\paperwork\carbonpaper.dm" #include "code\modules\paperwork\clipboard.dm" @@ -2976,6 +3044,7 @@ #include "code\modules\power\powernet.dm" #include "code\modules\power\smes.dm" #include "code\modules\power\smes_construction.dm" +#include "code\modules\power\smes_vr.dm" #include "code\modules\power\solar.dm" #include "code\modules\power\terminal.dm" #include "code\modules\power\tracker.dm" @@ -3060,6 +3129,7 @@ #include "code\modules\projectiles\guns\launcher\rocket.dm" #include "code\modules\projectiles\guns\launcher\syringe_gun.dm" #include "code\modules\projectiles\guns\magnetic\bore.dm" +#include "code\modules\projectiles\guns\magnetic\gasthrower.dm" #include "code\modules\projectiles\guns\magnetic\magnetic.dm" #include "code\modules\projectiles\guns\magnetic\magnetic_construction.dm" #include "code\modules\projectiles\guns\magnetic\magnetic_railgun.dm" @@ -3189,7 +3259,6 @@ #include "code\modules\research\rdconsole.dm" #include "code\modules\research\rdmachines.dm" #include "code\modules\research\research.dm" -#include "code\modules\research\rigs_vr.dm" #include "code\modules\research\server.dm" #include "code\modules\research\teleport_vr.dm" #include "code\modules\research\designs\ai_holders.dm" @@ -3223,6 +3292,7 @@ #include "code\modules\research\designs\circuits\ai_modules.dm" #include "code\modules\research\designs\circuits\circuits.dm" #include "code\modules\research\designs\circuits\circuits_vr.dm" +#include "code\modules\research\designs\circuits\disks.dm" #include "code\modules\resleeving\circuitboards.dm" #include "code\modules\resleeving\computers.dm" #include "code\modules\resleeving\designer.dm" @@ -3273,14 +3343,16 @@ #include "code\modules\shieldgen\shield_diffuser.dm" #include "code\modules\shieldgen\shield_gen.dm" #include "code\modules\shieldgen\shield_gen_external.dm" -#include "code\modules\shuttles\_defines.dm" #include "code\modules\shuttles\antagonist.dm" #include "code\modules\shuttles\crashes.dm" #include "code\modules\shuttles\departmental.dm" #include "code\modules\shuttles\escape_pods.dm" +#include "code\modules\shuttles\landmarks.dm" #include "code\modules\shuttles\shuttle.dm" +#include "code\modules\shuttles\shuttle_autodock.dm" #include "code\modules\shuttles\shuttle_arrivals.dm" #include "code\modules\shuttles\shuttle_console.dm" +#include "code\modules\shuttles\shuttle_console_multi.dm" #include "code\modules\shuttles\shuttle_emergency.dm" #include "code\modules\shuttles\shuttle_ferry.dm" #include "code\modules\shuttles\shuttle_specops.dm" @@ -3360,7 +3432,6 @@ #include "code\modules\turbolift\turbolift_door_vr.dm" #include "code\modules\turbolift\turbolift_floor.dm" #include "code\modules\turbolift\turbolift_map.dm" -#include "code\modules\turbolift\turbolift_process.dm" #include "code\modules\turbolift\turbolift_turfs.dm" #include "code\modules\vchat\vchat_client.dm" #include "code\modules\vchat\vchat_db.dm" @@ -3456,28 +3527,38 @@ #include "code\modules\xenoarcheaology\artifacts\crystal.dm" #include "code\modules\xenoarcheaology\artifacts\gigadrill.dm" #include "code\modules\xenoarcheaology\artifacts\replicator.dm" +#include "code\modules\xenoarcheaology\effects\animate_anomaly.dm" #include "code\modules\xenoarcheaology\effects\badfeeling.dm" #include "code\modules\xenoarcheaology\effects\berserk.dm" +#include "code\modules\xenoarcheaology\effects\cannibal.dm" #include "code\modules\xenoarcheaology\effects\cellcharge.dm" #include "code\modules\xenoarcheaology\effects\celldrain.dm" #include "code\modules\xenoarcheaology\effects\cold.dm" +#include "code\modules\xenoarcheaology\effects\dnaswitch.dm" +#include "code\modules\xenoarcheaology\effects\electric_field.dm" #include "code\modules\xenoarcheaology\effects\emp.dm" +#include "code\modules\xenoarcheaology\effects\feysight.dm" #include "code\modules\xenoarcheaology\effects\forcefield.dm" +#include "code\modules\xenoarcheaology\effects\gaia.dm" #include "code\modules\xenoarcheaology\effects\gasco2.dm" #include "code\modules\xenoarcheaology\effects\gasnitro.dm" #include "code\modules\xenoarcheaology\effects\gasoxy.dm" #include "code\modules\xenoarcheaology\effects\gasphoron.dm" #include "code\modules\xenoarcheaology\effects\gassleeping.dm" #include "code\modules\xenoarcheaology\effects\goodfeeling.dm" +#include "code\modules\xenoarcheaology\effects\gravitational_waves.dm" #include "code\modules\xenoarcheaology\effects\heal.dm" #include "code\modules\xenoarcheaology\effects\heat.dm" #include "code\modules\xenoarcheaology\effects\hurt.dm" +#include "code\modules\xenoarcheaology\effects\poltergeist.dm" #include "code\modules\xenoarcheaology\effects\radiate.dm" +#include "code\modules\xenoarcheaology\effects\resurrect.dm" #include "code\modules\xenoarcheaology\effects\roboheal.dm" #include "code\modules\xenoarcheaology\effects\robohurt.dm" #include "code\modules\xenoarcheaology\effects\sleepy.dm" #include "code\modules\xenoarcheaology\effects\stun.dm" #include "code\modules\xenoarcheaology\effects\teleport.dm" +#include "code\modules\xenoarcheaology\effects\vampire.dm" #include "code\modules\xenoarcheaology\finds\eguns.dm" #include "code\modules\xenoarcheaology\finds\eguns_vr.dm" #include "code\modules\xenoarcheaology\finds\find_spawning.dm" @@ -3506,6 +3587,7 @@ #include "code\modules\xenobio\machinery\processor.dm" #include "code\modules\xgm\xgm_gas_data.dm" #include "code\modules\xgm\xgm_gas_mixture.dm" +#include "code\unit_tests\language_tests.dm" #include "code\unit_tests\loadout_tests.dm" #include "code\unit_tests\map_tests.dm" #include "code\unit_tests\mob_tests.dm" @@ -3536,6 +3618,23 @@ #include "interface\interface.dm" #include "interface\skin.dmf" #include "maps\RandomZLevels\blackmarketpackers.dm" +#include "maps\southern_cross\southern_cross_jobs_vr.dm" +#include "maps\southern_cross\items\encryptionkey_sc.dm" +#include "maps\southern_cross\items\encryptionkey_vr.dm" +#include "maps\southern_cross\items\headset_sc.dm" +#include "maps\southern_cross\items\headset_vr.dm" +#include "maps\southern_cross\items\clothing\sc_accessory.dm" +#include "maps\southern_cross\items\clothing\sc_suit.dm" +#include "maps\southern_cross\items\clothing\sc_under.dm" +#include "maps\southern_cross\job\outfits.dm" +#include "maps\southern_cross\job\outfits_vr.dm" +#include "maps\southern_cross\loadout\loadout_head.dm" +#include "maps\southern_cross\loadout\loadout_suit.dm" +#include "maps\southern_cross\loadout\loadout_uniform.dm" +#include "maps\southern_cross\structures\closets\misc.dm" +#include "maps\southern_cross\structures\closets\misc_vr.dm" +#include "maps\submaps\_helpers.dm" +#include "maps\submaps\_readme.dm" #include "maps\submaps\engine_submaps\engine.dm" #include "maps\submaps\engine_submaps\engine_areas.dm" #include "maps\submaps\engine_submaps_yw\engine_yw.dm"